INGEST ユーティリティー

INGEST ユーティリティー (連続データ取り込み (CDI) とも呼ばれる) は、ファイルおよびパイプから Db2 ターゲット表にデータをストリーミングする、高速のクライアント・サイド Db2® ユーティリティーです。 INGEST ユーティリティーは、ターゲット表をロックせずに大量のリアルタイム・データを移動させることができるため、データの現行性と使用可能性とを両立させることができます。

INGEST ユーティリティーは、事前処理済みのデータを直接、または ETL ツールあるいはその他の手段により出力されたファイルから取り込みます (INGEST します)。 継続的に実行できるため、パイプを介して連続データ・ストリームを処理することができます。 データは、 パーティション・データベース環境の大規模なデータベースにもデータを取り込むのに十分な速度で取り込まれます。

INGEST コマンドは、待ち時間が少なく、単一ステップで ターゲット表を更新します。 INGEST ユーティリティーは 行ロッキングを使用するため、同じ表に対する他のユーザーの処理への干渉は、 最小限に抑えられます。

このユーティリティーによって、ターゲット表をロッキングせずに、 SQL に類似のインターフェースを使用して表に対する DML 操作を実行できます。 この INGEST 操作では、INSERT、UPDATE、MERGE、REPLACE、 および DELETE の SQL ステートメントがサポートされます。 INGEST ユーティリティーは、SQL 式を使用して、複数のデータ・フィールドから個別の列の値を作成する方法もサポートしています。

INGEST ユーティリティーの主な機能には、他に以下のものがあります。
  • 時間または行数に基づくコミット。 commit_countINGEST 構成パラメーターを使用して、書き込まれた行数によってコミット頻度を決定するか、デフォルトのcommit_periodINGEST 構成パラメーターを使用して、指定時間によってコミット頻度を決定します。
  • 拒否されたレコードのファイルまたは表へのコピー、または廃棄のサポート。 拒否された行を INGEST コマンドがどのように処理するかを、INGEST ユーティリティー (DUMPFILE パラメーターを使用) または Db2 (EXCEPTION TABLE パラメーターを使用) で指定できます。
  • 再開とリカバリーのサポート。 デフォルトで、すべての INGEST コマンドは最後のコミット・ポイントから再開可能です。 さらに、retry_countINGEST構成パラメーターが設定された場合、INGEST ユーティリティーは、特定のエラーからの回復を試みます。
INGEST コマンドは、次の入力データ・フォーマットをサポートします。
  • 区切りテキスト
  • 定位置テキストおよびバイナリー
  • 各種配列およびフォーマットの列
INGEST コマンドは、通常の表およびニックネームに加えて次の表タイプも サポートします。
  • マルチディメンション・クラスタリング (MDC) 表および挿入時クラスタリング (ITC) 表
  • 範囲パーティション表
  • 範囲がクラスター化された表 (RCT)
  • MAINTAINED BY USER として定義される、マテリアライズ照会表 (MQT)(サマリー表を含む)
  • テンポラル表
  • 更新可能なビュー (型付きビューを除く)
単一の INGEST コマンドには、以下の 3 つの主要なフェーズがあります。
1. トランスポート
トランスポーターが、データ・ソースからデータを読み取り、 レコードをフォーマッターのキューに渡します。 INSERT および MERGE 操作の場合、入力ソースごとに 1 つのトランスポーター・スレッドが存在します (例: 入力ファイルごとに 1 つのスレッド)。 UPDATE および DELETE 操作の場合、トランスポーター・スレッドは 1 つのみです。
2. フォーマット
フォーマッターが、各レコードを解析し、データを Db2 データベース・システムに必要なフォーマットに変換し、 フォーマット済みの各レコードを、そのレコードのパーティション用の フラッシャー・キューのいずれかに渡します。 フォーマッター・スレッドの数は、num_formatters構成パラメーターに指定されます。 デフォルトは (論理 CPU 数)/2 です。
3. フラッシュ
フラッシャーは、SQL ステートメントを実行して、Db2 表に対する 操作を実行します。 各パーティションのフラッシャーの数は、 num_flushers_per_partition 構成パラメーターに指定されます。 デフォルトは max( 1, ((number of logical CPUs)/2)/(number of partitions) ) です。