データ・ストリーミングの管理

EDQでデータをストリームするためのオプションを使用して、データを読み取るときや書き込むときにEDQリポジトリ・データベースでデータをステージングするタスクを回避できます。

完全にストリームされたプロセスまたはジョブはパイプとして動作し、いずれのレコードもEDQリポジトリに書き込まず、レコードをデータ・ストアから直接読み取り、レコードをデータ・ターゲットに書き込みます。

スナップショットのストリーミング

プロセスを実行するとき、スナップショットの実行を完全に回避して、データをスナップショット経由でデータ・ストアからプロセスに直接ストリームするのが適切な場合があります。たとえば、プロセスを設計するときには、データのスナップショットを使用できますが、プロセスを本番でデプロイするときには、常にソース・システムからの最新セットのレコードを使用し、ユーザーに結果のドリルダウンを求めないことが判明しているため、データをリポジトリにコピーするステップを回避するとします。

データをプロセスにストリーム(したがってEDQリポジトリでデータをステージングするプロセスを回避)するには、ジョブを作成し、スナップショットとプロセスを両方ともタスクとして追加します。次にスナップショット・タスクとプロセスの間にあるステージング済データ表をクリックして無効化します。プロセスはデータをソース・システムから直接ストリームします。スナップショットの一部として構成された選択パラメータもすべて適用されます。

スクリーンショットのストリーミング

データをストリームするときには、レコード選択基準(スナップショット・フィルタリングまたはサンプリング・オプション)はすべて適用されます。また、スナップショットのデータ・ストアがクライアント側にある場合、サーバーからアクセスできないので、ストリーミング・オプションは使用不可能になります。

ただし、スナップショットのストリーミングが常に「最速」または最善のオプションとはかぎりません。同じデータのセットに対して複数のプロセスを実行する必要がある場合、ジョブの最初のタスクとしてデータをスナップショットし、次に依存するプロセスを実行するほうが効率的な場合があります。スナップショットのソース・システムがライブの場合、スナップショットを個別のタスクとして(独自のフェーズで)実行し、ソース・システムへの影響を最小化するのが通常は最適です。

エクスポートのストリーミング

データをデータ・ストアに書き込むときにもデータをストリームできます。ステージング済データのセットのエクスポートが、同じジョブでステージング済データ表を書き込むプロセスの後で実行されるように構成されている場合、エクスポートでは常にレコードが処理されながら書き込まれるため(レコードがリポジトリのステージング済データ表にも書き込まれるかどうかにかかわらず)、ここでのパフォーマンス向上率は減少します。

しかし、データをリポジトリに書き込む必要がないことが判明している場合(データを外部に書き込むことのみ必要)、このステップを回避して、パフォーマンスをわずかに改善できます。これが該当するケースとしては、データ・クレンジング・プロセスがデプロイされる場合や、アプリケーション間で共有される外部ステージング・データベースに書き込んでいる場合、たとえば外部ステージング・データベースを使用してデータをEDQとETLツールの間で受け渡し、大きなETLプロセスの一部としてデータ品質ジョブを実行する場合があります。

エクスポートをストリームするには、ジョブを作成し、データを書き込むプロセスをタスクとして追加し、データを外部に書き込むエクスポートを別タスクとして追加します。次にプロセスとエクスポート・タスクの間にあるステージング済のデータを無効化します。これにより、プロセスが出力データを外部ターゲットに直接書き込みます。

注意:

データ・インタフェースに書き込むライターをプロセスで構成し、データ・インタフェースからエクスポート・ターゲットにマップするエクスポート・タスクを構成して、エクスポート・ターゲットへのデータのストリーミングも可能です。

エクスポートのストリーミング

クライアント側のデータ・ストアへのエクスポートをタスクとして使用し、ジョブの一部として実行することはできません。データ・ストアに接続するためにクライアントを使用するので、EDQディレクタ・クライアントから手動で実行する必要があります。