Cassandra 静态专栏 - 多少份?

Posted

技术标签:

【中文标题】Cassandra 静态专栏 - 多少份?【英文标题】:Cassandra static column - How many copies? 【发布时间】:2015-09-18 04:47:19 【问题描述】:

我一直在阅读有关静态列的内容,并且有一个会影响我的设计的问题。我将有一列存储相当长的字符串。此列将是包含数亿行的表的一部分。那么我的问题是存储中只有这个静态列的 1 个副本,还是它仍然存储多个副本。我假设在 Java 中只有一个副本,但我无法在任何地方找到明确的答案。我要声明为静态的一列会很大,所以我不想在存储中复制这些数据。

【问题讨论】:

【参考方案1】:

每个SSTABLE 将在磁盘上存储一次静态列。但是,在您回答以下问题之前,不要假设它只会被写入磁盘一次:

    有多少个表会有静态列? 什么是复制因子?

例如,您遵循每个查询一个表的数据设计方法,并且有两个查询将请求静态列。您应该将其存储在两个单独的表中,这意味着它被写入磁盘两次。如果在节点之间复制 3 次,则总共写入 2*3 次。

如果您想了解估计磁盘空间使用情况,请查看Datastax DS220 unit Physical Partition Size。

【讨论】:

【参考方案2】:

如您所愿,静态列仅在磁盘上存储一次。

查看这个问题,虽然标记为离题,但通过直接查看数据如何存储在 Cassandra SSTables 中,包含对该问题的结论性答案:

Cassandra Static Column design

【讨论】:

以上是关于Cassandra 静态专栏 - 多少份?的主要内容,如果未能解决你的问题,请参考以下文章

cass怎么给实体添加属性

实战-Cassandra之压测

无法连接到 python 上的 cassandra(使用 cassandra-driver

在 cassandra 中导入和导出模式

更快,可扩展性更强的 Apache Cassandra 4.0 正式发布

Cassandra 如何对静态列族进行排序