微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cassandra 分区键和聚类列大小

如何解决Cassandra 分区键和聚类列大小

cassandra 是如何计算分区键和聚簇键的大小的。例如,我们有具有相对较大的分区键(UUID 和 UUID 的组合)以及较大的集群键的表

mydb/parent/6E219A7E21044B48B8816B931925CCDB/child1/29E6E709854D49CFAC72ECD5E1AEBFA3/ mydb/parent/6E219A7E21044B48B8816B931925CCDB/child2/29E6E709854D49CFAC72ECD5E1AEBFA4/ mydb/parent/6E219A7E21044B48B8816B931925CCDB/child3/29E6E709854D49CFAC72ECD5E1AEBFA5/

这里 PK - 6E219A7E21044B48B8816B931925CCDB 聚类列是 - /child1/29E6E709854D49CFAC72ECD5E1AEBFA3/

我们在第 n 级有子级(现在我们做到 100 级)

现在,当我们有大约 3 亿的海量数据时,使用大键会对性能产生影响,还会对磁盘使用产生什么影响

解决方法

拥有大分区键或集群键不是问题。它对性能没有影响。

您唯一应该避免的事情是使用大分区。例如,在您的情况下,单个分区中有 100 行。因此,如果所有行的总大小在 10MB (Ideal size of a Cassandra partition is equal to or lower than 10MB with a maximum of 100MB.) 以内,那么您就做得很好。您可以参考 this link 来计算您的分区大小。

如果您的分区大小很大,那么您必须优化您的数据模型以减少您的分区大小。以下是一些通常用于减小分区大小的技术

  1. 分桶 - 使用您的分区键引入一个数字。一般应用于时间序列数据。 (更多可以阅读here.
  2. 从表中引入另一列作为分区键的一部分。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?