Descripción general de Spanner Omni

Spanner Omni es una versión descargable de Spanner que te permite implementar la tecnología de base de datos distribuida de Google en centros de datos locales, nubes públicas y en tu laptop. Ofrece capacidades principales de Spanner, como escalabilidad horizontal, alta disponibilidad, cumplimiento de ACID y coherencia externa sólida, mediante el uso de replicación basada en Paxos, fragmentación automática y la API de TrueTime definida por software.

Spanner Omni integra modelos de datos relacionales, de gráficos, de vectores y de pares clave-valor con capacidades de análisis operacionales y de texto completo. Al igual que Spanner, Spanner Omni admite GoogleSQL, PostgreSQL y Spanner Graph Language. Puedes lograr resiliencia en varios entornos, portabilidad de aplicaciones y una pila de desarrollo coherente en varios entornos. Spanner Omni admite opciones de implementación que incluyen lo siguiente:

  • Máquinas virtuales
  • Contenedores de Linux
  • Clústeres de Kubernetes

Limitaciones de la versión preliminar de Spanner Omni

La versión preliminar de Spanner Omni incluye la funcionalidad principal de Spanner con las siguientes excepciones notables:

  • No se admiten las funciones de seguridad empresarial ni el encriptado TLS.

  • Spanner Omni deja de escribir datos 90 días después de que creas una implementación.

  • No se admiten las copias de seguridad ni las restauraciones.

Para obtener acceso anticipado a la edición con funciones completas, comunícate con Google.

Características clave

Spanner Omni proporciona las siguientes funciones:

  • Flexibilidad de implementación: Ejecuta Spanner Omni en Linux o macOS. Spanner Omni admite entornos de nube pública, como Google Cloud (Google Kubernetes Engine (GKE) y Cloud Storage) y Amazon Elastic Kubernetes Service (Amazon EKS) y Amazon Elastic Compute Cloud (Amazon EC2), entornos locales y laptops.

  • Alta escalabilidad: Spanner Omni puede fragmentar automáticamente tus datos y balancear los fragmentos para lograr un escalamiento elástico para las lecturas y escrituras.

  • Alta disponibilidad: Spanner Omni ofrece varias topologías de implementación. Spanner Omni ofrece implementación multizona y de varios clústeres para proporcionar alta disponibilidad en caso de fallas en la zona o el clúster.

  • Coherencia externa sólida: Spanner Omni proporciona coherencia transaccional global con TrueTime basado en software que se puede implementar en cualquier entorno.

  • Multimodelo interoperable: Spanner Omni admite varios modelos de datos (relacionales, de pares clave-valor, de gráficos y de vectores) y capacidades (búsqueda de texto completo, procesamiento analítico) y proporciona consultas entre modelos y transacciones compatibles con ACID en diferentes modelos de datos.

  • Interfaz familiar: Interactúa con tus datos mediante la CLI de Spanner, que incluye un shell de SQL para consultas interactivas. Spanner Omni admite GoogleSQL, dialectos de PostgreSQL y GQL, lo que te permite migrar aplicaciones existentes.

Topologías de Deployment

Spanner Omni usa una jerarquía de regiones, zonas y servidores para definir su configuración de implementación. Spanner Omni ofrece las siguientes configuraciones de implementación:

  • Servidor único : Spanner Omni se ejecuta en una sola máquina. Esta topología es una buena opción para el desarrollo local, ya que se ejecuta en una sola máquina. Las actualizaciones de esta topología causan tiempo de inactividad.

  • Zona única (o zonal) : Todos los servidores de Spanner Omni forman parte de una zona. Usa un mínimo de tres servidores para esta configuración de implementación. Para un tiempo de actividad óptimo, esta topología tiene objetivos de disponibilidad más bajos porque una falla de una sola zona puede causar una interrupción.

  • Multizona (o regional) : Spanner Omni distribuye servidores en varias zonas. Todas las zonas están en una sola ubicación. Para las implementaciones multizona, usa un mínimo de tres zonas. Cada zona debe tener al menos un servidor. Te recomendamos que uses tres servidores en cada zona. Esta configuración de implementación ofrece una mayor disponibilidad que la implementación de una sola zona.

  • Varios clústeres (o multirregional) : Los servidores de Spanner Omni residen en varias zonas en varios clústeres. Para obtener alta disponibilidad, usa tres zonas en dos o más clústeres y configura cada zona con tres o más servidores.

Requisitos del sistema

Para optimizar el rendimiento, usa los siguientes requisitos mínimos recomendados para las implementaciones de servidores:

Entorno SO o plataforma Recomendación de hardware
Local Linux (RHEL 9, Ubuntu 22) 4 GB de RAM por CPU virtual, más de 20 GB de espacio en el disco
Nube (Google Cloud y AWS) VMs o Pods de Kubernetes 4 CPU virtuales, 16 GB de RAM por VM o Pod de Kubernetes
Desarrollador (laptops, computadoras de escritorio) macOS (M1, M2, M3) 4 GB de RAM, 10 GB de espacio en el disco

Para el almacenamiento, se recomienda el almacenamiento de unidad de estado sólido (SSD) dedicada con un sistema de archivos ext4.

Conectividad y desarrollo

Para conectarte a Spanner Omni y desarrollar aplicaciones, considera las siguientes herramientas:

  • Bibliotecas cliente: Puedes usar las bibliotecas cliente de Spanner existentes para Java y Go si especificas el extremo de Spanner Omni. Por ejemplo, en Java, configura setExperimentalHost("http://localhost:15000").

  • PGAdapter: Este proxy permite que las aplicaciones de PostgreSQL existentes se conecten a las bases de datos de dialecto de PostgreSQL de Spanner Omni con el protocolo de conexión estándar de PostgreSQL.

  • Diagnóstico: Un comando spanner admin diagnostics create dedicado recopila registros, seguimientos y pilas de subprocesos para la solución de problemas.