Spanner (distributed database technology)
   HOME

TheInfoList



OR:

Spanner is a distributed SQL database management and storage service developed by Google. It provides features such as global transactions, strongly consistent reads, and automatic multi-site replication and failover. Spanner is used in Google F1, the database for its advertising business Google Ads.


Features

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.


History

Spanner was first described in 2012 for internal
Google data centers Google data centers are the large data center facilities Google uses to provide their services, which combine large drives, computer nodes organized in aisles of racks, internal and external networking, environmental controls (mainly cooling a ...
. Spanner's SQL capability was added in 2017 and documented in a SIGMOD 2017 paper. It became available as part of
Google Cloud Platform Google Cloud Platform (GCP), offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search, Gmail, Google Drive, and YouTube. Alongside ...
in 2017, under the name "Cloud Spanner".


Architecture

Spanner uses the Paxos algorithm as part of its operation to shard (partition) data across up to hundreds of servers. It makes heavy use of hardware-assisted clock synchronization using GPS clocks and atomic clocks to ensure global consistency. TrueTime is the brand name for Google's distributed cloud infrastructure, which provides Spanner with the ability to generate monotonically increasing timestamps in datacenters around the world. Google's F1 SQL
database management system In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases span ...
(DBMS) is built on top of Spanner, replacing Google's custom MySQL variant.


References


Bibliography

* . * . * . * . {{Google Inc., state=collapsed Databases Distributed computing Google software NewSQL