【问题标题】:database design - ERD Modeling question for Graph within AWS数据库设计 - AWS 中 Graph 的 ERD 建模问题
【发布时间】:2019-03-03 21:24:45
【问题描述】:

我有一个用于 RDBMS 的数据库设计的 ERD。 基于 Dataset 的 type 属性,Dataset 与 Policy 有多对多的关系。数据集实体有很多属性。

问题是数据集将来可以有额外的属性来查询。现在,这让我有了一个像 DynamoDB 这样的 NOSQL DB。但是附加属性的未知查询将我(恕我直言)引向 NoSQL DB 之上的 Graph 模型。 因此,我可以有以下 Graph 关系:

数据集有一个类型。类型有一个策略。如果没有提供,类型也有一个默认策略。这是为 Dataset 类型建模 Dataset 与 Policy 的多对多关系。我可以稍后处理 Dataset 实体的其他属性并将其添加到 NOSQL DB 并使用 NOSQL 之上的 Graph 模型(Neptune)对其进行查询?这是建模的正确方法吗?

TIA,

【问题讨论】:

    标签: graph nosql data-modeling


    【解决方案1】:

    想出了一个不同的解决方案来处理使用 Postgres 处理额外的未来属性的问题,并为数据集实体提供一个 jsonb 列。

    metadata jsonb,
    

    因此,您可以在此 json 中添加尽可能多的新属性并将其推送到 jsonb 列。 然后我可以在 WHERE 子句中这样查询它:

    metadata->>'startIdx' <= '${startIdx}'
    

    表不需要更改为新字段,但查询需要适应查询中的新字段。很久以前,同样的概念使用 xml 而不是 json,但是 RDBMS 没有办法查询列中的 json 数据。

    Postgres Jsonb Doc

    【讨论】:

      猜你喜欢
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 2017-03-18
      • 1970-01-01
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多