Cassandra 表有多少个分区键?

Posted

技术标签:

【中文标题】Cassandra 表有多少个分区键?【英文标题】:how many partition key for a Cassandra table? 【发布时间】:2015-06-10 17:28:08 【问题描述】:

Cassandra 表的分区键?

在客户表customerid是分区键?

假设我一年有 100 万客户,所以我有 100 万个分区

10 年后,我有 1000 万或更多客户......所以我有 1000 万个分区

所以我的问题是? 1)如果我想读取客户表(1000万分区)会影响读取性能吗?

注意:在单个分区中,我们可能有 50 到 100 列?

【问题讨论】:

【参考方案1】:

您的想法是正确的,您希望使用数据建模来创建多租户环境。需要注意的是,您不想在 Cassandra 中进行全表/多分区扫描来检索该数据。原因有很好的记录,但是任何时候你有一个高度分布式的环境,你都会希望尽量减少网络跳数、数据混洗等的数量。不能对抗物理:)

无论如何,这听起来像是报告类型的用例 - 您将需要使用 Spark 或某种类型的 map 和 reduce 来有效地报告这样的多个分区。

【讨论】:

以上是关于Cassandra 表有多少个分区键?的主要内容,如果未能解决你的问题,请参考以下文章

Cassandra 中的手动压缩

Cassandra 数据建模分区键

Cassandra:最佳分区大小

Cassandra 分区键可以跨一个键空间中的多个表吗?

Cassandra 分区键部分丢失

如何在 Java 中的 Cassandra 中注释/使用复合分区键?