QVD ファイル
QVD (QlikView Data) ファイルは、Qlik Sense または QlikView からエクスポートされたデータのテーブルを含むファイルです。QVD は、ネイティブ Qlik フォーマットで、Qlik Sense または QlikView でのみ読み書きすることができます。ファイル形式は、QlikView スクリプトからデータを高速に読み取れるように最適化され、サイズもコンパクトです。QVD ファイルからのデータの読み取りは、他のデータ ソースから読み取る場合よりも一般に 10~100 倍高速になります。
QVD ファイルは、標準 (高速) と最適化 (超高速) の 2 つのモードで読み取ることができます。選択モードは、QlikView スクリプト エンジンによって自動的に決定されます。最適化モードは、ロードされたすべての項目が変換 (項目に対して実行される式) なしに読み取られる場合にのみ使用できます。ただし、項目名は変更することができます。QlikView にレコードを解凍させる WHERE 句は、最適化されたロードを無効にします。項目変換が実行されると、標準の Extract-Transform-Load (ETL) に従って、最適化された.qvd が抽出および処理されます。これによって、パフォーマンスが低下します。指定した形式は維持されず、代わりに、基となる未加工の数値形式が使用および認識されます。.qvd にある項目は変換できます。変換すると、以前の「最適化された」.qvd は、標準の最適化されていない .qvd になります。
QVD ファイルは、厳密に 1 つのデータ テーブルを保持し、 3 つの部分で構成されます。
- テーブル内の項目や、後続情報およびその他のメタデータのレイアウトを記述する整形式 XML ヘッダー (UTF-8 文字セット)。
- バイト埋め込み形式のシンボル テーブル。
- ビット埋め込み形式の実際のテーブル データ。
QVD ファイルの使用目的
QVD ファイルは、多くの目的で使用することができます。主に 4 つの目的で使用されます。複数の目的を一度に達成できる場合もあります。
ロード速度の向上
QVD ファイルの入力データの変更されない部分または変化が遅い部分をバッファリングすることで、大きなデータ セットに対するスクリプトの実行が大幅に高速化します。
データベース サーバーの負荷の減少
外部データ ソースから取得するデータ量を大幅に削減できます。これにより、外部データベースおよびネットワーク トラフィックの負荷が減少します。さらに、複数の QlikView スクリプトが同じデータを共有する場合は、ソース データベースからデータを一度 QVD ファイルにロードするだけで済みます。他のアプリケーションは、この QVD ファイルから同じデータを使用できます。
複数の QlikView アプリケーションからのデータの統合
binary スクリプトのステートメントでは、1 つの QlikView アプリケーションから別のアプリケーションにデータをロードできます。しかし、QVD ファイルを使用すると、QlikView スクリプトは任意の数の QlikView アプリケーションからのデータを統合できます。これにより、アプリケーションの可能性が広がり、たとえば、さまざまな部署からの類似するデータを統合することができます。
増分ロード
多くの一般的な状況で、QVD 機能を使用することにより、増大するデータベースから新しいレコードを排他的にロードする増分ロードを簡単に実行できます。
QVD ファイルの作成
3 つの異なる方法から 1 つを使用して QVD ファイルを作成できます。
- QlikView スクリプトの store コマンドを使用した、明示的な作成と命名。選択した場所にある明示的に命名されたファイルに、事前に読み取られたテーブルまたはその一部をエクスポートするように、スクリプトに記述します。
- スクリプトからの自動作成とメンテナンス。load または select ステートメントの前に buffer プレフィックスを指定すると、QlikView は自動的に QVD ファイルを作成します。このファイルは、一定の条件下でデータのリロード時に元のデータ ソースの代わりに使用されます。
-
レイアウトまたは内部マクロ インタープリタから明示的に作成されて名前が付けられます。データは、GUI コマンドまたはオートメーション マクロを使用して、QlikView レイアウトからエクスポートされます。GUI では、ほとんどのシート オブジェクトのオブジェクト メニューにある [エクスポート] コマンドに、使用可能なエクスポート形式の 1 つとして QVD が含まれています。
読込み時間に関して、結果の QVD ファイルに違いはありません。
QVD ファイルからのデータの読み取り
QlikView は、次の方法で QVD ファイルの読込み、またはアクセスを行います。
-
明示的なデータ ソースとしての QVD ファイルのロード。QVD ファイルは、他の種類のテキスト ファイル (csv、fix、dif、biff など) と同様に、QlikView スクリプトの load ステートメントで参照できます。[ファイル ウイザード: タイプ では、同じ原則で QVD ファイルを扱います。
- バッファ QVD ファイルの自動ロード。load または select ステートメントで buffer プレフィックスを使用する場合は、読み取り用の明示的なステートメントは必要ありません。QlikView が、 QVD ファイルからデータを使用するか、元の load または select ステートメントを使用してデータを取得するか、その範囲を決定します。
-
スクリプトによる QVD ファイルへのアクセス。qvd で始まるたくさんのスクリプト関数を使用して、QVD ファイルの XML ヘッダーにあるデータのさまざまな情報を取得できます。
アスタリスクを含む QVD のインポートはサポートされていません。
QVD 暗号化
QVD ファイル内の機密情報を顧客提供のキーペアで暗号化して、データへのアクセスを制御することができます。
暗号化は、暗号化が有効になっていて証明書の拇印が追加されている settings.ini ファイルで構成されます。QVD 暗号化はデフォルトでは有効になっていません。
Qlik Sense および QlikView の古いバージョンは、暗号化された QVD ファイルを読み取るときにエラーを返します。