|
||||||||||||
| 1 2 3 4 次のページ | ||||||||||||
| オープンソースのデータベースと商用データベース | ||||||||||||
|
オープンソースのデータベースと商用のデータベースを連携する状況としては、「第1回:データ連携の必要性を再確認」で紹介したデータ連携の目的のうちデータ活用がもっともあてはまります。 例題とするのは、基幹システムの在庫データを全社員が直接参照し、その負荷によって業務全体の処理遅延が発生するケースとします。 処理遅延による顧客満足度の低下や直接的な売上減少を防止するため、負荷分散の目的で10の支店へ基幹システムのデータを分散して参照するシステムを構築するとしましょう。このケースでは、それぞれの支店へ基幹システムと同じ商用のデータベースを入れることがもっとも多い解決策だと思いますが、ライセンス料を抑えたいという要望があるはずです。 ライセンスのコストをダウンするために、10の支店に導入する参照システムはオープンソースのデータベースを使用して構築することが考えられます。なお、最近では商用のデータベース製品に無償版が提供されているケースもありますが、エンタープライズ分野で利用実績があるオープンソースをとりあげます。 どちらのデータベースを使用してシステムを構築してもSI費をほぼ同等とした場合、商用データベースを支店に導入するのに比べ、基幹データベースとオープンソースのデータベース間をDataCoordinatorのようなデータ連携ツールを使った方が全体の初期投資費用は安価となります。 |
||||||||||||
| 表の準備 | ||||||||||||
|
では、DataCoordinatorを使用して、商用データベースを「Oracle Database 10g Release 10.2.0.1.0」、オープンソースを「PostgreSQL 8.1.5」と想定したデータを連携する方法を解説します。 商用データベース側では以下のように表を準備します。
create table master_table
オープンソースのデータベース側では、以下のように作業を行います。
create table low_price_table
テストに使用するデータは、商用データベースのみに挿入しておきます。
insert into master_table values ('A-7001',’goods_a’,100,000);
今回のデータ連携では、master_tableからlow_price_table、high_price_tableへデータを送ります。その際、low_price_tableへは価格が10万円未満の商品だけ、high_price_tableへは価格が10万円以上の商品だけを送ります。 上記のデータをそれぞれのデータベースに送った場合、以下のように振り分けられることになります。
low_price_table
なお文中で、データを抽出する元になる表(今回の例では、master_table)を「マスタ表」、データを反映する先の表(今回の例では、low_price_tableとhigh_price_table)を、それぞれ「レプリカ表」と呼びます。 DataCoordinatorでデータ連携定義を作成する場合、あらかじめ反映する先となるレプリカ表を登録しておく必要があります。 |
||||||||||||
|
1 2 3 4 次のページ |
||||||||||||
|
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||

