我正在为Cassandra环境设计键空间和表。我了解Cassandra的大小限制,并了解如何使用分区键以使其保持最佳状态。但是,在如何处理密钥方面,我与开发人员存在分歧。拥有包含大量数据而不是少量数据的密钥是否有任何弊端。例如,
我有10万条记录。我可以创建一个将其划分为10k的密钥;我还可以创建一个密钥,将其划分为10条记录(按天)。所以我要么存储10k和10个分区,要么存储10个记录和10,000个分区。
答案 0 :(得分:2)
请记住,键中有更多列需要您在select语句中指定这些列,有时是不希望的。分区越多越好-无论是选择更好的单列还是多列。
Cassandra通过分区键读取数据,如果使用群集列,则可以获得性能方面的帮助。如果您有一个较大的分区,则必须读取整个分区(内存和磁盘),然后合并为输出。如果您的分区很大,那肯定会使您减速。