2017-02-19 6 views
0

何とかブリッジしたい既存のアプリケーションが2つあります。両方とも同様のドメイン(製品カタログ)を持っていますが、最初のアプリケーションはレコード用のNoSQLドキュメントストアを使用し、2番目のアプリケーションはSQLテーブルを使用します。NoSQLからSQLへのアダプター設計パターン

| id | sku | 
| 123 | abc | 

そして2行に:第2のドメイン内の同じアイテムがProductItem表の1行であろう一方

{ 
    "productId": 123, 
    "sku": "abc", 
    "packageSizes": { 
    "container": 20, 
    "pallet": 50 
    } 
} 

最初のテーブルからの例のレコードは次のように見えますProductPackageSizesテーブル:

| productId | type  | size | 
| 123  | container | 20 | 
| 123  | pallet | 50 | 

システムのcurre ntlyは完全に独立していますが、NoSQLアプリケーションでレコードが作成され、SQLアプリケーションで作成された同じ項目を持つたびに必要になります。

これはのスクリプトからのスクリプトを書くことができます。このスクリプトは、データが現在どのように見えるかに基づいて手続き的に作成します。しかし、私はそのような変換を記述するための確立された設計パターンがあるかどうかを知ることに興味がありますか?特に、新しいpackageSizesやその他の関係が将来追加された場合。

+0

は、エンド目的に依存できますか? NoSQLとSQLの間でデータベース・スキーマをレプリケートするだけです。できる、しかし私はなぜ尋ねることができる? – user7568042

+0

@ user7568042アプリケーションには同じ種類のデータがいくつかありますが、まったく同じではありません。最初のものは若干目的が異なり、私のコントロール下にあります。 2番目のアプリケーション(SQL)は、サードパーティ製のレポートアプリケーションですが、データは統合されますが、データを送信する必要があります。 – J3Y

答えて

1

sqlデータベースに外部キーがありませんか?

あなたはあなたのような、ProductItem

"productId": 123,"sku": "abc" 

を割り当てることができるのNoSQLデータベースに新しいレコードを作成するたびにProductItemと次に関連ProductPackageSizesテーブルの外部キーを使用することができます。

| id | sku | | 123 | abc |

と割り当て

"packageSizes": { 
"container": 20, 
"pallet": 50 } 
(P_IDのような)外部キーを持つ ProductPackageSizes

は、のように:

| productId | type | size |P_id | 123 | container | 20 |123 | 123 | pallet | 50 |123

希望これは:)

関連する問題