
Spanner es un servicio distribuido de gestión y almacenamiento de bases de datos SQL desarrollado por Google . [ 1 ] Ofrece funcionalidades como transacciones globales, lecturas con consistencia fuerte y replicación y conmutación por error automáticas en múltiples sitios. Spanner se utiliza en Google F1 , la base de datos de su negocio publicitario Google Ads , así como en Gmail y Google Fotos. [ 2 ] [ 3 ]
Características
Spanner almacena grandes cantidades de datos estructurados mutables. Spanner permite a los usuarios realizar consultas arbitrarias mediante SQL con datos relacionales, manteniendo una fuerte consistencia y alta disponibilidad para esos datos gracias a la replicación síncrona.
Características principales de Spanner:
- Las transacciones se pueden aplicar a través de 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 en múltiples sitios y la conmutación por error.
- La replicación es síncrona y altamente consistente.
- Las lecturas son altamente consistentes y los datos están versionados para permitir lecturas obsoletas: los clientes pueden leer versiones anteriores de los datos, sujetas a las ventanas de recolección de basura.
- Admite una interfaz SQL nativa para la lectura y escritura de datos.
- Soporte para el lenguaje de consulta de grafos [ 4 ]
Historia
Spanner se describió por primera vez en 2012 para los centros de datos internos de Google . [ 5 ]
La capacidad SQL de Spanner se agregó en 2017 y se documentó en un documento de SIGMOD 2017. [ 6 ] Estuvo disponible como parte de Google Cloud Platform en 2017, bajo el nombre "Cloud Spanner". [ 7 ]
Arquitectura
Spanner utiliza el algoritmo Paxos como parte de su operación para fragmentar (particionar) datos en hasta cientos de servidores. [ 1 ] Hace un uso intensivo de la sincronización de reloj asistida por hardware mediante relojes GPS y relojes atómicos para garantizar la consistencia global . [ 1 ] TrueTime es la marca 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. [ 8 ]
El sistema de gestión de bases de datos (DBMS) F1 SQL de Google está construido sobre Spanner, [ 2 ] reemplazando la variante MySQL personalizada de Google . [ 9 ]
Referencias
- 1 2 3 Corbett et al. 2012 .
- 1 2 Shute et al. 2012 .
- ↑ "Anuncio de actualizaciones de rendimiento y precio de Cloud Spanner" .
- ↑ Saqib Ali (4 de diciembre de 2024). "Google Spanner ahora admite GQL" . GQL . Consultado el 4 de marzo de 2026 .
- ↑ Clark, Jack (18 de septiembre de 2012). "Google revela Spanner, la tecnología de base de datos que puede abarcar todo el planeta" . ZDNet . Consultado el 4 de agosto de 2021 .
- ↑ Spanner: Cómo convertirse en un sistema SQL . 9 de mayo de 2017. págs. 331–343 . doi : 10.1145/3035918.3056103 . ISBN 9781450341974. S2CID 3055672 .
- ↑ Srivastava, Deepti (14 de febrero de 2017). "Presentamos Cloud Spanner: un servicio de base de datos global para aplicaciones de misión crítica" . Blog de Google Cloud . Consultado el 4 de agosto de 2021 .
- ↑ "Cloud Spanner: TrueTime y consistencia externa" . Google Cloud . Consultado el 24 de noviembre de 2020 .
- ↑ Shute et al. 2012 , p. 19: 'Resumen: Hemos migrado un conjunto de aplicaciones grandes y críticas 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, 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 (2012). Spanner: Base de datos distribuida globalmente de Google (PDF) . 10.º Simposio USENIX sobre diseño e implementación de sistemas operativos (OSDI'12). Hollywood, CA. Recuperado el 18 de septiembre de 2012 .
{{cite conference}}: CS1 mantenimiento: referencia duplica predeterminado ( enlace ) . - Date, 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.
- 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: el sistema de gestión de bases de datos relacionales distribuidas tolerante a fallos que da soporte al negocio publicitario de Google", Investigación (presentación), SIGMOD
{{citation}}: CS1 mantenimiento: falta el editor de ubicación ( enlace ) . - Shute, Jeffrey 'Jeff'; Oancea, Mircea; Ellner, Stephan; Handy, Benjamin 'Ben'; Rollins, Eric; Samwel, Bart; Vingralek, Radek; Whipkey, Chad; Rae, Ian; Apte, Himani; Littlefield, Kyle; Cieslewicz, John (2013), "F1: Una base de datos SQL distribuida que se escala", Investigación (presentación), Conferencia Internacional sobre Bases de Datos Muy Grandes
{{citation}}: CS1 mantenimiento: falta el editor de ubicación ( enlace ) .
Lecturas adicionales
- Clark, Jack (30 de agosto de 2013). "Google regresa al futuro con la base de datos SQL F1" . www.theregister.com .
- Bases de datos
- computación distribuida
- Software de Google
- NewSQL
- Almacenes de datos distribuidos
- bases de datos en la nube