Capacidad de ampliación y de adaptación - Amazon DynamoDB

Capacidad de ampliación y de adaptación

Para minimizar las limitaciones debidas a las excepciones de rendimiento, DynamoDB utiliza la capacidad de ampliación para gestionar los picos de uso. DynamoDB utiliza la capacidad de adaptación para adaptarse a patrones de acceso irregulares.

Capacidad de ampliación

DynamoDB proporciona cierta flexibilidad para su aprovisionamiento de rendimiento con capacidad de ampliación. Cuando no se utiliza todo el rendimiento disponible, DynamoDB reserva una parte de esa capacidad no utilizada para realizar posteriormente ampliaciones de rendimiento durante los picos de uso. Con la capacidad de ráfaga, pueden realizarse correctamente solicitudes de lectura o escritura inesperadas que, de otro modo, habrían sido objeto de una limitación controlada.

En este momento, DynamoDB retiene hasta cinco minutos (300 segundos) de capacidad de lectura y escritura sin usar. Durante una ampliación de actividad de lectura o escritura ocasional, estas unidades de capacidad adicionales pueden consumirse muy rápidamente, incluso a más velocidad que la capacidad de rendimiento aprovisionada por segundo que se ha definido para la tabla.

DynamoDB también puede consumir capacidad de ampliación para el mantenimiento en segundo plano y otras tareas sin previo aviso.

Tenga en cuenta que estos detalles sobre la capacidad de ampliación podrían cambiar en el futuro.

Capacidad de adaptación

DynamoDB distribuye automáticamente sus datos en particiones, que se almacenan en varios servidores en la Nube de AWS. No siempre es posible distribuir uniformemente la actividad de lectura y escritura. Si el acceso a los datos está desequilibrado, una partición "caliente" podría recibir un volumen mayor de tráfico de lectura y escritura que otras particiones. Dado que las operaciones de lectura y escritura en una partición se administran de forma independiente, se aplicará una limitación si una sola partición recibe más de 3000 operaciones de lectura o más de 1000 operaciones de escritura. De forma automática, la capacidad de adaptación hace que la capacidad de rendimiento aumente en las particiones que reciben más tráfico.

Para acomodar mejor los patrones de acceso desiguales, la capacidad de adaptación de DynamoDB permite que una aplicación pueda seguir leyendo particiones calientes y escribiendo en ellas sin que se produzca una limitación controlada, siempre que el tráfico no supere la capacidad total aprovisionada para la tabla o la capacidad máxima de la partición. De forma automática e instantánea, la capacidad de adaptación hace que la capacidad de rendimiento aumente en las particiones que reciben más tráfico.

El siguiente diagrama ilustra el funcionamiento de la capacidad de adaptación. La tabla de ejemplo está aprovisionada con 400 WCU distribuidas de manera uniforme entre cuatro particiones, lo que permite que cada una de ellas admita un máximo de 100 WCU por segundo. Cada una de las particiones 1, 2 y 3 recibe tráfico de escritura de 50 WCU/seg. La partición 4 recibe 150 WCU/seg. Esta partición caliente puede aceptar tráfico de escritura mientras haya capacidad de ampliación disponible, pero eventualmente limitará el tráfico que supere las 100 WCU/s.

La capacidad de adaptación de DynamoDB responde aumentando la capacidad de la partición 4 para que pueda soportar la mayor carga de trabajo de 150 WCU/s sin que se aplique una limitación.

La capacidad de adaptación está habilitada de forma automática para todas las tablas de DynamoDB sin coste adicional. No es necesario habilitarla o deshabilitarla de forma explícita.

Aislamiento de elementos de acceso frecuente

Si su aplicación dirige un tráfico alto hacia uno o dos elementos de forma desproporcionada, la capacidad de adaptación volverá a equilibrar sus particiones de manera que los elementos con acceso frecuente no residan en la misma partición. Este aislamiento de los elementos de acceso frecuente reduce la probabilidad de que se solicite la limitación controlada debida a que la carga de trabajo supere la cuota de rendimiento de una única partición. También puede dividir una colección de elementos en segmentos por clave de clasificación, siempre y cuando la colección de elementos no sea objeto de un seguimiento por aumento o disminución monótona de la clave de clasificación.

Si la aplicación genera habitualmente gran intensidad de tráfico dirigido a un solo elemento, la capacidad de adaptación puede reequilibrar los datos, de tal forma que una partición solo contenga ese elemento al que se accede con frecuencia. En este caso, DynamoDB puede proporcionar rendimiento hasta el máximo de la partición de 3000 RCU y 1000 WCU a la clave principal de ese elemento único. La capacidad de adaptación no dividirá las colecciones de elementos en varias particiones de la tabla cuando haya un índice secundario local en la tabla.