【问题标题】:Surrogate keys in NoSQL data modelNoSQL 数据模型中的代理键
【发布时间】:2017-08-11 02:41:08
【问题描述】:

我们正在尝试将现有的 RDBMS 迁移到 NOSQL 数据库。既然我们在数据仓库中有代理键的概念,那么我们如何根据 NOSQL 数据库来处理这些? 在将现有 RDBMS 迁移到 NOSQL 数据库时,NOSQL 数据库有哪些好的做法? 我们正在寻找 Accumulo、Cassandra 或 Hbase 实现。 请帮忙

【问题讨论】:

    标签: cassandra model hbase rdbms accumulo


    【解决方案1】:

    我可以说一些关于 Cassandra 的词,这将与任何其他键值存储相关。它的模式建模是基于查询的。所以你需要先考虑你的查询,然后根据查询创建表和键。
    当然,会有数据冗余和非规范化。 例如,您可能在 RDBMS 中有一个包含自然键和代理键的表。但是,如果您习惯使用代理键进行搜索,那么对于 NOSQL,它将变成 2 个具有 NaturalKey->ValueSurrogateKey->Value 关系的表。
    NOSQL 只有一个键(尽管它可以包含多列),因此代理键和自然键之间没有技术差异,因为它们都是“键”。
    您可能会发现唯一有用的是您需要在 Cassandra 上使用 UUID 代理键而不是计数器(看起来与自动增量字段非常相似)。
    代理键在数据仓库中的使用方式略有不同:它们用于连接事实表和维度表,但键值数据库在 RDBMS 方面没有连接。
    你可以在hereherehere找到更多关于Cassandra的数据建模和使用的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-19
      • 1970-01-01
      • 2016-11-07
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多