Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 利用图形数据库管理主数据_Neo4j_Graph Databases_Master Data Management - Fatal编程技术网

Neo4j 利用图形数据库管理主数据

Neo4j 利用图形数据库管理主数据,neo4j,graph-databases,master-data-management,Neo4j,Graph Databases,Master Data Management,我正在建立一个主数据库来存储有关我们客户的所有相关信息。我用的是Neo4j 下面是我们的模型示例。我们有个人,可以在我们的3个移动应用程序中注册。(App.01,App.02,App.03-我们使用CPF键,它就像一个SSN)。在这些应用程序中,用户可以通过电子邮件注册。因此,它由电子邮件实体表示。这些用户可以拥有由地址实体表示的多个地址 问题是: 在我构建主数据时,IMO,如果有人查询mdm数据库,询问关于某人的所有“最佳”信息,我会返回,例如: 姓名:约翰 最佳电子邮件:email2(因为

我正在建立一个主数据库来存储有关我们客户的所有相关信息。我用的是Neo4j

下面是我们的模型示例。我们有
个人
,可以在我们的3个移动应用程序中注册。(
App.01
App.02
App.03
-我们使用CPF键,它就像一个SSN)。在这些应用程序中,用户可以通过电子邮件注册。因此,它由
电子邮件
实体表示。这些用户可以拥有由
地址
实体表示的多个地址

问题是: 在我构建主数据时,IMO,如果有人查询mdm数据库,询问关于某人的所有“最佳”信息,我会返回,例如: 姓名:约翰 最佳电子邮件:email2(因为它有两个应用程序使用它) 最佳地址:addr1(因为它有两个应用程序使用它)

因此,我将构建一些启发式规则来定义什么是“最佳”电子邮件和地址

为此,我有一些选择:

  • 我可以创建一个从
    John
    email2
    addr1
    的边缘。因此,MDM用户很容易从John处获得“最佳”地址/电子邮件

  • 我可以构建一个RESTAPI端点,并在查询时创建这个启发式

  • 有没有人有使用graph数据库或设计MDM数据库的经验? 这是一个好方法吗


    这个问题是对这个问题的补充:

    方法1将添加大量本质上冗余的信息(大约2N个额外的关系,其中N是人数),并且还需要更复杂的编码来处理对个人应用程序的更改。而且,像往常一样,当信息被冗余存储时,您必须特别小心,以免出现不一致的情况。但是,在查询“最佳”联系信息时应该更快

    方法2保持数据库大小不变,但需要更复杂、更慢的查询来获取“最佳”联系信息。然而,改变一个人的应用程序和联系方式是很简单的

    为了决定使用哪种方法,你应该考虑dB大小是否是个问题,也要考虑你的用例,以及它们的执行频率。


    如果DB大小不是问题,这里有一个简单的启发式方法。假设
    G
    是您需要获取某人“最佳”联系信息的频率,
    M
    是您需要修改某人的应用程序或联系信息的频率。如果
    G/M
    的值超过某个阈值,
    K
    ,您将选择方法1,您必须在考虑上述因素的情况下做出决定。

    图形数据模型适合存储主数据,您的主数据很可能以维度的形式与操作和参考数据共存。 如果您决定使用DMD的图形模型,请确保为核心维度MDM提供了定义良好的语义模型,通常:

  • 产品
  • 顾客
  • 雇员
  • 资产
  • 位置
  • 这些核心维度将成为节点的属性

    另外,决定您将采用什么样的DMD体系结构风格,一些流行的有:

  • 注册表图非常适合这种风格,因为您的主数据保留在SOS(记录系统)中,并且可以很好地在图中表示引用
  • 主数据中心-将记录系统从表格转换为图形所需的额外转换
  • 主人主人如果您没有太多依赖MDM的遗留应用程序,则此样式非常适合图表中的MDM

  • 如果你可以控制这些应用程序,那么为什么会有不同的电子邮件地址呢?