Tablas globales de Amazon DynamoDB
¿Qué son las tablas globales?
Las tablas globales de DynamoDB son una base de datos totalmente administrada, sin servidor, multirregional y multiactiva. Las tablas globales ofrecen una disponibilidad de hasta el 99,999 %, una mayor resiliencia en las aplicaciones y una mejor continuidad empresarial. Como las tablas globales replican automáticamente sus tablas en las regiones de AWS que elija, podrá lograr un rendimiento de lectura y escritura local y rápido.
Si el procesamiento de su aplicación se interrumpe en una región, no será necesaria la conmutación por error en la base de datos, ya que la arquitectura multiactiva de las tablas globales permite a los clientes leer y escribir en cualquier tabla de réplica. Las tablas globales también eliminan la difícil tarea de resolver conflictos de actualización en cargas de trabajo multirregionales.
Las tablas globales admiten modos sólidos y eventuales para lograr la coherencia multirregional. La coherencia multirregional sólida le brinda el nivel más alto de resiliencia de las aplicaciones y permite que las aplicaciones de los clientes estén siempre disponibles y lean siempre los datos más recientes de cualquier región. Ahora puede crear aplicaciones con un objetivo de punto de recuperación cero. Con la coherencia eventual entre regiones, puede crear réplicas en una sola cuenta de AWS o en varias cuentas de AWS.
Funcionamiento
Las tablas globales de DynamoDB se componen de varias tablas de réplica. Cada tabla de réplica existe en una región diferente, pero todas las réplicas comparten el mismo esquema de claves principales. Cuando se escriben datos en cualquier tabla de réplica, DynamoDB replica de forma automática esos datos en todas las demás tablas de réplica de la tabla global.
Por ejemplo, supongamos que su aplicación presta servicio a una gran base de clientes que abarca tres áreas geográficas: la Costa Este de EE. UU., Canadá y Europa Occidental. Sin tablas globales, necesitaría crear una tabla en cada región de AWS y escribir código para replicar los cambios de datos en cada tabla de cada región.
Con las tablas globales, puede crear una tabla global con una tabla de réplica en las tres regiones más cercanas a cada área geográfica. DynamoDB replicará automáticamente los cambios de cualquier réplica en las réplicas de las demás regiones.
Las tablas globales permiten a los usuarios de la aplicación tener acceso de baja latencia a los datos sin importar dónde se encuentren. Si el procesamiento de la aplicación se interrumpe en una región, sus clientes aún pueden acceder a las réplicas de tablas en las demás regiones.
Al crear una tabla global, puede elegir entre una coherencia sólida o una coherencia eventual. Una tabla global configurada para una coherencia sólida entre varias regiones permite realizar una lectura altamente coherente en varias regiones. La configuración predeterminada es la coherencia eventual entre regiones.
En el caso de las tablas globales configuradas mediante el modo de coherencia eventual entre regiones, puede crear réplicas en una sola cuenta de AWS o en varias cuentas de AWS. Las tablas globales de varias cuentas replican automáticamente las tablas en varias cuentas y regiones, lo que mejora la resiliencia, la seguridad y la gobernanza. Son ideales para los clientes que adoptan estrategias de varias cuentas o utilizan AWS Organizations para mejorar el aislamiento de la seguridad, reforzar las barreras de protección del perímetro de datos, implementar la recuperación ante desastres o separar las cargas de trabajo por unidad de negocio.
Comenzar a utilizar tablas globales es fácil, ya que utilizan las mismas API de DynamoDB que las tablas de una sola región. No existen costos anticipados o compromisos por el uso de las tablas globales y solo pagará por los recursos que use. Puede configurar tablas globales en la Consola de administración de AWS con la AWS CLI o con AWS CloudFormation. También es fácil convertir una tabla de una sola región en tablas globales.
Ventajas de las tablas globales
Las tablas globales están diseñadas para ofrecer una disponibilidad del 99,999 %. Si una única región se aísla o se degrada, su aplicación puede desviar el tráfico a una región diferente y realizar lecturas y escrituras en una réplica de tabla diferente. Puede aplicar lógica empresarial personalizada para determinar cuándo se redirigen las solicitudes a otras regiones. Además, con el modo de coherencia sólida multirregional, su aplicación siempre leerá los datos más recientes de cualquier región.
Las tablas globales eliminan la complejidad y la carga operativa de la implementación y administración de la replicación multiactiva y multirregional en DynamoDB. Basta con seleccionar las regiones en las que necesite que se repliquen sus datos y DynamoDB se encargará del resto. Puede elegir entre una coherencia eventual o una coherencia sólida para la replicación entre réplicas de tablas en todas las regiones. Con una coherencia multirregional sólida, nunca tendrá que pensar en la coherencia de los datos ni en la recuperación de datos durante la operación de conmutación por error.
También puede optar por crear réplicas en una sola cuenta de AWS o en varias cuentas de AWS. Con las tablas globales de varias cuentas, puede crear aplicaciones en todas las cuentas para lograr un aislamiento más sólido, una mejor seguridad y gobernanza y una mayor resiliencia operativa, lo que se ajusta al Marco de AWS Well-Architected. Las aplicaciones tienen acceso a las tablas globales mediante las API y los puntos de conexión de DynamoDB existentes.
Las tablas globales ahora se pueden configurar tanto para lograr una coherencia sólida como una coherencia eventual. Una coherencia sólida garantiza que las lecturas altamente coherentes reflejarán la escritura más reciente, mientras que la coherencia eventual tendrá un breve periodo antes de que todas las réplicas reflejen la última actualización a cambio de lecturas y escrituras locales de menor latencia.
En el modo de coherencia multirregional sólida, DynamoDB garantiza que una escritura confirmada correctamente en cualquier réplica de cualquier región esté disponible de inmediato para su lectura desde cualquier otra réplica. Si una operación de escritura modificara un elemento que ya se está modificando en otra región, se produciría un error en esa operación de escritura con una excepción de reintento.
En el modo de coherencia eventual entre regiones, DynamoDB replica una escritura en cualquier réplica de cualquier región en todas las demás réplicas, normalmente en uno o dos segundos. Si se modifica el mismo elemento en varias regiones, DynamoDB resolverá el conflicto mediante un método de resolución en el que la escritura más reciente tiene prioridad.
Las tablas globales permiten leer y escribir datos localmente al ofrecer una latencia de milisegundos de un solo dígito para su aplicación distribuida globalmente a cualquier escala. Esto puede aumentar el rendimiento de las aplicaciones globales de gran escala.