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 las capacidades principales de Spanner, como la escalabilidad horizontal, la alta disponibilidad, el cumplimiento de ACID y la coherencia externa sólida, a través de la replicación basada en Paxos, la 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 operativos y de texto completo. Al igual que Spanner, Spanner Omni admite GoogleSQL, PostgreSQL y Spanner Graph Language. Puedes lograr resiliencia en todos los 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

La versión preliminar de Spanner Omni incluye la funcionalidad principal de Spanner, pero no las funciones de seguridad empresarial ni de protección de datos. Para obtener acceso anticipado a la edición con todas las funciones, 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, comoGoogle Cloud (Google Kubernetes Engine [GKE] y Cloud Storage)Google Cloud 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 en varias zonas y 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.

  • Modelo múltiple interoperable: Spanner Omni admite múltiples modelos de datos (relacionales, de clave-valor, gráficos y vectoriales) y capacidades (búsqueda en el texto completo y procesamiento analítico), y proporciona consultas entre modelos y transacciones que cumplen con ACID en diferentes modelos de datos.

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

Topologías de implementación

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

  • Un solo servidor: Spanner Omni se ejecuta en una sola máquina. Esta topología es una buena opción para el desarrollo local porque se ejecuta en una sola máquina. Las actualizaciones de esta topología causan tiempo de inactividad.

  • De 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 lograr un tiempo de actividad óptimo, esta topología tiene objetivos de disponibilidad más bajos, ya que una falla en una sola zona puede causar una interrupción.

  • Multizona (o regional): Spanner Omni distribuye servidores en varias zonas. Todas las zonas se encuentran en una sola ubicación. Para las implementaciones en varias zonas, 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 en una sola zona.

  • Multiclúster (o multirregional): Los servidores de Spanner Omni residen en varias zonas en varios clústeres. Para lograr una 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 y más de 20 GB de espacio en el disco
Nube (Google Cloud y AWS) VMs o Pods de Kubernetes 4 CPU virtuales y 16 GB de RAM por VM o pod de Kubernetes
Desarrollador (laptops y computadoras de escritorio) macOS (M1, M2 y M3) 4 GB de RAM y 10 GB de espacio en el disco

Para el almacenamiento, se recomienda un almacenamiento dedicado de unidad de estado sólido (SSD) 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 especificando el extremo de Spanner Omni. Por ejemplo, en Java, configura setExperimentalHost("http://localhost:15000").

  • PGAdapter: Este proxy permite que las aplicaciones existentes de PostgreSQL se conecten a las bases de datos de Spanner Omni con dialecto de PostgreSQL a través del protocolo de transferencia estándar de PostgreSQL.

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