Todos los productos
Search
Centro de documentos

Tablestore:Global Table

Última actualización: Oct 10, 2026

Global Table sincroniza automáticamente los datos entre varias regiones para ofrecer recuperación ante desastres cross-region. Utilice Global Table cuando su negocio entre regiones requiera acceso de baja latencia, alta disponibilidad, lecturas y escrituras desde la réplica más cercana y conmutación por recuperación ante desastres.

Cómo funciona

Global Table utiliza la tecnología de replicación multirregión de Tablestore para establecer canales de sincronización de datos entre instancias de distintas regiones. Cuando los datos de una tabla cambian en una región, el cambio se sincroniza automáticamente con sus tablas réplica en otras regiones. De este modo se garantiza la consistencia de los datos entre regiones. Las réplicas de tabla admiten la expansión y eliminación dinámicas en diferentes instancias y regiones.

El proceso de replicación se ejecuta automáticamente en segundo plano, sin intervención manual. Este mecanismo logra un objetivo de punto de recuperación (RPO) aceptable y mantiene la consistencia de los datos. Así se cubren las necesidades de recuperación ante desastres y continuidad del negocio de la mayoría de los sistemas.

En el uso diario, los usuarios y las aplicaciones pueden leer y escribir en la réplica más cercana para reducir la latencia de acceso. Si ocurre una falla regional o un desastre mayor, como la caída de un centro de datos o un desastre natural, usted puede iniciar rápidamente una conmutación por recuperación ante desastres basada en múltiples réplicas. Esto le permite reconstruir las aplicaciones y los datos críticos para asegurar la continuidad del negocio.

image.png

Global Table ofrece a continuación las siguientes funciones:

  • Recuperación ante desastres entre regiones: réplicas de tabla distribuidas en distintas regiones. Si ocurre una falla a nivel de región, las réplicas de otras regiones continúan brindando servicio.

  • Acceso de baja latencia: los usuarios o las aplicaciones leen y escriben en la réplica más cercana, lo que reduce la latencia de las operaciones.

  • Consistencia eventual: emplea un modelo de consistencia eventual. Varias réplicas se sincronizan de forma asíncrona y los datos alcanzan la consistencia con el tiempo.

  • Resolución automática de conflictos: el sistema usa el algoritmo LWW (Last Write Wins) para resolver automáticamente los conflictos de escritura simultánea entre regiones.

Modos de sincronización

Global Table admite dos modos de sincronización. Usted selecciona el modo al crear la Global Table.

  • Modo activo-pasivo: solo la réplica principal acepta escrituras a través del endpoint de su instancia. Todas las demás réplicas son de solo lectura, excepto durante una conmutación activo-pasivo. Más indicado para escenarios de recuperación ante desastres entre regiones y para escalar la capacidad de lectura con réplicas de solo lectura.

  • Modo activo-activo: varias réplicas aceptan escrituras a través de los endpoints de sus respectivas instancias. Usted establece el modo de lectura y escritura para cada instancia de destino. Diseñado para escenarios donde se escribe en varias regiones y se necesita un conjunto de datos global.

    Ambos modos utilizan consistencia eventual: las réplicas se sincronizan de forma asíncrona y los datos alcanzan la consistencia con el tiempo. En el modo activo-activo y durante una conmutación activo-pasivo, las escrituras simultáneas sobre la misma fila se resuelven mediante el algoritmo LWW. Para obtener más información, consulte Limits.

Escenarios

