NoSQL数据模型中的代理键

NoSQL数据模型中的代理键

问题描述:

我们试图将现有的RDBMS迁移到NOSQL数据库。由于我们在数据仓库中有代理键的概念,因此我们如何根据NOSQL数据库来处理这些键? 当涉及到将现有RDBMS迁移到NOSQL数据库时,NOSQL数据库中的最佳实践是什么? 我们正在寻找Accumulo,Cassandra或Hbase的实施。 请帮忙NoSQL数据模型中的代理键

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