Let's follow through with along the topics of the last paper we read (Spanner), and look at what it actually is used for. In this weeks paper - "Online, Asynchronous Schema Changes in F1", we'll talk about F1 - which is a database system built on top of Spanner. But let's let the paper introduce by itself:
We introduce a protocol for schema evolution in a globally distributed database management system with shared data, stateless servers, and no global membership. Our protocol is a synchronous — it allows different servers in the database system to transition to a new schema at different times — and online — all servers can access and update all data during a schema change. We provide a formal model for determining the correctness of schema changes under these conditions, and we demonstrate that many common schema changes can cause anomalies and database corruption. We avoid these problems by replacing corruption-causing schema changes with a sequence of schema changes that is guaranteed to avoid corrupting the database so long as all servers are nomore than one schema version behind at any time. Finally, we discuss a practical implementation of our protocol inF1, the database management system that stores data for Google AdWords.
The format is, as always, a reading club, which means that we all read this paper: Online, Asynchronous Schema Change in F1 before the meeting. And during the meetup we discuss the most interesting parts of the proposed algorithm.
See you there!