Global Table es adecuado para escenarios de negocio que requieren alta disponibilidad, lecturas y escrituras entre regiones con baja latencia y recuperación ante desastres cross-region. Los escenarios típicos incluyen los siguientes:

  • Copia de seguridad entre regiones: si la región principal falla, cambie a la región secundaria para seguir ofreciendo servicios de lectura y garantizar la continuidad del negocio. Por ejemplo, las tablas de usuarios principal y secundaria de un sistema de comercio electrónico se almacenan en Tablestore en las regiones China (Hangzhou) y China (Beijing). Si la región China (Hangzhou) falla, la región China (Beijing) continúa proporcionando los servicios de consulta. Modo recomendado: activo-pasivo.

  • Escritura en una región y lectura desde varias regiones: escriba los datos en la región más cercana y lea desde la réplica más cercana en otras regiones. Esta opción resulta ideal para acelerar el acceso remoto. Por ejemplo, las escrituras principales de un servicio se dirigen a la región China (Hangzhou), mientras que las réplicas de solo lectura se despliegan en las regiones China (Beijing) y China (Shanghai) para cubrir la demanda de lecturas entre regiones con baja latencia. Modo recomendado: activo-pasivo con réplicas de solo lectura.

  • Escritura en varias regiones y lectura global: escribir en varias regiones crea un conjunto de datos global y ofrece lecturas con consistencia eventual. Recomendado cuando se requiere acceso a un conjunto de datos global, como en la distribución entre regiones de perfiles de usuarios de videojuegos o en sistemas de mensajería social. Modo recomendado: activo-activo.

Límites

Revise a continuación los límites antes de crear una Global Table. Algunos determinan si la Global Table se puede crear correctamente. Para obtener más información, consulte Limits.

  • Regiones compatibles: Global Table está disponible en las regiones China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Guangzhou) y China (Chengdu). Por motivos de cumplimiento normativo de datos y otras razones, no se puede crear una Global Table entre regiones de distintos países. Para consultar las regiones que admite Global Table, consulte Supported regions.

  • Tipos de tabla: solo se admiten tablas de datos. No se admite la sincronización entre regiones de tablas de series temporales, índices de búsqueda ni índices secundarios.

  • Número de réplicas: una sola Global Table admite un máximo de 10 regiones.

  • Latencia de sincronización: el RPO de sincronización suele ser de unos pocos segundos, según las regiones, las condiciones de la red y el volumen de datos. El servicio no ofrece garantías de confiabilidad respecto a la latencia de transmisión de datos.

  • Configuración inmutable: no se pueden modificar las propiedades de una Global Table, como la configuración de TTL o las columnas predefinidas.

  • Tablas en modo columna: las tablas de datos existentes se crean de forma predeterminada en modo columna y no se pueden actualizar directamente a una Global Table.

  • Recreación de una Global Table: cuando se utiliza la función Global Table por segunda vez, las tablas duplicadas existentes no pueden restablecer la relación de sincronización. Primero debe eliminar los índices de búsqueda y los índices secundarios, luego eliminar la tabla y después crear la Global Table. Un segundo uso se refiere al escenario en el que una tabla de datos que antes formaba parte de una Global Table, pero cuya relación de sincronización se quitó, se vuelve a crear como Global Table.

  • Riesgo de sobrescritura de datos: en las escrituras diarias del modo activo-activo y durante una conmutación activo-pasivo, las escrituras de sincronización y las escrituras de usuario pueden modificar la misma fila de datos al mismo tiempo. La fila con el número de versión mayor sobrescribe a la de versión menor (LWW), por lo que los datos de la escritura con versión inferior se sobrescriben o se descartan.

Requisitos previos

  • Las instancias están creadas tanto en la región principal como en cada región de réplica de destino. Para consultar las instrucciones, consulte Create an instance.

  • La tabla base cumple con los requisitos de configuración de Global Table. Si va a utilizar una tabla de datos existente como tabla base, asegúrese de que cumpla con los requisitos de la siguiente tabla.

Parámetro

Valor obligatorio para una Global Table

Descripción

Time to live

-1

Los datos nunca caducan.

Max versions

1

El número máximo de versiones es 1.

Row versioning

Enabled

Establece la tabla en modo fila. No se puede desactivar Enable Row Versioning después de habilitarlo. Una vez habilitado el control de versiones por fila, aplican las siguientes limitaciones: una sola fila admite hasta 256 columnas; no se puede especificar manualmente un número de versión al escribir datos (el sistema lo genera automáticamente); y cada operación Update lee primero la versión actual de la fila, lo que introduce una pequeña carga de lectura adicional.

