This aricle, F1: A Distributed SQL Database That Scales by Srihari Srinivasan, is republished with permission from a blog you really should follow: Systems We Make - Curating Complex Distributed Systems.
With both the F1 and Spanner papers out its now possible to understand their interplay a bit holistically. So lets start by revisiting the key goals of both systems.
- System must be able to scale up by adding resources
- Ability to re-shard and rebalance data without application changes
- ACID consistency for transactions
- Full SQL support, support for indexes