我们如何实现 ScyllaDB 的“Tablets”数据分布

ScyllaDB announced the first GA release with a new tablets architecture. Tablets are the smallest replication unit, providing dynamic, parallel, and near-instant scaling. It allows for autonomous data balancing and optimizes performance.

  • Indirection and Abstraction: A tablets table stores metadata and serves as the truth source. Each tablet has a token-range-to-nodes-and-shards mapping that can change independently. It enables the shift from static to dynamic data distribution and synchronization via Raft.
  • Independent Tablet Units: Tablets distribute each table based on size on a subset of nodes and shards. Each tablet has its own mini memtable and SSTables, enabling fast and efficient migration. New nodes are added and decommissioned automatically with the load balancer.
  • LoadBalancer: It globally controls tablet transitioning, moving data to balance nodes and avoid overloading. It maintains serialization via Raft and is hosted on a single node that can be restarted elsewhere.
  • Tablet-aware drivers: New drivers provide performance and latency boost. They learn tablet information lazily by making requests to random nodes and getting correct routing information.
    Monitoring metrics and tablet visualization show how components work together for elasticity and speed. Tablets make ScyllaDB more elastic, scaling out faster with independent operations and less operator attention. Future versions will bring more innovation.
阅读 15
0 条评论