Hi everyone, We'd like to propose CEP-60: Flexible Placements [1] for adoption by the community. Building on CEP-21's Transactional Cluster Metadata [2], CEP-60 enables incremental, resumable operations, improved cluster density, and flexibility of data placements / ownership.
CEP-60 benefits all users by further improving reliability of ownership operations. With flexible placements, clusters maintain near-optimal load balance at any size without explicit rebalancing phases. Ownership changes are broken into smaller sub-range steps that benefit from zero-copy streaming. CEP-60 is designed for incremental delivery: range-aware compaction, routing key abstractions, and metrics collection are useful on their own and will ship independently of the flexible placements feature. Existing token-based and vnode clusters will continue to work (while benefitting from incremental ops), and flexible placements can be enabled (and later disabled, if ever needed) on a per-keyspace basis. The CEP is linked here: https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-60:+Flexible+Placements Looking forward to the discussion of this CEP here on the dev list. Thanks! [1] https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-60:+Flexible+Placements [2] https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-21%3A+Transactional+Cluster+Metadata
