How Do Many Small Partitions Influence Memory Usage in ScyllaDB?

Hello everyone,

In ScyllaDB, does having a large number of small partitions significantly increase Bloom filter memory consumption?

I found a post discussing this issue in Cassandra, as shown in the following link:

However, I couldn’t find similar information specific to ScyllaDB.

On the other hand, ScyllaDB strongly recommends creating small partitions to avoid hotspots. Would it be acceptable to reduce the number of partitions and make them larger, as long as hotspots can still be avoided?

Thank you in advance!

It seems I was confusing the primary key and partition key. While the partition key should ideally have high cardinality, the primary key itself does not need to have high cardinality. ScyllaDB University recommends designing partitions to be neither too small nor too large.

The maximum number of rows per partition is not universally determined, but varies depending on the actual workload and queries.
https://groups.google.com/g/scylladb-users/c/I_qHdQV5u1Q/m/BIjBveceCQAJ

The official blog below suggests keeping the partition size below 100MB. Currently, it seems that warning logs are generated for sizes above 1000MB, as the limit has been raised.

It appears that having a very large number of small partitions significantly increases the memory consumption of Bloom filters, which is true not only for Cassandra but also for ScyllaDB.
https://groups.google.com/g/scylladb-users/c/3d-GhCl6x3U/m/V_YUpv3vAwAJ

Regarding the issue of Bloom filter size, various efforts are still ongoing.

Based on this information, my conclusions are as follows:

  • An increase in Bloom filter memory consumption due to the presence of many small partitions is inevitable.
  • Addressing this issue is similar to handling hot/big partition problems, and it is important to design partitions appropriately and monitor them closely.

Since my original question has been resolved, I consider this issue closed, but if there are any inaccuracies in the information, please let me know.

1 Like