【问题标题】:Where does the idea of a 10MB partition size come from?10MB 分区大小的想法从何而来?
【发布时间】:2019-11-29 17:43:09
【问题描述】:

我正在 Cassandra 中对时间序列数据进行一些数据建模,我决定实施存储桶来调节我的分区大小并在我的集群上保持合理的分布。

我决定对分区进行分桶,以使我的分区大小不超过 10MB,因为我看到许多资料表明这是理想的分区大小,但我找不到任何关于为什么选择 10MB 的信息。最重要的是,我在 DataStax 或 Apache 中找不到任何提到这个 10MB 软限制的内容。

可以长时间请求我们的数据,这意味着如果分区大小保持在 10MB,则需要大量分区来处理 1 个请求。我宁愿增加分区的大小,并减少处理这些请求所需的分区。

10MB 分区大小的想法从何而来?它仍然相关吗?如果我的分区大小为 20MB,那会有什么不好?甚至 50MB?

10MB 在很多地方都被引用,我觉得它一定有一些东西。任何信息,将不胜感激。干杯。

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    我认为这些建议中的许多都来自旧时代,当时对宽分区的支持不是很好——当我们读取数据等时,堆压力很大。自从 Cassandra 3.0 以来,情况有了很大改善,但仍建议将磁盘大小保持在 100Mb 以下。

    例如,DataStax planning guide 在“估计分区大小”部分中说:

    一个好的经验法则是将最大行数保持在 100,000 项以下,磁盘大小保持在 100 MB 以下

    在 Cassandra 的最新版本中,我们可以超越此建议,但仍不建议这样做,尽管它在很大程度上取决于访问模式。您可以在following blog postthis video 中找到更多信息。

    我见过有 60+Gb 分区的用户 - 系统仍然可以工作,但数据分布并不理想,因此节点变得“热”,性能可能会受到影响。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多