Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The size ratio controls some interesting performance trade-offs. By setting the size ratio > 1, it gives a leveling style merge policy[1]. There will be a list of disk components with exponentially-increasing sizes. By setting the size ratio < 1, it gives a tiering style merge policy[1].  The expected performance trends of write throughput are illustrated below.


Image Modified

Image Modified


In general, increasing the size ratio will increase the merge frequency and reduce the number of disk components. Thus, this will increase the write throughput but decrease query performance. To see this, consider two extremes. When the size ratio is set at 0, then no merge will be performed at all. When the size ratio is set at an extremely large value, there will be just one giant disk component. This giant disk component will be merged with the newly flushed component whenever a flush completes. Under an update-heavy workload, the size ratio also controls the space utilization. More disk components will result in lower space utilization because of more obsolete records.

More explanation of these trade-offs can be found in [1]. More explanation of this merge policy can be found in [2] (Section 5.3). It should be noted that this merge policy is highly dynamic and non-deterministic. Don't be suprised if different partitions have different storage layouts when using this merge policy.

...