En este documento, se definen los conceptos básicos y las topologías de implementación de Spanner Omni. Abarca la relación jerárquica entre regiones, zonas y servidores, y explica cómo estos componentes se relacionan con la replicación y el almacenamiento de datos dentro de una implementación.
Conceptos de Spanner Omni
En las siguientes secciones, se proporcionan definiciones detalladas de la terminología utilizada en toda la documentación de Spanner Omni. Familiarizarte con estos conceptos garantiza una comprensión clara de la arquitectura y el comportamiento operativo del sistema.
Implementación
Una implementación de Spanner Omni, que te permite usar las bases de datos en tus centros de datos o tus cuentas de nube pública Creas la implementación según los parámetros especificados en la configuración de implementación. Una implementación de Spanner Omni equivale a una instancia| de Spanner enGoogle Cloud.
Configuración de implementación
Proporciona la ubicación y la especificación de las regiones, las zonas y los servidores para tu implementación de Spanner Omni. Puedes elegir una configuración de implementación de un solo servidor, una sola región o varias regiones.
Ubicación
Es el equivalente de región en términos de Google Cloud . La latencia de red entre dos regiones no es trivial. Para las implementaciones locales, puedes definir tus propias regiones. Para las implementaciones en la nube, la región debe alinearse con las regiones del proveedor de servicios en la nube respectivo. Una región puede tener varias zonas.
Proceso
El servidor de Spanner bifurca y administra varios procesos. Por ejemplo, TimeServer y spanserver son todos procesos en Spanner. Los procesos individuales pueden tener estadísticas de supervisión, como el uso de CPU y memoria. Un proceso puede abrir puertos para comunicarse con otros servidores en la implementación.
Réplica
Spanner replica los datos para proporcionar disponibilidad y localidad geográfica. A alto nivel, Spanner organiza todos los datos en filas. Spanner crea varias copias o réplicas de estas filas y, luego, las almacena en diferentes zonas geográficas. Spanner usa un esquema de replicación síncrono basado en Paxos, en el que las réplicas de votación votan cada solicitud de escritura antes de confirmar la escritura en la base de datos. Al igual que en Spanner, hay tres tipos de réplicas en Spanner Omni: lectura y escritura, solo lectura y testigo. Para obtener más información, consulta los tipos de réplicas en la documentación de Spanner.
Servidor
Un servidor es un recurso de procesamiento, como una VM o un contenedor, en el que se ejecuta el servidor de Spanner Omni. Cada servidor tiene sus propios recursos del sistema: CPU, memoria y almacenamiento. El servidor proporciona las capacidades de Spanner Omni almacenando y entregando los datos del usuario.
Servidores raíz
Los servidores raíz almacenan metadatos críticos para admitir la zona. Por ejemplo, el servidor raíz almacena la membresía del servidor y otra información de configuración de la zona.
La cantidad de servidores raíz por zona debe ser un número impar entre uno y nueve, inclusive, para garantizar el quórum de coherencia. Si la cantidad de servidores es un número par, es posible que las implementaciones fallen. Cuando configures tus zonas, designa servidores como servidores raíz. Te recomendamos que uses una para el desarrollo o las pruebas, y tres para las zonas de producción con alta disponibilidad.
Ten en cuenta la cantidad de servidores raíz cuando planifiques la implementación. Si bien puedes cambiar la cantidad de servidores raíz en la implementación después de crearla, no te lo recomendamos.
Servidores no raíz
Los servidores que no son raíz almacenan y entregan datos del usuario, y proporcionan una forma de escalar la capacidad de procesamiento y el almacenamiento de una zona. Puedes agregar a tu implementación tantos servidores no raíz como lo exija la carga de trabajo. Puedes cambiar la cantidad de servidores no raíz después de crear la implementación.
Dividir
Una división de Spanner contiene un rango de filas contiguas de datos, en el que Spanner ordena las filas por clave primaria. Spanner crea réplicas de cada división que almacena en cada zona.
Almacenamiento
Es el almacenamiento permanente conectado al servidor.
Zona
Es un grupo de uno o más servidores. Para la replicación de datos, debes crear una zona por réplica. En el caso de las implementaciones locales, recomendamos minimizar el uso compartido de la infraestructura (VMs, discos) entre zonas. En el caso de las implementaciones en la nube, alinea las zonas con las zonas de disponibilidad en AWS o las zonas en Google Cloud.