Max version offset

MaxInt32 (2147483647)

Establece el desplazamiento de versión en el valor máximo de Int32, lo que significa que no hay límite.

Las tablas existentes que no están en modo fila no permiten crear Global Tables. Para utilizar una tabla de este tipo, comuníquese con el soporte técnico para habilitar esta función.

Crear una Global Table

Cree la tabla base en la región principal y luego conviértala en una Global Table con regiones de réplica en las regiones de destino.

Paso 1: Preparar la tabla base

En la región principal, cree una tabla de datos que sirva como base para la Global Table.

  1. Vaya a la página Instance Management.

    1. Inicie sesión en la consola de Tablestore.

    2. En la barra de navegación superior, seleccione un resource group y una región.

    3. En la página Overview, haga clic en el alias de una instancia o haga clic en Manage Instance en la columna Actions de la instancia.

    4. En la pestaña Instance Details, haga clic en Create Table.

    5. En el cuadro de diálogo Create Table, configure Data Table Name y Primary Key.

    6. Active el interruptor Advanced Settings y luego active el interruptor Quick Set Global Table Dependency. El sistema configura automáticamente las dependencias obligatorias para la Global Table, tal como se describe en Prerequisites.

    7. Para Data Table Name, introduzca exampletable. En la sección Primary Key, agregue dos claves primarias: establezca el nombre de la primera clave primaria como user_id, defina el tipo como String y configúrela como clave de partición; establezca el nombre de la segunda clave primaria como region_id y el tipo como String.

    8. Haga clic en Create.

Paso 2: Crear la Global Table

Convierta la tabla base en una Global Table y agregue las regiones de réplica. Una vez creada la Global Table, el sistema genera automáticamente las tablas de datos correspondientes en las regiones de réplica seleccionadas y establece los canales de sincronización de datos.

En la región principal, dentro de la pestaña Tables, haga clic en Create Global Table en la columna Actions de la tabla base. También puede hacer clic en el nombre de la tabla de datos, ir a la pestaña Global Table y luego hacer clic en Create Sync Relationship para continuar.

En el cuadro de diálogo Create Global Table, configure los parámetros según el modo de sincronización que elija.

Importante

Si ya existe una tabla de datos con el mismo nombre que la Global Table en la instancia de destino, la creación de la Global Table falla.

Configurar el modo activo-pasivo

  • En el área Current Resource, establezca Global Sync Mode en Primary/Standby Mode (Cross-Region Replication).

  • En el área Target Table, seleccione la región y el nombre de la instancia de destino. Puede agregar varias instancias de destino a la vez. Después de crear la Global Table, el sistema genera automáticamente las tablas de destino en las instancias de las regiones seleccionadas, con los mismos nombres que la tabla base actual.

    El permiso de lectura y escritura de la instancia de destino es Read-only.

Configurar el modo activo-activo

  • En el área Current Resource, establezca Global Sync Mode en Multi-Read Multi-Write (Cross-Region Replication).

  • En el área Target Table, seleccione la región, el nombre de la instancia y el modo de lectura y escritura de la instancia de destino. Puede agregar varias instancias de destino a la vez. Después de crear la Global Table, el sistema genera automáticamente las tablas de destino en las instancias de las regiones seleccionadas, con los mismos nombres que la tabla base actual.

Haga clic en OK.

Para confirmar que el proceso terminó correctamente, en el cuadro de diálogo Create Global Table, haga clic en View List. La nueva Global Table aparecerá entonces en la pestaña Global Table.

Paso 3: Comprobar y usar la Global Table

