Prácticas recomendadas y requisitos para la administración de tablas globales - Amazon DynamoDB

Prácticas recomendadas y requisitos para la administración de tablas globales

importante

Esta documentación corresponde a la versión 2017.11.29 (heredada) de las tablas globales, lo que debe evitarse en el caso de las tablas globales nuevas. Los clientes deberían utilizar la versión 2019.11.21 (actual) de las tablas globales siempre que sea posible, ya que proporciona mayor flexibilidad, mayor eficacia y consume menos capacidad de escritura que la 2017.11.29 (heredada).

Para determinar qué versión utiliza, consulte Determinación de la versión de las tablas globales de DynamoDB utilizadas. Para actualizar las tablas globales existentes de la versión 2017.11.29 (heredada) a la versión 2019.11.21 (actual), consulte Actualización de tablas globales.

Mediante las tablas globales de Amazon DynamoDB, puede replicar los datos de la tabla en las regiones de AWS. Es importante que las réplicas de tabla y los índices secundarios de la tabla global tengan una configuración de capacidad de escritura idéntica para garantizar la replicación adecuada de los datos.

Versión de tablas globales

Hay disponibles dos versiones de las tablas globales de DynamoDB: versión 2019.11.21 (actual) de las tablas globales y Versión 2017.11.29 (heredada) de las tablas globales. Los clientes deberían utilizar la versión 2019.11.21 (actual) de las tablas globales siempre que sea posible, ya que proporciona mayor flexibilidad, mayor eficacia y consume menos capacidad de escritura que la 2017.11.29 (heredada).

Para determinar qué versión utiliza, consulte Determinación de la versión de las tablas globales de DynamoDB utilizadas. Para actualizar las tablas globales existentes de la versión 2017.11.29 (heredada) a la versión 2019.11.21 (actual), consulte Actualización de tablas globales.

Requisitos para agregar una tabla de réplica nueva

Si quiere agregar un tabla de réplica nueva a una tabla global, debe cumplirse cada una de las condiciones siguientes:

  • La tabla debe tener la misma clave de partición que todas las demás réplicas.

  • La tabla debe tener especificada la misma configuración de administración de capacidad de escritura.

  • La tabla debe tener el mismo nombre que todas las demás réplicas.

  • La tabla debe tener DynamoDB Streams habilitado y la secuencia debe contener las imágenes viejas y las nuevas del elemento.

  • Ninguna de las réplicas de tabla nueva o que ya existe en la tabla global puede contener ningún dato.

Si se especifican índices secundarios globales, también se deben cumplir las siguientes condiciones:

  • Los índices secundarios globales deben tener el mismo nombre.

  • Los índices secundarios globales deben tener la misma clave de partición y clave de clasificación (si procede).

importante

La configuración de capacidad de escritura debe establecerse de forma coherente en todas las réplicas de tabla globales y en los índices secundarios coincidentes. Para actualizar la configuración de capacidad de escritura de la tabla global, recomendamos encarecidamente utilizar la consola de DynamoDB o la operación de la API UpdateGlobalTableSettings. UpdateGlobalTableSettings aplica cambios a la configuración de capacidad de escritura a todas las réplicas de tabla y a los índices secundarios coincidentes de una tabla global automáticamente. Si utiliza las operaciones UpdateTable, RegisterScalableTarget o PutScalingPolicy, debe aplicar el cambio a cada réplica de tabla y al índice secundario coincidente individualmente. Para obtener más información, consulte UpdateGlobalTableSettings en la Referencia de la API de Amazon DynamoDB.

Recomendamos encarecidamente que habilite la función Auto Scaling para administrar la configuración de capacidad de escritura aprovisionada. Si prefiere administrar manualmente la configuración de capacidad de escritura, debe aprovisionar unidades de capacidad de escritura replicada iguales a todas las tablas de réplica. Aprovisione también unidades de capacidad de escritura replicada iguales para coincidencias de índices secundarios en toda la tabla global.

A su vez, también debe contar con los permisos de AWS Identity and Access Management(IAM) adecuados. Para obtener más información, consulte Uso de IAM con tablas globales.

Prácticas recomendadas y requisitos para administrar la capacidad

Tenga en cuenta lo siguiente al administrar la configuración de capacidad para réplicas de tablas en DynamoDB.

