私は、顧客に関するすべての関連情報を保存するためのマスターデータベースを構築しています。私はNeo4jを使用しています。グラフデータベースを使用したマスタデータ管理
以下は、私たちのモデルのサンプルです。我々はPerson
を持っており、3つのモバイルアプリケーションに登録することができます。 (App.01
、App. 02
、App. 03
- 私たちはCPFキーを使用します、それはSSNのようです)。これらのアプリでは、ユーザーは電子メールで登録することができます。したがって、Email
エンティティによって表されます。これらのユーザーは、Address
エンティティで表される複数のアドレスを持つことができます。
質問です: 私は誰かが人に関するすべての「ベスト」な情報を求めてMDMデータベースを照会する場合、私は例えば返す、IMO、マスタデータを構築していたよう: 名:ジョン ベスト電子メール:EMAIL2(それはそれを使用して2つのアプリを持っているので) ベストアドレス:ADDR1(それはそれを使用して牽引のアプリを持っているので)
だから私は「最高」、電子メールであるかを定義するためにいくつかのheuristisを構築するつもりですがと住所。この目的のために
、私はいくつかのオプションがあります。
私は
John
からemail2
にしてaddr1
にエッジを作成することができます。だから、MDMのユーザーがJohnから "最高の"アドレス/電子メールを取得することは容易になるだろう。私は残りのAPIエンドポイントを作成し、クエリ時にこのヒューリスティックを作成することができました。
グラフデータベースまたはデザインMDMデータベースの使用経験がある人はいますか? それは良いアプローチですか?
この質問は質問に対する補数である:Using Neo4j to build a Master Data Management
あなたがアプリのコントロールを持っている場合、なぜ異なるメールアドレスがあるのですか? –