我是cassandra的新手,我问自己,如果我有多个数据中心,并且某个数据中心将没有足够的物理内存来存储所有数据,那会发生什么。
假设我们有2个DC。第一个DC可以存储1 TB,第二个DC只能存储500 GB。此外,假设两个DC的复制因子均为1。据我了解,两个DC都将具有完整的令牌环,因此每个DC都将具有完整的数据。如果我将数据推送到DC 1并且所需的存储总量超过500 GB,现在会发生什么?
答案 0 :(得分:3)
为简单起见,我将考虑使用DC1写入数据,因此在每种情况下,该数据都将是本地DC。处于关闭状态的DC2将一直处于远程状态。因此,真正重要的是您用来写的一致性级别:
我建议阅读有关consistency levels的信息。
此外,使用ccm和cassandra-stress工具进行的快速测试可能有助于重现不同的情况。
关于您的可用空间的另一条评论:当节点达到250GB标记(一半为500GB)时,您将遇到压缩问题。建议将磁盘的一半留空以进行压缩。
但是,假设您将继续向该节点获取数据,并且将达到500GB的标记。 Cassandra将在该节点上停止。