Spanner es una base de datos SQL distribuida desarrollada por Google . [1] Spanner es una solución de almacenamiento y servicio de base de datos distribuida globalmente. Proporciona características tales como transacciones globales, lecturas muy consistentes y replicación y conmutación por error automáticas en múltiples sitios.
Características
Spanner almacena grandes cantidades de datos estructurados mutables. Spanner permite a los usuarios realizar consultas arbitrarias usando SQL con datos relacionales mientras mantienen una gran consistencia y alta disponibilidad para esos datos con replicación síncrona.
Características clave de Spanner:
- Las transacciones se pueden aplicar en filas, columnas, tablas y bases de datos dentro de un universo Spanner.
- Los clientes pueden controlar la replicación y la ubicación de los datos mediante la replicación automática de múltiples sitios y la conmutación por error.
- La replicación es sincrónica y muy consistente.
- Las lecturas son muy consistentes y los datos están versionados para permitir lecturas obsoletas: los clientes pueden leer versiones anteriores de datos, sujeto a las ventanas de recolección de basura.
- Admite una interfaz SQL nativa para leer y escribir datos.
Historia
Spanner se unió a la plataforma de Google en febrero de 2017. [2] Está disponible como parte de Google Cloud Platform . [3]
La capacidad SQL de Spanner se agregó en 2017 y se documentó en un documento SIGMOD 2017. [4]
Arquitectura
Spanner utiliza el algoritmo de Paxos como parte de su operación para fragmentar (particionar) datos en cientos de servidores. [1] Hace un uso intensivo de la sincronización de reloj asistida por hardware utilizando relojes GPS y relojes atómicos para garantizar la coherencia global . [1] TrueTime es el nombre comercial de la infraestructura de nube distribuida de Google, que proporciona a Spanner la capacidad de generar marcas de tiempo que aumentan monótonamente en centros de datos de todo el mundo. [5]
El sistema de administración de base de datos (DBMS) F1 SQL de Google está construido sobre Spanner, [6] reemplazando la variante MySQL personalizada de Google . [7]
Referencias
- ^ a b c Corbett y col. 2012 .
- ^ Clark, Jack (18 de septiembre de 2012). "Google revela Spanner, la tecnología de base de datos que puede abarcar el planeta" . ZDNet . Consultado el 21 de septiembre de 2012 .
- ^ Srivastava, Deepti (14 de febrero de 2017). "Presentamos Cloud Spanner: un servicio de base de datos global para aplicaciones de misión crítica" .
- ^ "Spanner: Convertirse en un sistema SQL" .
- ^ "Cloud Spanner: TrueTime y consistencia externa" . Google Cloud . Consultado el 24 de noviembre de 2020 .
- ^ Shute y col. 2012 .
- ^ Shute y col. 2012 , pág. 19: 'Resumen: Hemos trasladado un conjunto de aplicaciones importantes y de gran tamaño de MySQL a F1'.
Bibliografía
- Corbett, James C; Dean, Jeffrey ; Epstein, Michael; Fikes, Andrew; Frost, Christopher; Furman, JJ; Ghemawat, Sanjay ; Gubarev, Andrey; Heiser, Christopher; Hochschild, Peter; Hsieh, Wilson; Kanthak, Sebastián; 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 , consultado el 18 de septiembre de 2012.
- Fecha, Christopher 'Chris' J (2004), "6. Relaciones, Parte II. El modelo relacional", Introducción a los sistemas de bases de datos (8ª ed.), Addison Wesley, ISBN 978-0-32119784-9.
- Silencio, 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: el RDBMS distribuido tolerante a fallas que respalda el negocio publicitario de Google", Investigación (presentación), Sigmod : Google.