1

これが私の問題です。私は Web アプリを構築し、そのアプリのドメインを説明するデータベースにデータを保持していました。その後、同じ組織用に別の Web アプリを作成し、別のデータベースを使用してそのアプリのドメインを記述し、データを保存しました...そして当然、さらにいくつかのプロジェクトが登場し、アプリごとにデータを単一のデータベースに分離しました. 開発に関しては、アプリのデータベースでデータ構造とデータへの変更を維持できるので、問題ないと思います。

これらのアプリが同じ組織に属していることを考えると、部門名、役職、ショップ名など、アプリ間で大量のデータが複製される傾向があります。これらのテーブルのほとんどは同じデータを保持していますが、各データベースで完全に同じというわけではありません。 、すべてのアプリで常に使用されるわけではありません。ただし、このデータへの変更は、すべてのアプリで (場合によっては異なる方法で) 変更する必要があり、管理の「面倒」が大きくなります。

そのため、データ間の同期を取得する方法を考えてきました。管理を簡単にしたい - 1 つのアプリ (または中央アプリ) で更新し、各アプリで必要に応じてすべてのデータベースを更新します。また、アプリ間でデータを共有するためのより良い方法 (新しいアプリで異なるアプリからのデータをマッシュアップするなど) も必要です特定の分析を可能にする)。私が参照しているデータのほとんどは、特定のドメインを説明するのではなく、組織を説明するコア ドメインの概念というよりも、制約として使用されます。

これを実現するためのいくつかの方法について意見を求めています。

私が最初に思いついたのは、前述の部門名のテーブルのような共通のデータ構造を取得し、それらをコア データベースに貼り付けることでした。データへの更新は、専用の Web アプリを介してこのデータベースで行われ、これらの変更にある種のオブザーバーまたはパブリッシャー / サブスクライバー パターンを適用します。変更が発生し、アプリが新しいデータを取得して必要に応じて使用できるようにします。GUID は、アプリ全体で同じデータを識別するための参照としてのユーザーである可能性があります。また、特定のアプリのデータベースに存在する必要はないが、役に立つ可能性のある読み取りおよび検索操作用の Web サービスを構築することもできます。

2 番目のアイデアは、各アプリが独自のデータを管理し、アプリが相互に観察できるようにすることです。1 つの変更は、変更が発生したことを同じデータ構造を共有する他のユーザーに通知できます。いくつかの GUID を引き続き使用し、任意のアプリでサービスを構築することさえできました。これもデータの重複という点では過度ではないと思いますが、各アプリが最終的に他のアプリに結合されるため、管理が難しくなる可能性があり、どのアプリがどの情報を制御するかについて責任を分散する必要があると思います.

このジャンルのデータ配布と同期が機能し、推奨されることさえあることに、私は本当に興味があります。意見やその他のアイデアは大歓迎です!

4

1 に答える 1

3

ここで説明するのは、「マスター データ管理」システムの典型的なケースです。EAI ベンダー (Oracle、TIBCO、IBM) は、このような製品を提供しています。これらは最初のソリューションに似ており、同期プロセスを備えた集中データベースであり、外部データ ソースの変更を検出し、変更を取得して他の外部データベースにデータを同期します。また、マスター データを直接変更するためのユーザー インターフェイスも提供します。
MDM ソフトウェアは高価ですが、カスタム ソリューションを実装できます。これは、少なくとも最初は、購入するよりも安価です。どちらのソリューションも技術的には理にかなっていますが、管理しやすさに違いがあります。
最初の方法は、責任者/組織を専任で担当させ、サービスのビジネス オーナーがこの新しい集中型システムを介して変更を加えることに同意できる場合に適しています。
2 番目のソリューションは、サービス所有者間で責任を共有します。ここで難しいのは、各タイプの情報 (ビジネス オブジェクト) の所有者を特定することです。
御社のシステムや組織についての深い知識がなければ、解決策をアドバイスすることはできませんが、いくつかのアイデアを提供できれば幸いです.

于 2010-03-30T07:46:13.810 に答える