【问题标题】:What exactly is a partition size in cassandra?cassandra 中的分区大小到底是多少?
【发布时间】:2021-07-15 22:18:44
【问题描述】:

我是 Cassandra 的新手,我有一个有 6 个节点的 cassandra 集群。我正在尝试查找分区大小,

试图用这个基本命令来获取它

nodetool tablehistograms keyspace.tablename

现在,我想知道它是如何计算的,为什么结果除了min,max之外只有5条记录,而节点数是6。节点大小和表的分区数有关系吗?

从根本上说,我所知道的是分区键用于散列和分发要在各个节点之间持久保存的数据

我们应该在什么时候进行分桶?我假设 Cassandra 有一个分区器来处理跨节点的分布式持久性。

【问题讨论】:

    标签: cassandra cassandra-3.0


    【解决方案1】:

    此列中的条目数与节点数无关。它显示了值的分布 - 您有最小值、最大值和 percentiles (50/75/95/98/99)。

    大部分nodetool 命令不显示任何关于其他节点的信息——它们只是提供关于当前节点的信息的工具。

    附:这个document 将有助于解释如何解释这些信息。

    【讨论】:

      【解决方案2】:

      正如命令的名称所暗示的,tablehistograms 报告节点所拥有的分区的元数据分布。

      为了补充 Alex Ott 已经说过的内容,百分位数(不是百分比)提供了对元数据值范围的洞察。例如:

      • 给定表的 50% 分区的大小为 74KB 或更小
      • 95% 为 263KB 或更少
      • 98% 为 455KB 或更少

      这些元数据与集群中的分区数或节点数没有任何关联。

      您是正确的,因为分区键被散列并且结果值确定了分区(及其关联的行)的存储位置(分布在集群中的节点之间)。如果您有兴趣,我已经在这篇文章中通过一些示例进行了更详细的解释——https://community.datastax.com/questions/5944/

      就分桶而言,您通常会这样做以减少分区中的行数,从而减小其大小。一般建议是保持分区大小小于 100MB 以获得最佳性能,但这不是硬性规定 - 只要您知道权衡取舍,您就可以拥有更大的分区。

      在您的情况下,larges 分区只有 455KB,因此大小不是问题。干杯!

      【讨论】:

        猜你喜欢
        • 2014-03-06
        • 2012-09-04
        • 1970-01-01
        • 1970-01-01
        • 2021-11-15
        • 2018-05-28
        • 2011-06-06
        • 1970-01-01
        • 2016-05-12
        相关资源
        最近更新 更多