【CIH】Informatica Cloud Data Integrationの導入後にCloud Integration Hubを導入する際の改修ポイントについて検討してみた
こんにちは、データアナリティクス事業本部ビジネスソリューション部SAチームの渡部です。
今回はCDIの導入後にCIHを導入する際の改修ポイントについてご紹介します。
また「ゆくゆくはCIH導入をしたいんだけど・・・」という場合でも、どのようにあらかじめCDIを設計・実装すれば後々の改修が楽になるか、ご参考にいただけたらと思います。
改修ポイント
改修ポイントとしては大きく分けて2つです。
- インターフェース(IF)をパブリケーションとサブスクリプションにわける改修
- CDIマッピングの改修
CIHの概要記事については、こちらをご参考ください。
マッピング設計
まず改修ポイント1として、ETLのIFの設計改修が必要になります。
上述の通り、システム間のP2P連携の場合はデータハブを挟むと、単純にIFが1本とした場合はパブリケーションとサブスクリプションにわかれるので2本となります。
その状態を具体的に下図に改修前後のIFとしてまとめてみました(ターゲットがBQであることに他意はありません)。
1.改修前
では、データ加工の全てを①で実施します。
対して2.改修後
では、①と②にIFが分かれることとなり、それぞれのIFで加工処理をどこまで入れるか改めて考えなければなりません。
その際のポイントとしては、CIHの一つのトピックテーブルに対して複数のサブスクライバがある場合、そのそれぞれに対して汎用的なデータモデルに準じた加工を①で実施して、サブスクライバごとの固有の加工処理を②で実施するということです。
そのためCIHの実装になりますが、トピックテーブルのデータモデルを設計する必要もございます。
CDIマッピング
次に改修ポイント2として、実際にCDIマッピングで何を実装改修する必要があるか見てみます。
まずはCIH導入前の通常のCDIマッピングの例が以下画像となります。
ETLを簡単にそれぞれのトランスフォーメーションに分けていますが、
この場合はT
において、BigQueryテーブルへのロードをするための加工を行っています。
ただし仮にCIHを導入するとなりE(ソース)
のデータを他のシステムがサブスクライプするとなった際、マッピングのT
の式トランスフォーメーションの加工処理を通すと他システムへの連携が不可能であるとなれば、CIH導入とともに改修する必要が出てきてしまいます。
これがCDIマッピングの改修ポイントとなります。
そのため、もしもCIHを導入することが後々決まっていて、設計にも余裕があるならば以下のように改修前の実装をしていくと良いかもしれません。
T①
ではデータハブに入れる前までの加工を実施して、T②
ではそれぞれの連携先固有の加工を実施します。
このようにすると、CIH導入の際の改修量が減るため楽になります。
理由としては、改修前のマッピングをコピーして、
T②
を削除してターゲットをCIHにするとパブリケーションとなり、
T①
を削除してソースをCIHにするとサブスクリプションとなるためです。
今回は簡単のために式トランスフォーメーション2つで表現しましたが、前半でCIHへの加工、後半で各システムへの加工というように分けるように実装をするというイメージになります。
またマッピングにおいてソース・ターゲットとともにパラメータ化しておくと、CIH導入の際の改修工数が少なくなるかと思います。
これはCIHはソース・ターゲットともにマッピングで直接指定せずに、マッピングタスクで指定する必要があるためです。
逆に言えばパラメータ化していないと、そこも改修ポイントとなります。
まとめ
今回はCDI導入後にCIH導入をするとなった際の改修ポイントについてまとめてみました。
改めて改修ポイントとしては、以下が挙げられます。
- IFがパブリケーションとサブスクリプションにわかれること
- データ加工をパブリケーションとサブスクリプションのどちらでどれだけ行うか決めること
- (改修ではありませんが)トピックテーブルのデータモデルを定義すること
追加の注意点としては、パブリケーション・サブスクリプション共に指定するのは「タスク」であって、「タスクフロー」ではないので、
タスクフローで細かな制御をしている場合は別途対応が必要になるということです。
今回検証してみて、
CIHをCDIと共に導入するかどうかは、データ連携の期限次第であり期限に余裕があるならば同時に導入するのが良いかと思いました。
以上!
ありがとうございました!