Modo de capacidad aprovisionada - Amazon DynamoDB

Modo de capacidad aprovisionada

Al crear una nueva tabla aprovisionada en DynamoDB, debe especificar su capacidad de rendimiento aprovisionada. Esta es la cantidad de rendimiento de lectura y escritura que puede soportar la tabla. DynamoDB utiliza esta información para asegurarse de que hay suficientes recursos del sistema para satisfacer sus necesidades de rendimiento.

Si lo prefiere, puede permitir que la función de escalado automático de DynamoDB administre la capacidad de rendimiento de la tabla. Para utilizar el escalado automático, deberá proporcionar la configuración inicial de capacidad de lectura y escritura al crear la tabla. El escalado automático de DynamoDB utiliza esta configuración inicial como punto de partida y, a continuación, la ajusta dinámicamente en respuesta a los requisitos de la aplicación. Para obtener más información, consulte Administración automática de la capacidad de rendimiento con la función Auto Scaling de DynamoDB.

A medida que cambian los requisitos de datos y acceso de la aplicación, puede que tenga que ajustar la configuración de rendimiento de la tabla. Si utiliza la función Auto Scaling de DynamoDB, la configuración de rendimiento se modificarán automáticamente en respuesta a las cargas de trabajo reales. También puede usar la operación UpdateTable para ajustar manualmente la capacidad de rendimiento de la tabla. Es posible que prefiera hacerlo de ese modo para cargar datos masivamente de un almacén de datos en la nueva tabla de DynamoDB. Podría crear la tabla con un ajuste de desempeño de escritura mayor y, a continuación, reducir este ajuste una vez finalizada la carga masiva de datos.

Las tablas pueden cambiar del modo bajo demanda al modo de capacidad aprovisionada en cualquier momento. Cuando realice múltiples cambios entre los modos de capacidad, se aplicarán las siguientes condiciones:

  • Puede cambiar una tabla recién creada en el modo bajo demanda al modo de capacidad aprovisionada en cualquier momento. Sin embargo, solo puede volver al modo bajo demanda 24 horas después de la marca de tiempo de creación de la tabla.

  • Puede cambiar una tabla existente en el modo bajo demanda al modo de capacidad aprovisionada en cualquier momento. Sin embargo, solo puede volver al modo bajo demanda 24 horas después de la última marca de tiempo que indique el cambio al modo bajo demanda.

Para obtener más información sobre el cambio entre los modos de capacidad de lectura y escritura, consulte Aspectos a tener en cuenta al cambiar los modos de capacidad.

Unidades de capacidad de lectura y de escritura

Para las tablas en el modo aprovisionado, especifique los requisitos de rendimiento en unidades de capacidad. Estas unidades representan la cantidad de datos que la aplicación necesita para leer o escribir por segundo. Puede cambiar esta configuración más adelante, si es necesario, o habilitar la función Auto Scaling de DynamoDB para que se modifiquen automáticamente.

Para un elemento de hasta 4 KB, una unidad de capacidad de lectura representa una operación de lectura altamente coherente por segundo, o dos operaciones de lectura coherente posterior por segundo. Para obtener más información sobre los modelos de consistencia de lectura de DynamoDB, consulte Coherencia de lectura.

Una unidad de capacidad de escritura equivale a una escritura por segundo para un elemento con un tamaño máximo de 1 KB. Para obtener más información sobre las diferentes operaciones de lectura y escritura, consulte Operaciones de lectura y escritura.

Elección de los ajustes de rendimiento iniciales

Cada aplicación tiene requisitos diferentes de lectura y escritura en una base de datos. Al determinar la configuración de rendimiento inicial de una tabla de DynamoDB, debe tener en cuenta lo siguiente:

  • Velocidades esperadas de solicitudes de lectura y escritura: debe calcular la cantidad de lecturas y escrituras que debe realizar por segundo.

  • Tamaños de los elementos: algunos elementos son lo bastante pequeños para leerlos o escribirlos con una sola unidad de capacidad. Los elementos mayores requieren varias unidades de capacidad. Si calcula el tamaño medio de los elementos que contendrá la tabla, podrá especificar una configuración precisa del rendimiento aprovisionado de la tabla.

  • Requisitos de consistencia de lectura: las unidades de capacidad de lectura se basan en operaciones de lectura altamente coherente, que consumen el doble de recursos de la base de datos que las lecturas coherentes posteriores. Es importante determinar si la aplicación necesita las lecturas de consistencia alta o si es posible adoptar un enfoque más flexible que realice en su lugar lecturas consistentes finales. Las operaciones de lectura en DynamoDB son coherentes posteriores de manera predeterminada. Si es preciso, puede solicitar lecturas altamente coherentes para estas operaciones.

