概要
データ分析基盤(概念モデル)におけるオーケストレーションに関する整理を実施します。
本記事にて、下記の記事におけるオーケストレーションの詳細を記載します。
定義
オーケストレーションの定義
ETL(データ抽出・変換・取り込み)や他プログラミングの実行などの処理の実施、データフローの開始から終了までの処理フローをパイプラインとして定義のの実施、および、パイプラインをトリガー(スケジュールトリガー、イベントトリガー等)トリガー登録によりプロセスコントロールの実施を行うシステム層。
コンポーネント詳細
番号 | データ基盤におけるレイヤー | コンポーネント名 | 説明 | サービス例 |
---|---|---|---|---|
24 | オーケストレーション | オーケストレーション | ETL(データ抽出・変換・取り込み)や他プログラミングの実行などの処理の実施、データフローの開始から終了までの処理フローをパイプラインとして定義のの実施、および、パイプラインをトリガー(スケジュールトリガー、イベントトリガー等)トリガー登録によりプロセスコントロールの実施を行うシステム群。 DMBOKにおける下記コンポーネントを含めることを想定している。 ・データ変換エンジン/ETLツール ・オーケストレーション ・プロセスコントロール |
JP1、Amazon Glue、Azure Data Factory |
要求要件
オーケストレーション
下記の機能を保持する必要があります。
番号 | 要否 | 分類 | 主要要件 | 説明 |
---|---|---|---|---|
1 | 任意 | データ変換エンジン/ETLツール | データ抽出 | ソースからデータを抽出する機能。 |
2 | 任意 | データ変換エンジン/ETLツール | データ変換 | 抽出したデータを変換する機能。 |
3 | 任意 | データ変換エンジン/ETLツール | データ取込 | ターゲットにデータを取り込む機能。 |
4 | 任意 | データ変換エンジン/ETLツール | データカタログ連携 | データカタログにて保持しているメタデータに基づき処理を定義する機能 |
5 | 必須 | パイプライン定義 | 他プロセス実行 | 自システム、あるいは、他システムにおけるプロセスを実行する機能 |
6 | 必須 | パイプライン定義 | パイプライン定義 | 定義済みのプロセスを組み合わせたパイプラインを定義する機能。 |
7 | 必須 | プロセスコントロール | パイプライントリガー登録 | 定義済みのパイプラインを特定のトリガー(時間、イベント)で実行する機能 |
8 | 必須 | プロセスコントロール | パイプライン実行ログ保持 | パイプライン実行時に生成されるログを保持する機能 |
9 | 必須 | プロセスコントロール | パイプラインアラート | パイプライン実行に関するアラートを行う機能 |
10 | 必須 | プロセスコントロール | パイプライン処理のエラー時の再実行 | パイプラインをトリガー実施した際のエラー時に再実行を行う機能 |
参考情報
オーケストレーション
オーケストレーションとして、下記の紹介がされとり、本概念モデルでは下記の2つの機能にETL機能を加えたものをオーケストレーションと捉えている。
オーケストレーションとは複数のプロセスがシステム内でどのように構成され、実行されるかを説明するために使われる用語である。
プロセスコントロールはデータの発信、配信、抽出、取込が正確かつ完全であることを保証するために必要な要素である。
引用元:DMBOK 2nd
オーケストレーションの機能の1つである、プロセスコントロール機能については、DMBOK 2ndにて下記のような記載がある。
プロセスコントロールはデータの発信、配信、抽出、取込が正確かつ完全であることを保証するために必要な要素である。基本的なデータ移動アーキテクチャやコントロールでよく見過ごされる側面に は、次のようなものがある。
- データベースアクティビティのログ
- バッチジョブのログ
- アラート
- 例外ログ
- 修復オプションや標準的な応答を含む、ジョブ依存チャート
- ジョブ「時計」情報。従属ジョブのタイミング、予想されるジョブの長さ、コンピュータの(利用可能な)時間帯など
引用元:[DMBOK 2nd]