【问题标题】:How do partition size affect read/write performances in Cassandra?分区大小如何影响 Cassandra 中的读/写性能?
【发布时间】:2018-04-28 07:22:03
【问题描述】:

我可以将我的表划分为少量较大的分区或几个较小的分区,但在我的用例中,大分区的大小仍然很小,永远不会超过 100MB。将有数百万用户从该表读取,那么当有这么多用户从单个分区读取时是否存在拥塞风险?

我可以想象在几个物理节点之间拆分读取查询比从单个物理节点读取要快,但是在多个虚拟节点之间拆分读取查询是否以同样的方式提高了性能?大分区的数量将超过物理节点的数量,那么通过较小分区的虚拟节点进一步分散数据是否会提高读取性能?更新计数器表分区的答案有什么不同吗?

所以基本上,我需要知道的是,如果数百万用户从同一个分区(大小小于 100MB)读取数据是否会导致拥塞。这是对我的项目真正重要的答案。但我也想知道如果通过更小的分区将数据进一步分布(常规表和计数器表),超出物理节点的数量,是否会提高读/写性能。

任何参考链接将不胜感激,因为我将撰写报告,并且总是首选参考文章、期刊或文档。

【问题讨论】:

    标签: performance cassandra partitioning cassandra-3.0


    【解决方案1】:

    在我看来,访问同一个分区(我们实际上是在讨论 cassandra 3.0 中的“行”)不是问题。如果集群上的负载在增加,那么您只需要添加更多节点,这就是无单点故障原则。集群中的每个节点都能够满足用户请求(取决于您的复制因子和读取一致性)。

    此外,如果您知道分区键将被大量访问,那么您可以使用表的键和行缓存功能,您将避免任何磁盘访问

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 2019-07-17
      • 1970-01-01
      • 2018-10-30
      • 2016-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多