Cómo usar tablas Global Dynamodb

Cómo usar tablas Global Dynamodb
Una tabla global de Dynamodb se refiere a una colección de una sola o varias tablas que pertenecen a una cuenta de AWS. Las tablas globales ayudan a organizar una colección de atributos construidos y estacionados en la huella de Amazon DynamoDB de Amazon Global y proporcionar a los propietarios de cuentas una base de datos de región múltiple, multi-activa y totalmente administrada.

Se destacan en su capacidad para ofrecer actuaciones locales y rápidas de lectura y escritura para funciones y aplicaciones globales altamente escaladas. También conocido como Replicas, estas tablas copian la estructura y el contenido de sus tablas DynamodB en las regiones de AWS de su elección.

Este artículo analiza qué son las tablas de réplicas, sus beneficios y cómo usarlas. Más importante aún, discutiremos sobre cómo crear y usar la tabla Global de DynamoDB.

¿Qué son las tablas de réplica??

Una tabla de réplica, o réplica, es una tabla DynamodB que forma parte de una tabla global. Cada tabla de réplicas almacena un conjunto similar de datos. Curiosamente, si bien una tabla global a menudo tiene múltiples réplicas, cada tabla DynamodB no puede tener más de una réplica por región de Amazon.

Todas las réplicas en una tabla global deben tener el mismo esquema de clave principal y nombre de la tabla. Cuando agrega datos a una tabla de réplicas en una región determinada, la aplicación replica y propaga automáticamente los datos a las otras regiones.

Pero a pesar de contener varias réplicas, DynamodB trata cada tabla como una sola unidad. Siempre puede agregar más réplicas a su tabla global que está disponible en otras regiones de AWS. Permite escrituras y lecturas paralelas en todas las regiones.

Cómo funcionan las tablas DynamodB: usando una tabla DynamodB

Asumimos que ya tiene una cuenta de AWS, y uno de sus servicios principales en la cuenta es un DynamodB. Asumimos que sabes cómo crear las tablas Dynamodb. Tenga en cuenta que las tablas DynamodB son diferentes de las tablas Global Dynamodb.

Puede comenzar iniciando sesión en su cuenta y creando una tabla DynamodB como lo hace normalmente. En este tutorial, usamos la consola AWS para crear una tabla, pero puede elegir CloudFormation, Dynobase o cualquier otro que se sienta cómodo usando.

Paso 1: Crear una nueva tabla Dynamodb.

Queremos crear una mesa de réplicas de US East (n. Virginia). Todas las transmisiones de Dynamodb están habilitados (new_and_old_images). El nombre de nuestra mesa es la colección de películas.

AWS Dynamodb Create-Table \
--Colección de películas de nombre de mesa \
--Atributo-definiciones \
AttributeName = starring, attributessype = s \
Attributename = Movietitle, attributeType = s \
--Key-Schema \
Atributename = Starring, keyType = hash \
Atributename = Movietitle, keyType = range \
--provisión de rendimiento \
ReadCapacityUnits = 20, WriteCapacityUnits = 10 \
--stream-especificación StreamEnabled = true, streamViewType = new_and_old_images \
--Región US-East-1

Paso 2: Cree una mesa idéntica llamada Collection de películas de US East (Ohio). Habilite las transmisiones de DynamodB como se muestra en el primer ejemplo.

AWS Dynamodb Create-Table \
--Colección de películas de nombre de mesa \
--Atributo-definiciones \
AttributeName = starring, attributessype = s \
Attributename = Movietitle, attributeType = s \
--Key-Schema \
Atributename = Starring, keyType = hash \
Atributename = Movietitle, keyType = range \
--provisión de rendimiento \
ReadCapacityUnits = 20, WriteCapacityUnits = 10 \
--stream-especificación StreamEnabled = true, streamViewType = new_and_old_images \
--Región US-East-2

Paso 3: Use las dos réplicas para crear una mesa global llamada Collection de películas.

AWS DYNAMODB CREATE-GLOBAL-Table \
--Colección de películas de la mesa global \
--replication-group RegionName = US-East-1 RegionName = US-East-2 \
--Región US-East-1

Etapa 4: Agregue otra tabla de una Europa diferente, digamos N. California.

AWS Dynamodb Create-Table \
--Colección de películas de nombre de mesa \
--Atributo-definiciones \
AttributeName = starring, attributessype = s \
Attributename = Movietitle, attributeType = s \
--Key-Schema \
Atributename = Starring, keyType = hash \
Atributename = Movietitle, keyType = range \
--provisión de rendimiento \
ReadCapacityUnits = 20, WriteCapacityUnits = 10 \
--stream-especificación StreamEnabled = true, streamViewType = new_and_old_images \
--Región US-West-1

Puede agregar la tabla a la tabla global que se crea anteriormente. Esto implica que su tabla global ahora tiene tres réplicas:

AWS Dynamodb Update-Global-Table \
--Colección de películas de la mesa global \
--Replica-Updates 'create = regionName = us-west-1' \
--Región US-East-1

Paso 5: Verifique la replicación agregando un nuevo elemento de una región diferente, digamos Europa (Irlanda). Puede usar la llamada de API de Putitem para esta operación.

AWS DYNAMODB PUT-ITem \
--Colección de películas de nombre de mesa \
--item '"Starring": "S": "item_1", "Movietitle": "S": "Valor de la película 1"' \
--Región EU-West-2

Puede esperar minutos y confirmar si sus actualizaciones fueron exitosas desde cualquier región anterior. Usamos la región de EE. UU. (Virginia del Norte del Norte).

AWS DYNAMODB Get-Item \
--Colección de películas de nombre de mesa \
--Key '"Starring": "S": "item_1", "Movietitle": "S": "Valor de la película 1"' \
--Región US-East-1

Beneficios del uso de tablas DynamodB

Los siguientes son los beneficios centrales de las tablas globales de Dynamodb:

  1. Le permite leer y escribir los datos localmente mientras permite el acceso a los datos globales.
  2. Son duraderos, confiables y no propensos a fallas de múltiples regiones.
  3. Las tablas globales son ideales para organizaciones que desean mejorar su desempeño, ya que puede distribuir los datos a escalas sin precedentes.
  4. Mejoran la consistencia y la resolución de conflictos inmejorables.

Conclusión

Este tutorial se destaca brevemente sobre el uso de datos, beneficios y atributos de DynamodB Global Data. Ahora puede crear y usar las tablas DynamoDB sin ningún problema. Buena suerte!