Una vez creada la Global Table, compruebe la sincronización de datos mediante pruebas básicas de lectura y escritura.

  1. Escribir datos de prueba: escriba datos de prueba en la tabla de datos de la región principal.

    1. En la región principal, dentro de la pestaña Tables, haga clic en Query en la columna Actions de la tabla base.

    2. En la pestaña Query Data, haga clic en Insert.

    3. En el cuadro de diálogo Insert, configure las claves primarias, haga clic en Add Column para agregar un atributo y luego haga clic en OK.

    4. Comprobar la sincronización de datos: espere de 1 a 3 segundos y luego consulte los datos en una región de réplica.

    5. En la región principal, dentro de la pestaña Tables, haga clic en Query en la columna Actions de la tabla base.

    6. En la pestaña Global Table de la tabla base, haga clic en el nombre de una tabla réplica ubicada en una región de réplica.

    7. En la pestaña Query Data de la tabla réplica, consulte los datos sincronizados desde la tabla base. La tabla réplica contiene los mismos datos que escribió en la región principal, lo que confirma que la sincronización se completó correctamente.

Lecturas y escrituras en Global Table

Las operaciones data read y data write en las tablas réplica de una Global Table son iguales que en una tabla de datos estándar.

  • Para las lecturas reales, obtenga el endpoint de la instancia donde se encuentra la tabla réplica correspondiente.

  • En el modo activo-pasivo, solo la réplica principal permite escrituras a través del endpoint de su instancia. Todas las demás réplicas son de solo lectura, excepto durante una conmutación activo-pasivo.

  • En el modo activo-activo, todas las réplicas con permisos de escritura permiten escrituras a través de los endpoints de sus respectivas instancias.

Aviso

En el modo activo-activo, las escrituras de sincronización y las escrituras de usuario pueden modificar la misma fila al mismo tiempo. La fila con el número de versión mayor sobrescribe a la escritura de versión menor (LWW) y los datos de la versión inferior se descartan. Para obtener más información, consulte Limits.

Gestionar una Global Table

Cambiar la réplica principal (modo activo-pasivo)

El cambio de la réplica principal aplica únicamente a las Global Tables en modo activo-pasivo. En este modo, si la tabla de réplica principal falla o necesita cambiar la región de escritura, configure otra tabla réplica como la nueva réplica principal para seguir brindando servicio.

Aviso

Durante una conmutación, tanto la tabla de réplica principal actual como la tabla réplica seleccionada como nueva principal permiten lectura y escritura, lo que genera un riesgo de inconsistencia de datos. Confirme que los datos sean consistentes antes de cambiar la ruta de escritura de la aplicación. Las escrituras simultáneas se resuelven mediante el algoritmo LWW. Para obtener más información, consulte Limits.

  1. En la pestaña Global Table, haga clic en Switch to Primary Table en la columna Actions de la tabla pasiva.

  2. En el cuadro de diálogo Modify Primary/Standby Relationship, envíe la tarea de conmutación de la tabla principal para iniciar la sincronización de datos. La sincronización continúa durante un periodo que depende de factores como el volumen de datos y los recursos del sistema.

  3. En el paso Data Synchronization, haga clic en Start Data Synchronization.

  4. En el cuadro de diálogo Primary/Standby Table Switch, haga clic en View Details para comprobar el estado del RPO de la sincronización.

  5. Confirme que los datos de las tablas principal y pasiva sean consistentes y luego haga clic en Confirm Write Endpoint Switch en la columna Sync Mode de cualquier tabla.

  6. En el paso Application Layer Write Path Switch, confirme que la sincronización haya terminado y que haya cambiado todos los endpoints de escritura de su aplicación al endpoint de la nueva réplica principal. Luego haga clic en Complete Switch.

  7. Después de cambiar la ruta de escritura, confirme el cambio de la tabla principal lo antes posible. Esto deshabilita la capacidad de escritura de la tabla principal original. Haga clic en View en la columna Sync Mode de cualquier tabla.

  8. En el paso Confirm Switch, haga clic en Switch Primary Table.

    Cuando la conmutación termina correctamente, la réplica principal original queda con capacidad de solo lectura y la nueva réplica principal ofrece capacidad de lectura y escritura.

