Prácticas recomendadas para diseñar y utilizar claves de partición de forma eficaz - Amazon DynamoDB

Prácticas recomendadas para diseñar y utilizar claves de partición de forma eficaz

La clave principal que identifica de manera inequívoca cada elemento de una tabla de Amazon DynamoDB puede ser simple (ser únicamente una clave de partición) o compleja (estar formada por una clave de partición y una clave de ordenación).

Por lo general, la aplicación debería diseñarse con la idea de que la actividad será uniforme en todas las claves de las particiones lógicas de la tabla y sus índices secundarios. Puede determinar los patrones de acceso que requiere la aplicación y estimar el total de unidades de capacidad de lectura (RCU) y unidades de capacidad de escritura (WCU) que requiere cada una de las tablas y los índices secundarios.

DynamoDB admite los patrones de acceso utilizando el rendimiento aprovisionado, siempre y cuando el tráfico que llega a una determinada partición no sea superior a 3000 RCU o 1000 WCU.

Uso eficaz de la capacidad de ráfagas

DynamoDB le brinda cierta flexibilidad a la hora de aprovisionar el rendimiento de cada partición a través de la capacidad de ampliación. Cuando no se utiliza todo el rendimiento de una partición, DynamoDB reserva una parte de esa capacidad no utilizada para poder ofrecer posteriormente ampliaciones de rendimiento durante los picos de uso.

En este momento, DynamoDB retiene hasta 5 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 ráfagas podrían cambiar en el futuro.

Descripción de la capacidad de adaptación de DynamoDB

La capacidad de adaptación es una característica que permite que DynamoDB ejecute cargas de trabajo desequilibradas de manera indefinida. Minimiza la limitación controlada causada a las excepciones de rendimiento. También ayuda a reducir los costos, porque permite aprovisionar únicamente la capacidad de rendimiento que se necesita.

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.

Aumento de la capacidad de rendimiento en particiones de tráfico intenso

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. En casos extremos, podría llegar a producirse una limitación controlada si una partición recibe más de 3000 RCU o 1000 WCU.

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 incrementando la capacidad de la partición 4, de forma que pueda soportar la carga de trabajo de 150 WCU/s sin que se aplique una limitación controlada.

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.

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 o 1000 WCU a la clave principal de ese elemento único.

nota

Esta funcionalidad de aislamiento no está disponible para