[go: up one dir, main page]

Vés al contingut

Spanner

De la Viquipèdia, l'enciclopèdia lliure
Demostració de Cloud Spanner a la Google Cloud Summit

Spanner és un servei d'emmagatzematge i gestió de bases de dades SQL distribuïdes desenvolupat per Google.[1] Proporciona funcions com ara transaccions globals, lectures molt consistents, replicació automàtica de diversos llocs i migració per error. Spanner s'utilitza a Google F1, la base de dades del seu negoci publicitari Google Ads.[2]

Característiques[modifica]

Spanner emmagatzema grans quantitats de dades estructurades mutables. Spanner permet als usuaris realitzar consultes arbitràries mitjançant SQL amb dades relacionals, mantenint una gran consistència i una alta disponibilitat per a aquestes dades amb rèplica síncrona.

Característiques principals de Spanner:

  • Les transaccions poden ser aplicades a través de files, columnes, taules i bases de dades, sense sortir de l'univers Spanner.
  • Els clients poden controlar la replicació i la col·locació de les dades arreu de diferents llocs automàticament, gràcies a la rèplica i la recuperació després d'una fallada.
  • La replicació és sincrònica i fortament consistent.
  • Les lectures són molt consistents i les dades són versionades per permetre lectures desactualitzades: els clients poden llegir versions anteriors de dades, depenent de finestres d'escombrat de memòria.
  • Suporta una interfície SQL nativa per llegir i escriure dades.

Història[modifica]

Spanner fou descrita per primera vegada el 2012 per als centres de dades interns de Google .[3]

El suport a SQL fou afegit el 2017 i documentat al SIGMOD 2017.[4] Esdevingué part de Google Cloud Platform el 2017, sota el nom de "Cloud Spanner".[5]

Arquitectura[modifica]

Spanner utilitza l'algorisme de Paxos com a part de la seva operació per dividir (particionar) dades en fins a centenars de servidors.[1] Fa un gran ús de la sincronització del rellotge assistida per maquinari utilitzant rellotges GPS i rellotges atòmics per garantir la consistència global.[1] TrueTime és la marca de la infraestructura de núvol distribuïda de Google, que proporciona a Spanner la capacitat de generar claus de temps úniques i incrementals als centres de dades de tot el món.[6]

El sistema de gestió de bases de dades (DBMS) F1 SQL de Google està construït sobre Spanner,[2] substituint la variant MySQL personalitzada de Google.[7]

Referències[modifica]

  1. 1,0 1,1 1,2 Corbett et al., 2012.
  2. 2,0 2,1 Shute et al., 2012.
  3. Clark, Jack. «Google reveals Spanner, the database tech that can span the planet». ZDNet, September 18, 2012. [Consulta: 10 maig 2023].
  4. «Spanner: Becoming a SQL System».
  5. Srivastava, Deepti. «Introducing Cloud Spanner: a global database service for mission-critical applications». Google Cloud Blog. [Consulta: 10 maig 2023].[Enllaç no actiu]
  6. «Cloud Spanner: TrueTime and external consistency» (en anglès). Google Cloud. [Consulta: 10 maig 2023].[Enllaç no actiu]
  7. Shute et al., 2012, p. 19.

Bibliografia[modifica]