Las tablas globales se basan en la red global de Amazon DynamoDB para proporcionarle una base de datos completamente administrada en varias regiones y con varios nodos maestros que ofrece un rendimiento rápido de las operaciones locales de lectura y escritura para aplicaciones globales a escala masiva. Las tablas globales replican automáticamente las tablas de DynamoDB en las regiones de AWS que se elijan.

Las tablas globales eliminan la difícil tarea de replicar datos entre regiones y resolver conflictos de actualización, lo que le permite centrarse en la lógica de negocio de su aplicación. Además, las tablas globales permiten que las aplicaciones conserven un alto nivel de disponibilidad, incluso en el improbable caso de que se produzca el aislamiento o el deterioro de una región entera.

Puede configurar las tablas globales en la consola de administración o en la CLI de AWS. No se necesitan cambios en la aplicación porque las tablas globales usan las API de DynamoDB existentes. No existen costos anticipados o compromisos por usar las tablas globales y paga solo por los recursos aprovisionados. Obtenga más información sobre la configuración de las tablas globales en la guía del desarrollador de DynamoDB.

Funcionamiento

Una tabla global de DynamoDB se compone de varias réplicas de tabla (una por región de AWS) que DynamoDB trata como una única unidad. Cada réplica tiene el mismo nombre de tabla y el mismo esquema de clave principal. Cuando una aplicación escribe datos en una réplica de tabla de una región, DynamoDB propaga la escritura a otras réplicas de tablas de otras regiones de AWS de forma automática.

Diagrama que muestra cómo funcionan las tablas globales

Por ejemplo, supongamos que tiene un gran base de clientes que abarca tres áreas geográficas: la Costa Oeste de EE. UU., la Costa Este de EE. UU. y Europa Occidental. Los clientes pueden actualizar la información de sus perfiles a través de la aplicación. Sin una solución de replicación administrada, podría escribir código para replicar cambios de datos en las tablas para cada una de esas regiones. Sin embargo, esto supondría una tarea ardua y lenta. En lugar de escribir su propio código, podría crear una tabla global que haga referencia a las tablas de sus tres regiones y DynamoDB replicaría entonces los datos de forma automática en esas tablas, de modo que los cambios realizados en una región se propagarían de forma íntegra a las demás regiones. Además, si una de las regiones de AWS deja de estar disponible de manera temporal, sus clientes podrían seguir accediendo a los mismos datos en las otras regiones.

Beneficios

Lea y escriba localmente, acceda a sus datos de manera global

La replicación multimáster asegura que las actualizaciones realizadas en cualquier región se propaguen a otras regiones y que los datos en todas las regiones sean eventualmente consistentes. Esto significa que las tablas a las que acceda a través de su aplicación distribuida globalmente siempre estén actualizadas.

Rendimiento

Las tablas globales le permiten que lea y escriba sus datos localmente al ofrecer una latencia de milisegundos de un solo dígito para su aplicación distribuida globalmente a cualquier escala.

Fácil de configurar y utilizar

Las tablas globales eliminan la complejidad y las molestias operacionales de implementar y administrar las tablas disponibles de manera global en DynamoDB. Simplemente puede seleccionar las regiones en las que necesite que se repliquen sus datos y DynamoDB se encarga del resto. Las aplicaciones acceden a las tablas globales mediante las API existentes de DynamoDB y los extremos.

Disponibilidad, durabilidad y tolerancia de error de múltiples regiones

Las tablas globales pueden ayudar a que las aplicaciones permanezcan disponibles y con un rendimiento elevado para la continuidad del negocio. Si una única región de AWS se aísla o se degrada, su aplicación puede redirigir a una región diferente y realizar lecturas y escrituras en una réplica de tabla diferente. Puede aplicar lógica empresarial personalizada para determina cuándo se redirigen las solicitudes a otras regiones. DynamoDB realiza un seguimiento de las tareas de escritura que se han realizado, pero aún no han sido propagadas a todas las réplicas de tablas. Cuando la región vuelve a estar en línea, DynamoDB reanuda la actividad al propagar cualquier tarea de escritura pendiente desde la región a las réplicas de tablas de otras regiones y viceversa.

Consistencia y resolución de conflictos

Cualquier cambio realizado en cualquier elemento de una réplica de tabla es replicado en todas las réplicas contenidas en la misma tabla global. En una tabla global, un elemento que acaba de ser escrito se propaga a todas las réplicas de tabla en un segundo. Además, en una tabla global cada réplica de tabla almacena el mismo grupo de elementos de datos. DynamoDB no admite la replicación parcial de únicamente algunos elementos. Si las aplicaciones actualizan el mismo elemento en diferentes regiones al mismo tiempo, pueden producirse conflictos. Para ayudar a asegurar la consistencia final, las tablas globales de DynamoDB utilizan una reconciliación “last-writer-wins” (el último en escribir gana) entre actualizaciones simultáneas, en el que DynamoDB intenta determinar la escritura más reciente. Gracias a este mecanismo de resolución de conflictos, todas las réplicas coinciden en la actualización más reciente y convergen hacia un estado en el que todas tienen datos idénticos.

Introducción

Póngase en marcha al convertir sus tablas existentes en tablas globales, o al crear una nueva tabla global mediante la consola de DynamoDB o la CLI de AWS.

Prácticas recomendadas

Más información sobre las tablas globales
Más información sobre las tablas globales de DynamoDB

Consulte la guía para desarrolladores de DynamoDB.

Más información 
Regístrese para obtener una cuenta gratuita
Regístrese para obtener una cuenta gratuita

Obtenga acceso instantáneo a la capa gratuita de AWS. 

Regístrese 
Comience a crear en la consola
Comenzar a crear en la consola

Comience a crear tablas globales de DynamoDB en la consola de DynamoDB.

Comenzar a crear