Database / Google Spanner Database Interview questions
Explain the lifecycle of a split in Spanner?
A split begins as part of a larger key range, typically the entire table when it's small, and evolves as data volume and traffic change over time.
As a split grows past internal size thresholds, or its traffic concentrates load unevenly, Spanner's placement driver splits it into two or more smaller ranges, each getting its own Paxos group of replicas. The driver continuously monitors CPU and storage metrics per split and can move a split's replicas to different zones or servers to rebalance the cluster, all without any application-visible downtime, since reads and writes are redirected transparently as splits move. Splits can also merge back together if data is deleted and a range becomes small and cold, keeping split count proportional to actual load rather than growing indefinitely.
More Related questions...