Para cancelar la conmutación de tablas activo-pasivo, haga clic en Cancel Primary Table Switch, complete la confirmación de cancelación y haga clic en OK en el cuadro de diálogo de confirmación.

Agregar una región global

Agregue una o más regiones globales a una Global Table.

  1. En la pestaña Global Table, haga clic en Add Global Region en la columna Actions de una tabla réplica.

  2. En el cuadro de diálogo Add Global Region, seleccione la región y el nombre de la instancia de destino. Para agregar varias regiones globales, haga clic en Add Instance y continúe.

  3. Haga clic en OK.

Importante

Si ya existe una tabla de datos con el mismo nombre que la Global Table en la instancia de destino, la adición de la región global falla.

Editar las instancias de destino (modo activo-activo)

Edite las instancias de destino de una Global Table para agregar una instancia de destino o cambiar el modo de lectura y escritura de una instancia existente.

  1. En la pestaña Global Table, haga clic en Edit en la columna Actions de una tabla réplica.

  2. En el cuadro de diálogo Edit Global Table, realice una de las siguientes operaciones:

    • Agregar una instancia de destino: seleccione la región, el nombre de la instancia y el modo de lectura y escritura de la instancia de destino. Para agregar varias regiones globales, haga clic en Add Instance y continúe.

    • Modificar el modo de lectura y escritura de una instancia: seleccione el modo de lectura y escritura de una instancia existente.

  3. Haga clic en OK.

Importante

Si ya existe una tabla de datos con el mismo nombre que la Global Table en la instancia de destino, la adición de la región global falla.

Quitar la relación de sincronización

Quitar la relación de sincronización detiene la sincronización de datos de una tabla réplica. Para detener la sincronización de todas las regiones de una Global Table, quite la relación de sincronización de cada tabla réplica por separado. Si solo desea quitar la sincronización de una región específica, ejecute la operación únicamente en la tabla réplica de esa región.

En el modo activo-pasivo, primero debe quitar las tablas pasivas y después la réplica principal.

Modo activo-pasivo

En la pestaña Global Table, utilice uno de los siguientes métodos para comenzar a quitar la relación de sincronización:

  • Quitar una sola réplica: haga clic en Remove Sync en la columna Actions de una tabla réplica.

  • Quitar varias réplicas en lote: seleccione las tablas réplica que desea quitar y haga clic en Remove Sync debajo de la lista.

Antes de eliminar una tabla de datos, debe eliminar manualmente sus índices de búsqueda asociados. De lo contrario, la eliminación de la tabla de datos falla. En el cuadro de diálogo de confirmación, haga clic en OK.

Modo activo-activo

En la pestaña Global Table, haga clic en Unsync en la columna Actions de una tabla réplica. En el cuadro de diálogo de confirmación, haga clic en OK.

El sistema comienza a quitar la relación de sincronización. Espere a que el proceso termine.

Integración para desarrolladores

Puede utilizar Global Tables a través de Java SDK.

Mejores prácticas

