Spanner (database)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Cloud Spanner Booth at Google Cloud Summit

Spanner is Google's NewSQL database.[1] Google acknowledges that Spanner is not a pure relational database system because each table must have a primary key.[2]

Features[edit]

Bigtable's lack of transactions led to frequent user complaints, so Google made distributed transactions central to Spanner's design. Google decided to have application programmers address performance problems as bottlenecks arise, rather than coding around the lack of transactions.[2]

History[edit]

Spanner joined the Google platform in February 2017.[3] It is available as part of Google Cloud Platform.[4]

Architecture[edit]

Spanner uses the Paxos algorithm as part of its operation to shard (partition) data across hundreds of servers.[1] It makes heavy use of hardware-assisted clock synchronization using GPS clocks and atomic clocks to ensure global consistency.[1]

Google's F1 SQL database management system (DBMS) is built on top of Spanner,[5] replacing Google's custom MySQL variant.[6]

References[edit]

  1. ^ a b c Corbett et al. 2012.
  2. ^ a b Corbett et al. 2012, p. 4.
  3. ^ Clark, Jack (September 18, 2012). "Google reveals Spanner, the database tech that can span the planet". ZDNet. Retrieved 2012-09-21.
  4. ^ Srivastava, Deepti (2017-02-14). "Introducing Cloud Spanner: a global database service for mission-critical applications".
  5. ^ Shute et al. 2012.
  6. ^ Shute et al. 2012, p. 19: ‘Summary: We've moved a large and critical application suite from MySQL to F1.’

Bibliography[edit]

  • 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.
  • 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.

Further reading[edit]

  • Date, Christopher ‘Chris’ J, "6. Relations, Part II. The Relational Model", An Introduction to Database Systems (8th ed.), Addison Wesley, ISBN 978-0321197849.

External links[edit]