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 静态专栏 - 多少份?的主要内容,如果未能解决你的问题,请参考以下文章
无法连接到 python 上的 cassandra(使用 cassandra-driver