Por ejemplo, supongamos que desea leer 80 elementos por segundo de una tabla. Los elementos tienen un tamaño de 3 KB y desea realizar lecturas altamente coherentes. En este caso, cada lectura requiere una unidad de capacidad de lectura aprovisionada. Para determinar esta cifra, hay que dividir el tamaño de elemento de la operación por 4 KB. A continuación, se redondea al número entero más próximo, como se muestra en el siguiente ejemplo:

  • 3 KB / 4 KB = 0,75 o 1 unidad de capacidad de lectura

Por lo tanto, para leer 80 elementos por segundo de una tabla, establezca el rendimiento de lectura aprovisionado de la tabla en 80 unidades de capacidad de lectura, como se muestra en el siguiente ejemplo:

  • 1 unidad de capacidad de lectura por elemento × 80 lecturas por segundo = 80 unidades de capacidad de lectura

Ahora, suponga que desea escribir 100 elementos por segundo en la tabla y que los elementos tienen un tamaño de 512 bytes. En este caso, cada escritura requiere una unidad de capacidad de escritura aprovisionada. Para determinar esta cifra, hay que dividir el tamaño de elemento de la operación por 1 KB. A continuación, se redondea al número entero más próximo, como se muestra en el siguiente ejemplo:

  • 512 bytes /1 KB = 0,5 o 1 unidad de capacidad de escritura

Para escribir 100 elementos por segundo en la tabla, establezca el rendimiento de escritura aprovisionado para la tabla en 100 unidades de capacidad de escritura:

  • 1 unidad de capacidad de escritura por elemento × 100 escrituras por segundo = 100 unidades de capacidad de escritura

Escalado automático de DynamoDB

El escalado automático de DynamoDB administra activamente la capacidad de rendimiento aprovisionada de las tablas y los índices secundarios globales. Con Auto Scaling, se define un rango (los límites superior e inferior) de unidades de capacidad de lectura y escritura. También se definir un porcentaje de objetivo de utilización comprendido en ese rango. La función Auto Scaling de DynamoDB intenta mantener el objetivo de utilización aunque la carga de trabajo de la aplicación aumente o disminuya.

Con el escalado automático de DynamoDB, una tabla o un índice secundario global pueden aumentar su capacidad de lectura y escritura aprovisionada para hacer frente a los aumentos repentinos de tráfico, sin que se aplique la limitación controlada a las solicitudes. Cuando la carga de trabajo disminuye, el escalado automático de DynamoDB puede reducir el rendimiento para evitar que tenga que pagar por una capacidad aprovisionada que no se utiliza.

nota

Si usa la AWS Management Console para crear una tabla o un índice secundario global, la función Auto Scaling de DynamoDB se habilita de forma predeterminada.

Puede administrar la configuración de escalado automático en cualquier momento mediante la consola, la AWS CLI o uno de los AWS. Para obtener más información, consulte Administración automática de la capacidad de rendimiento con la función Auto Scaling de DynamoDB.

Tasa de utilización

La tasa de utilización puede ayudarle a determinar si su capacidad de aprovisionamiento es excesiva, en cuyo caso debería reducir la capacidad de las tablas para ahorrar costos. Por el contrario, también puede ayudarle a determinar si su capacidad de aprovisionamiento es insuficiente. En este caso, debería aumentar la capacidad de las tablas para evitar que se apliquen limitaciones en las solicitudes en casos inesperados de tráfico intenso. Para obtener más información, consulte Amazon DynamoDB auto scaling: Performance and cost optimization at any scale.

Si utiliza el escalado automático de DynamoDB, también tendrá que establecer un porcentaje de utilización objetivo. El escalado automático utilizará este porcentaje como objetivo para ajustar la capacidad arriba o abajo. Recomendamos establecer el objetivo de utilización en un 70 %. Para obtener más información, consulte Administración automática de la capacidad de rendimiento con la función Auto Scaling de DynamoDB.