はじめに
Talendを使ってみようてきな記事や、コンポーネントの使い方についての記事は
よくいるが、会社でどのように使っているかなど、具体的な利用などについて
を個人的にまとめてみる
目次
システム間連携とは?
システム間連携とは、社内のシステムAからシステムBへ連携することで、
例えば給与システムと勤怠管理システムのデータ連携など。
システム間の接続口として利用されているのがEAIツール。
複数のソースのデータを、DWHに集約するなどを行うのがETLツール。
TalendはOSSであり、Javaのコードジェネレーター※つまりGUIで開発したものが
Javaプログラムに変換され、javaとして動作する。
さらにざっくりと違いを整理
ETL:たくさんのデータを、低頻度で連携
EAI: 少ないデータを、高頻度で連携
環境
Talend Data Integration 7.3(有償版)
(i) Talend Studio ・・・eclipseにGUI機能などを追加した開発環境
(ii) Talendサーバー ・・・ユーザー/ソース管理、スケジューラー機能、JOB実行サーバーなど
サーバーは下記の運用管理サーバーとジョブ実行サーバーを、図のように別々で持つことも
1つのサーバー内に持つことも可能
ETLを用いたシステム間連携の概要
システムAのIFテーブルを監視し、データがあれば変換し、システムBのテーブルへInsert後
システムBの取り込み処理をTalendが実行することで、連携時間を短くする。
特に、いつデータが来るかわからないときになど、ポーリングする際にデータがある時だけ皇族処理に
流すような作りにすることで、システム全体の負荷を下げる。
Talendによる高頻度連携ジョブ
Talendのジョブスケジューラーは最短1分間隔での実行となるが、
1分間隔の実行だと、DBやサーバーに毎回接続したり、ログが増えたり、サーバー負荷が上がるなどの
課題がある。
また、最短で1分間隔のため、準リアルタイムのように、もっと短い間隔の実行をしたい場合、少し工夫が必要となる。
※現在作成途中