Siga estas mejores prácticas cuando aplique Global Table a un entorno de producción:

  • Crear una Global Table para una tabla existente: las API de lectura y escritura originales permanecen sin cambios. Los datos se sincronizan automáticamente con la nueva réplica, la cual puede compartir la carga de lectura.

  • Crear una Global Table desde cero: defina el esquema de la tabla, cree la tabla base y luego cree la Global Table. No se puede modificar el esquema de una Global Table, así que asegúrese de que la tabla base pase todas las pruebas antes de crearla.

  • Vincular dinámicamente una nueva réplica: puede agregar nuevas réplicas de forma dinámica mientras usa una Global Table, sin afectar las operaciones de lectura y escritura de las réplicas existentes. La nueva réplica contiene los datos más recientes de la Global Table.

  • Desvincular una réplica existente: si una tabla réplica ya no es necesaria, desvincúlela primero. Después de desvincularla, la réplica deja de sincronizar datos de las demás, pero la tabla y sus datos se conservan. Para eliminar la réplica, elimínela manualmente tras desvincularla.

  • Elegir una combinación adecuada de regiones: seleccione las regiones principal y secundaria apropiadas según la distribución de los usuarios y los requisitos del negocio.

  • Planificar el failover de la región principal: en el modo activo-pasivo, cuando la región principal no está disponible, seleccione primero una nueva tabla de réplica principal en la consola y luego cambie la ruta de escritura de la capa de aplicación. Una vez que los datos se sincronicen con la nueva tabla de réplica principal, establézcala como la tabla de réplica principal. Durante la conmutación puede ocurrir una breve interrupción de escritura, por lo que conviene implementar un mecanismo de reintentos en el lado del negocio.

    Gestione el orden y el momento de las conmutaciones de aplicaciones y servicios para evitar la pérdida de datos.

Facturación

Las Global Tables generan cargos por almacenamiento de datos, lecturas de datos, escrituras de datos y tráfico de cross-region replication.

Nota

El método de facturación para el almacenamiento de datos y las operaciones de lectura y escritura en cada tabla réplica es el mismo que el de una tabla de datos estándar. Para obtener más información, consulte Billing overview.

Aplican a continuación los siguientes cargos:

  • Cargo por almacenamiento de datos: cada tabla réplica almacena datos de forma independiente. Se le factura por separado la cantidad real de datos almacenados en la región de cada tabla.

  • Cargo por lectura de datos: cubre las operaciones de lectura locales en todas las tablas réplica.

  • Cargo por escritura de datos: las operaciones de escritura solo se pueden ejecutar en réplicas con permisos de escritura. Los cargos por escritura se generan únicamente en la tabla donde se escriben los datos directamente. Las tablas réplica que sincronizan datos mediante replicación asíncrona no generan cargos por escritura.

  • Cargo por tráfico de cross-region replication: se cobra por el tráfico de transferencia de datos entre regiones generado cuando los datos se replican de forma asíncrona a cada tabla réplica.

    Importante

    El cargo por tráfico de cross-region replication de cada réplica se calcula por separado. El cargo se aplica a la instancia desde la cual se extraen los datos.

Preguntas frecuentes

¿Cómo modifico la configuración de una Global Table, por ejemplo, para establecer el TTL o agregar columnas personalizadas?

Actualmente no se puede modificar directamente la configuración de una Global Table. Para modificarla, primero desvincule por completo la Global Table, aplique los cambios y luego vuelva a crearla. Antes de recrearla, dirija todas las operaciones de lectura y escritura a la réplica principal para no afectar las lecturas y escrituras de las capas superiores, y después elimine las demás réplicas.

¿Cómo elimino una tabla réplica?

Primero desvincule la tabla réplica de la Global Table. Cuando la desvinculación termine correctamente, elimine la tabla réplica desde la lista de tablas de la instancia en la consola.

En el modo activo-pasivo, ¿cómo leo desde una tabla réplica de una instancia que no es la principal?

En la pestaña Global Table de la tabla base ubicada en la instancia principal, consulte el nombre de la instancia de la tabla réplica asociada y luego use el endpoint de esa instancia para leer los datos.

En el modo fila, si la operación UpdateRow actualiza valores en distintas columnas de la misma fila en diferentes regiones (supongamos que "a" actualiza primero y "b" después), ¿cómo quedan los datos de la fila?

Los datos de la fila alcanzan la consistencia eventual. El valor final corresponde a los datos de toda la fila en la réplica de "b". Los datos específicos pueden presentar uno de los dos casos siguientes:

  • Si la tabla réplica actual aún no ha sincronizado la actualización "a" antes de la actualización "b", la fila contiene el valor de "b" pero no el de "a".

  • Si la tabla réplica actual ya sincronizó la actualización "a" antes de la actualización "b", la fila contiene tanto los valores de "b" como los de "a".