QVD ファイルでの作業
QVD (QlikView Data) ファイルは、Qlik Sense アプリまたはスクリプトからエクスポートされたデータのテーブルを含むファイルです。QVD はネイティブの Qlik 形式で、Qlik Sense または QlikView でしか書き込みと読み出しを行えません。ファイル形式は、スクリプトからデータを迅速に読み取れるように最適化されており、サイズもコンパクトです。QVD ファイルからのデータの読み取りは、他のデータ ソースから読み取る場合よりも、一般に 10~100 倍速くなっています。
QVD ファイルは、標準 (高速) と最適化 (超高速) の 2 つのモードで読み取ることができます。使用されるモードは、スクリプト エンジンによって自動的に決定されます。
最適化されたロードに関して、いくつかの制限があります。項目の名前は変更できますが、ここで言及されている操作のいずれかによって、最適化されているロードが無効になり、標準のロードとなります。
- ロードされた項目に対する変換。
- where 節を使用すると、Qlik Sense でレコードが解凍されます。
- ロードされた項目でのマップの使用。
QVD ファイルの使用目的
QVD ファイルは多数の目的に使用することができ、どのような状況でも複数の目的を適用できます。少なくとも主に 4 つの目的で使用されます。
-
データベース サーバーの負荷の減少
外部データ ソースから取得するデータ量を大幅に削減できます。これにより、外部データベースおよびネットワーク トラフィックの負荷が減少します。さらに複数のスクリプトが同じデータを共有する場合は、ソース データベースからQVDファイルに一度データをロードするだけで済みます。他のアプリまたはスクリプトでも、この QVD ファイルを使用することで同じデータを活用できます。
-
複数アプリケーションからのデータ統合
binary スクリプト ステートメントでは、単一のアプリから別のアプリまたはスクリプトにデータをロードできますが、QVD ファイルでは、ロード スクリプトで任意の数のアプリまたは他のデータ ソースからのデータを組み合わせることができます。これにより、さまざまな部署の類似データを統合するなど、アプリおよびスクリプトの可能性が広がります。
-
増分
多くの場合、QVD の機能を活用することで、増大するデータベースから新しいレコードだけをロードする増分ロードを簡単に実行できます。
詳細については、「増分ロードにより新規および更新された記録をロード」を参照してください。
Qlik コミュニティが Qlik アプリケーションの自動化 を使用して QVD のロード時間を改善する方法については、「自動化を使用して QVD を分割し、リロードを改善する方法」を参照してください。
QVD ファイルの作成
QVD ファイルは、ロード スクリプト内で Store コマンドを使用して作成し、名前を付けることができます。スクリプトで、以前に読み取ったテーブルまたはその一部を、選択した場所にある明示的に指定されたファイルにエクスポートするように記述します。
詳細については、「Store」を参照してください。
QVD ファイルからのデータのロード
次の方法で、QVDファイルの読み込みやアクセスを実行します。
- 明示的なデータ ソースとしての QVD ファイルのロード。QVDファイルは、その他のテキスト ファイル (csv、fix、dif、biffなど) と同様にスクリプトのLOADステートメントで参照できます。
例:
- LOAD * from [lib://DataFiles/xyz.qvd];
- LOAD Name, RegNo from [lib://DataFiles/xyz.qvd];
- LOAD Name as a, RegNo as b from [lib://DataFiles/xyz.qvd];
- スクリプトからの QVD ファイルへのアクセス。(qvd で始まる) いくつかのスクリプト関数を使用して、QVD ファイルの XML ヘッダーにあるデータのさまざまな情報を取得できます。
QVD 形式
QVD ファイルは、厳密に 1 つのデータ テーブルを保持し、次の 3 つの部分で構成されます。
-
ヘッダー
情報メモ QVD ファイルが QlikView で作成された場合、ヘッダーはテーブル内の項目や、後続情報およびその他のメタデータのレイアウトを適格に記述する XML ヘッダー (UTF-8 文字セット) です。 - バイト埋め込み形式のシンボル テーブル。
- ビット埋め込み形式の実際のテーブル データ。