【问题标题】:Cassandra Table Design卡桑德拉表设计
【发布时间】:2020-04-18 18:28:43
【问题描述】:

谁能用更详细的方式解释以下内容?特别是,如果看到没有“高阶重复”和“关键字”(似乎没有解释)的描述,对我有很大帮助。

表设计必须考虑高阶的可能性 重复,例如无限关键字存储在大量 行。 m行存储n个关键字的case不是一张好表 设计。您仍然应该重新考虑表模式以获得更好的设计 将查询放在首位。

这是来自这里的摘录:https://docs.datastax.com/en/archived/cql/3.3/cql/ddl/dataModelingAnalysis.html

我了解在多个表中包含相同数据的概念,以减少以编程方式连接多个表中的数据的需要。引用的 2 个句子是否突出了重复程度成为问题的某些场景?

谢谢!

【问题讨论】:

    标签: database-design cassandra nosql


    【解决方案1】:

    我相信文档基本上是试图推动去规范化可以做什么的想法。他们以骑自行车者的名字为例。这可能会出现在多行中,因为它是非规范化的(与关系结构不同)。由于冗余/复制/非规范化,您的存储消耗可以比关系数据库增长得快得多。

    我相信他们所指的另一件事是,如果您有诸如类别之类的东西(本质上是“列表”类型的列值),其中所有行都有许多类别(可能是无限数量的类别) ,由于重复,您最终可能会得到大量数据 - 这可能会影响您的查询响应和空间消耗。您应该仔细考虑设计以确定查询所需类别的频率。如果不是那么频繁,也许更好的表设计可以发挥作用(例如,将列表拆分为一个单独的表,后续查询将满足需要它的小型查询集)。简而言之,这个想法是在实施之前暂时暂停,以确保您的设计在分布式/复制环境中有意义。

    这是我从文档中收集到的。

    -吉姆

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      相关资源
      最近更新 更多