可用性と性能を考慮したデータ連携基盤のアーキテクチャを記載する。
要件が単純な場合は、”ソースシステム→ETL→ターゲット”がそれぞれ単体で存在するようなシンプルな構成となる。しかし、データ連携基盤の活用が進み停止が許されないようになると可用性を考慮して多重化する必要性が出て来る。さらに、単体で性能を満たせいないような要件が出てくると多重化したサーバーを同時に並列稼動させる必要がある。また、ETLサーバーを並列化すると中間ストアで使用するDBやファイルサーバーもボトルネックとならないように同レベルの並列化が必要となる。
ポイントは以下のとおりである。
性能対策
- ソースシステムからは複数台のETLで並列に読み込み可能。ターゲットDBには並列に書き込み可能。
- ETLサーバーはデータを持たないため複数台をクラスタ構成で同時稼働可能。
- ロードバランサーでETLの負荷をチェックしロードバランスする。
可用性対策
- ファイルサーバーと中間ストアはデータを保有するため同時稼働はできない。コールドスタンバイで構成する。ETLサーバーは必要に応じてクラスタ構成とする。
- ロードバランサーで稼働確認する。
保守性対策
- ファイルはETLサーバーではなくファイルサーバーに作成する。これにより設定ファイルが重複して作成されたり、ログが各ETLサーバーに散らばったりすることを防止する。
- 中間ストアに業務データを一時的に蓄積する。これにより一度に複雑な可能を行うことを防止したり、マスタデータを一時的に保管したりできる。