社内・クラウド間データ連携

インターネットと社内(イントラネット)の間で、データを連携する。


Pic 01

インターネットと社内(イントラネット)の間で、データを連携する。

テーブル単位でDB間の連携を実施します。 連携するテーブルによっては、条件づけが必要な場合もあります。 クライアント側、サービス側のモジュールを整備し、クライアント側から送信/受信を制御しています。通信には、SSLを利用しており、Oracle、PostgreSQLにて、利用しています。

思想の話題です。 連携テーブルとシステムで利用する業務テーブルは分けるべきで、連携テーブルを業務システムから直接利用してはならないです。 Pic 01 連携されるデータは、正しいとは限りません。信じてはNGです。 事前に渡された仕様書が提供されていた場合であっても、カラム名が違う、型が違うなど、現地で発覚することが多々あります。 また、稼働後、連携元に仕様変更があったとしても、下流側へ知らされることもなく、ある日突然、意図した連携ができず、問い合わせがあって、気付くこともあります。

データベース内には多くのテーブルが存在することになりますが、それらのテーブルを「連携テーブル」と「業務テーブル」の二つに分けることが重要です。 Pic 01 ここでいう「連携テーブル」とは、外部のシステムや他のデータベースから情報を受け取るためのテーブルを指し、一方の「業務テーブル」とは、実際の業務処理やアプリケーションで使用されるテーブルを意味します。

連携テーブルから業務テーブルへデータを移行する際に、単にデータを転送するだけではなく、データのクレンジング(不要なデータを削除すること)や加工(データを業務に適した形に整えること)ができる余地を残しておくことがポイントです。 これにより、データの品質を高め、より有効に業務で使用することが可能になります。 扱うデータ量やリアルタイム性(同期性)など、加味する点も多々ありますが、データの防波堤を準備しておくイメージがよいでしょう。

Pic 01 簡単に言えば、データを整理しやすくするために、データを受け取るテーブルと実際に業務で使用するテーブルを明確に分け、データを取り込む過程で調整・改善の余地を設けることがポイントです。 インターネットと社内(イントラネット)がテーマですが、システム間のデータ連携全般に考え方は適応可能と考えています。


技術 SSL、データ交換のための「永続化」、DB制御のための「SQL」


範囲 企画、設計、開発、保守