Google's Spanner Distributed DBMS Platform
Jump to navigation
Jump to search
A Google's Spanner Distributed DBMS Platform is a globally distributed NewSQL DBMS.
- …
- Example(s):
- v2017.
- …
- Counter-Example(s):
- See: Global Consistency, Google, NewSQL, Relational Model, Unique Key, Database_transaction, Bigtable, Database Management System, MySQL, Google Platform, Paxos Algorithm, Shard (Database_architecture).
References
2017
- (Wikipedia, 2017) ⇒ https://en.wikipedia.org/wiki/Spanner_(database) Retrieved:2017-2-15.
- Spanner is Google's globally distributed NewSQL database. Google describes Spanner as a not pure relational database system because each table must have a primary key column. The lack of transactions in Bigtable led to frequent complaints from users, so Google made distributed transactions central to Spanner's design. Based on its experience with Bigtable, Google argues that it is better to have application programmers deal with performance problems due to overuse of transactions as bottlenecks arise, rather than always coding around the lack of transactions. The Google F1 SQL database management system (DBMS) is built on top of Spanner,replacing Google's custom MySQL variant. Described as a NewSQL platform, Spanner is used internally within Google's infrastructure as part of the Google platform. Spanner uses the Paxos algorithm as part of its operation to shard data across hundreds of datacenters. It makes heavy use of hardware-assisted time synchronization using GPS clocks and atomic clocks to ensure global consistency.
2017b
- (Bacon et al., 2017) ⇒ David F. Bacon, Nathan Bales, Nico Bruno, Brian F. Cooper, Adam Dickinson, Andrew Fikes, Campbell Fraser, Andrey Gubarev, Milind Joshi, Eugene Kogan, Alexander Lloyd, Sergey Melnik, Rajesh Rao, David Shue, Christopher Taylor, Marcel van der Holst, and Dale Woodford. (2017). “Spanner: Becoming a SQL System.” In: Proceedings of the 2017 ACM International Conference on Management of Data. ISBN:978-1-4503-4197-4 doi:10.1145/3035918.3056103
- QUOTE: Spanner is a globally-distributed data management system that backs hundreds of mission-critical services at Google. Spanner is built on ideas from both systems and database communities. The first Spanner paper published at OSDI'12 focused on the systems aspects such as scalability, automatic sharding, fault tolerance, consistent replication, external consistency, and wide-area distribution.
2013
- (Corbett et al., 2013) ⇒ James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, Jeffrey John Furman, Sanjay Ghemawat, et al. (2013). “Spanner: Google’s Globally Distributed Database.” ACM Transactions on Computer Systems (TOCS) 31, no. 3
- ABSTRACT: Spanner is Google’s scalable, multiversion, globally distributed, and synchronously replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This article describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: nonblocking reads in the past, lock-free snapshot transactions, and atomic schema changes, across all of Spanner.