QlikSense

QlikSenseでQVDファイルを作成する際の注意点

QVD作成注意点
記事内に商品プロモーションを含む場合があります

QVDファイルとは

QVDファイルとは、QlikViewDataファイルの略称です。

QlikViewやQlikSenseから出力されるQlik製品独自の形式のデータファイルです。

このファイルはQlik製品用に最適化された形式であるため、ロードが非常に高速でかつファイルサイズも小さいという特徴があります。

QVDファイルの利用目的

前述しましたようにQVDファイルのロードは非常に高速です。

このため、毎回RDMBSからデータをロードするよりQVDファイルからロードする方が高速でロード時間を短縮することができます。

1つのアプリケーショからのロードだけならまだしも、いくつかのアプリケーションから同じデータをロードする場合はQVDファイルからロードする方が効率的です。

※過去月のデータは更新されないことが前提です。

※QVDファイルを作成した後に追加・更新したデータは反映されませんが、リアルタイムな情報が必要でないケースで、かつ複数のアプリケーションがある場合はこのパターンが効率的です。

QVDファイル作成で注意すべき点

QlikSenseストア
QlikSenseのQVDファイル作成でConnection not foundQlikSenseでQVDを作成するときに陥りがちなエラーとその対処法。 QlikViewとQlikSenseでは仕様が一部異なっています。QlikSenseのSTOREではまず接続許可フォルダの作成が必要です。...

作成するのは更新の可能性がないデータのみ

高速に処理するために確定データを別ファイルに保存しておくという仕組み上、データが更新されないことが前提です。

QVDファイル作成後、データの変更があれば再度QVDデータを作成し直す必要があります。

差分更新の注意点

差分更新(過去データはQVDファイルから取得+最新データはRDBMSから取得)を行う場合、2つの取得データは全く同じ形式である必要があります。

このため、もしRDBMSから取得するロードスクリプトを一部変更した場合は、QVDファイルも作り直す必要があるので注意してください。

テーブル構成が同じなので、2つのLOADデータは結合され1つのテーブルとなります。

AutoNumberHash()関数は使わない

QVDファイル作成のロードスクリプト内で以下のAutoNumberHash()関数を使うのはNGです。

  • AutoNumberHash128()
  • AutoNumberHash256()

AutoNumberHash()関数はロードスクリプト内で複合キーをユニークな単一キーとして自動生成する関数です。

QVDファイル作成と差分更新のロードスクリプトは別物ですので、それぞれで生成されたAutoNumberHashキーは整合が取れません。

QVD作成時は各値をロードし、差分更新で結合する際にAutoNumberHash()関数を使うようにしましょう!

Qlik製品では複合キーが合った場合は内部的にSyntheticキーが生成され処理速度の低下を招きます。

このため、複合キーはあらかじめAutoNumberHash()関数で単一キーとしてロードする方法が推奨されています。

 

ABOUT ME
アズビーパートナーズ
プログラマー→社内SE→SIerのお仕事をしています。 メーカー勤務を経て、中小企業の社内SE、フリーランスなど様々な形態で働いてきました。 業務上生まれた困った…を解決してきたTipsを備忘録も兼ねて公開しています。 困っている誰かのお役に立てれば幸いです。