Database / Google Spanner Database Interview questions
How is data partitioned across nodes in Spanner?
Spanner partitions data by primary key range into splits, and each split is assigned to a Paxos group of replicas spread across the zones or regions in the instance configuration. As data grows or a range becomes hot, Spanner's placement driver automatically divides an oversized or overloaded split into smaller ones and can reassign splits to different servers to balance load.
Interleaved child tables share the same splits as their parent, since their keys are prefixed by the parent's key, which keeps related rows together during this partitioning. Nodes and processing units don't map one-to-one to fixed shards; instead, Spanner continuously reassigns splits across available compute capacity, so scaling up adds capacity without any manual resharding step from the application team.
More Related questions...