This article contains content that is written like an advertisement. (March 2019) (Learn how and when to remove this template message)
Spanner is a NewSQL database developed by Google. Spanner is a globally distributed database service and storage solution. It provides features such as global transactions, strongly consistent reads, and automatic multi-site replication and failover.
Spanner stores large amounts of mutable structured data. Spanner allows users to perform arbitrary queries using SQL with relational data while maintaining strong consistency and high availability for that data with synchronous replication.
Key features of Spanner:
- Transactions can be applied across rows, columns, tables, and databases within a Spanner universe.
- Clients can control the replication and placement of data using automatic multi-site replication and failover.
- Replication is synchronous and strongly consistent.
- Reads are strongly consistent and data is versioned to allow for stale reads: clients can read previous versions of data, subject to garbage collection windows.
- Supports a native SQL interface for reading and writing data.
Spanner uses the Paxos algorithm as part of its operation to shard (partition) data across hundreds of servers. It makes heavy use of hardware-assisted clock synchronization using GPS clocks and atomic clocks to ensure global consistency.
- Corbett et al. 2012.
- Clark, Jack (September 18, 2012). "Google reveals Spanner, the database tech that can span the planet". ZDNet. Retrieved 2012-09-21.
- Srivastava, Deepti (2017-02-14). "Introducing Cloud Spanner: a global database service for mission-critical applications".
- "Spanner: Becoming a SQL System".
- Shute et al. 2012.
- Shute et al. 2012, p. 19: ‘Summary: We've moved a large and critical application suite from MySQL to F1.’
- Corbett, James C; Dean, Jeffrey; Epstein, Michael; Fikes, Andrew; Frost, Christopher; Furman, JJ; Ghemawat, Sanjay; Gubarev, Andrey; Heiser, Christopher; Hochschild, Peter; Hsieh, Wilson; Kanthak, Sebastian; Kogan, Eugene; Li, Hongyi; Lloyd, Alexander; Melnik, Sergey; Mwaura, David; Nagle, David; Quinlan, Sean; Rao, Rajesh; Rolig, Lindsay; Saito, Yasushi; Szymaniak, Michal; Taylor, Christopher; Wang, Ruth; Woodford, Dale, "Spanner: Google's Globally-Distributed Database" (PDF), Proceedings of OSDI 2012, Google, retrieved 18 September 2012.
- Date, Christopher ‘Chris’ J (2004), "6. Relations, Part II. The Relational Model", An Introduction to Database Systems (8th ed.), Addison Wesley, ISBN 978-0-32119784-9.
- Shute, Jeffrey ‘Jeff’; Oancea, Mircea; Ellner, Stephan; Handy, Benjamin ‘Ben’; Rollins, Eric; Samwel, Bart; Vingralek, Radek; Whipkey, Chad; Chen, Xin; Jegerlehner, Beat; Littlefield, Kyle; Tong, Phoenix (2012), "F1 — the Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business", Research (presentation), Sigmod: Google.