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

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Prácticas recomendadas y requisitos para la administració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 dos versiones de tablas globales de DynamoDB disponibles: Global Tables versión 2019.11.21 (actual) y. Tablas globales, versión 2017.11.29 (Legacy) Los clientes deben usar la versión 2019.11.21 (actual) de Global Tables siempre que sea posible, ya que proporciona mayor flexibilidad, mayor eficiencia y consume menos capacidad de escritura que la versión 2017.11.29 (antigua).

Para determinar qué versión utiliza, consulte Determinación de la versión de las tablas globales 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 la UpdateGlobalTableSettingsreferencia 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 a cada tabla de réplicas (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.