Uso de Auto Scaling de DynamoDB

El uso de Auto Scaling de DynamoDB es la manera recomendada de administrar la configuración de capacidad de rendimiento para las réplicas de tabla que utilizan el modo aprovisionado. Auto Scaling de DynamoDB ajusta automáticamente las unidades de capacidad de lectura (RCU) y las unidades de capacidad de escritura (WCU) en cada réplica de tabla, en función de la carga de trabajo de la aplicación real. Para obtener más información, consulte Administración automática de la capacidad de rendimiento con la función Auto Scaling de DynamoDB.

Si crea sus tablas de réplica mediante la AWS Management Console, se habilitará Auto Scaling de forma predeterminada para cada réplica de tabla con la configuración de Auto Scaling predeterminada para la administración de unidades de capacidad de lectura y escritura.

Los cambios en la configuración de Auto Scaling para una réplica de tabla o índice secundario realizados a través de la consola de DynamoDB o mediante la llamada UpdateGlobalTableSettings se aplican automáticamente a todas las réplicas de tabla y a los índices secundarios coincidentes de la tabla global. Estos cambios sobrescriben cualquier configuración de Auto Scaling existente. Esto garantiza que la configuración de capacidad de escritura aprovisionada sea coherente entre las réplicas de tabla y los índices secundarios de la tabla global. Si utiliza las llamadas UpdateTable, RegisterScalableTarget o PutScalingPolicy, debe aplicar el cambio a cada réplica de tabla y al índice secundario coincidente individualmente.

nota

Si el Auto Scaling no satisface los cambios de capacidad de la aplicación (carga de trabajo impredecible) o si no desea configurar sus opciones (configuración de destino para el umbral mínimo, máximo o de utilización), puede usar el modo bajo demanda para administrar la capacidad de las tablas globales. Para obtener más información, consulte Modo bajo demanda.

Si habilita el modo bajo demanda en una tabla global, el consumo de unidades de solicitud de escritura replicada (RWCU) será coherente con la forma en que se aprovisionan las RCU. Por ejemplo, si realiza 10 escrituras en una tabla local que se replica en dos regiones adicionales, consumirá 60 unidades de solicitud de escritura (10 + 10 + 10 = 30; 30 x 2 = 60). Las 60 unidades de solicitud de escritura consumidas incluyen la escritura adicional que consumen las tablas globales versión 2017.11.29 para actualizar los atributos aws:rep:deleting, aws:rep:updatetime y aws:rep:updateregion.

Administración manual de la capacidad

Si decide no utilizar Auto Scaling de DynamoDB, tendrá que ajustar manualmente la configuración de la capacidad de lectura y escritura en cada réplica de tabla e índice secundario.

Las RWCU aprovisionadas en cada réplica de tabla deben establecerse en el número total de RWCU necesarias para las escrituras de aplicaciones en todas las regiones multiplicadas por dos. Esto adapta las escrituras de aplicaciones que se producen en la región local y las escrituras de aplicaciones replicadas procedentes de otras regiones. Por ejemplo, supongamos que espera 5 escrituras por segundo en la réplica de tabla en Ohio y 5 escrituras por segundo en la réplica de tabla en el Norte de Virginia. En este caso, debe aprovisionar 20 rWCU para cada réplica de tabla (5 + 5 = 10; 10 x 2 = 20).

Para actualizar la configuración de capacidad de escritura de la tabla global, recomendamos encarecidamente utilizar la consola de DynamoDB o la operación de la API UpdateGlobalTableSettings. UpdateGlobalTableSettings aplica cambios a la configuración de capacidad de escritura a todas las réplicas de tabla y a los índices secundarios coincidentes de una tabla global automáticamente. Si utiliza las operaciones UpdateTable, RegisterScalableTarget o PutScalingPolicy, debe aplicar el cambio a cada réplica de tabla y al índice secundario coincidente individualmente. Para obtener más información, consulte la Referencia de las API de Amazon DynamoDB.

nota

Para actualizar la configuración (UpdateGlobalTableSettings) para una tabla global en DynamoDB, debe tener los permisos dynamodb:UpdateGlobalTable, dynamodb:DescribeLimits, application-autoscaling:DeleteScalingPolicy y application-autoscaling:DeregisterScalableTarget. Para obtener más información, consulte Uso de IAM con tablas globales.