advanced
Implement Sharding Strategy for Relational Database
Develop a horizontal scaling strategy for a relational database dealing with massive write throughput.
📝 Contenu du Prompt
Design a sharding strategy for a multi-tenant relational database that has exceeded the write capacity of a single master node. Evaluate horizontal partitioning (sharding) vs vertical partitioning. If choosing sharding, select a sharding key (e.g., hash-based vs range-based) that minimizes cross-shard queries. Discuss the challenges of maintaining referential integrity and executing distributed transactions (ACID compliance) across shards. Propose a re-sharding plan for when a specific shard becomes a hot spot.