Capacidad aprovisionada frente a bajo demanda
Elija entre el rendimiento aprovisionado con escalado automático y el modo bajo demanda según la previsibilidad del tráfico y el coste.
Capacidad aprovisionada frente a bajo demanda es una lección gratuita de AWS Solutions Architect en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AWS Solutions Architect, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AWS Solutions Architect incluye 4 lecciones en total.
Explicación de las unidades de capacidad de DynamoDB
DynamoDB mide el rendimiento mediante unidades de capacidad de lectura (RCUs) y unidades de capacidad de escritura (WCUs). Una RCU permite una lectura fuertemente consistente por segundo (o dos lecturas eventualmente consistentes) para elementos de hasta 4 KB. Una WCU permite una escritura por segundo para elementos de hasta 1 KB.
Para elementos más grandes, el coste aumenta proporcionalmente: una escritura de 10 KB cuesta 10 WCUs; una lectura fuertemente consistente de 10 KB cuesta 3 RCUs (ceil(10/4) = 3). Comprender las unidades de capacidad es esencial para estimar los costes y diagnosticar los errores de limitación ProvisionedThroughputExceededException.
Modo de capacidad aprovisionada
En el modo de capacidad aprovisionada, debe especificar el número exacto de RCUs y WCUs que su tabla debe admitir. DynamoDB reserva ese rendimiento y le cobra por él independientemente de que lo utilice o no. Si su aplicación supera la capacidad aprovisionada, las solicitudes se limitan y devuelven una ProvisionedThroughputExceededException.
El modo aprovisionado es ideal para cargas de trabajo con un tráfico predecible y estable. El coste por unidad es menor que en el modo bajo demanda, y puede reducir aún más los costes adquiriendo DynamoDB Reserved Capacity (compromisos de 1 o 3 años con descuentos de hasta el 76 %).
# Create a table with provisioned capacity
aws dynamodb create-table \
--table-name Products \
--attribute-definitions AttributeName=ProductId,AttributeType=S \
--key-schema AttributeName=ProductId,KeyType=HASH \
--provisioned-throughput ReadCapacityUnits=100,WriteCapacityUnits=50Modo de capacidad bajo demanda
En el modo bajo demanda, DynamoDB escala automáticamente para adaptarse a cualquier nivel de tráfico sin necesidad de planificar la capacidad. Paga por cada solicitud: por cada RRU (unidad de solicitud de lectura) y WRU (unidad de solicitud de escritura) que consuma realmente. No hay capacidad aprovisionada que administrar ni limitación debido a límites aprovisionados.
El modo bajo demanda es ideal para: cargas de trabajo impredecibles o con picos, tablas nuevas cuyo tráfico se desconoce y entornos de desarrollo y pruebas con acceso poco frecuente. El coste por solicitud es mayor que en el modo aprovisionado, por lo que, para cargas de trabajo estables con un alto rendimiento, el modo aprovisionado resulta más económico.
# Create a table in on-demand mode
aws dynamodb create-table \
--table-name Events \
--attribute-definitions AttributeName=EventId,AttributeType=S \
--key-schema AttributeName=EventId,KeyType=HASH \
--billing-mode PAY_PER_REQUESTCambio entre modos de capacidad
Puede cambiar una tabla entre los modos aprovisionado y bajo demanda en cualquier momento mediante la consola o la CLI. Sin embargo, solo puede cambiar de modo una vez cada 24 horas. Después de cambiar al modo bajo demanda, la tabla conserva la capacidad aprovisionada máxima anterior como nivel de rendimiento inicial, lo que evita una limitación inmediata si el tráfico ya es elevado.
Una estrategia habitual consiste en utilizar el modo bajo demanda durante el lanzamiento inicial, cuando se desconocen los patrones de tráfico, y cambiar después al modo aprovisionado con Auto Scaling cuando el tráfico se vuelve predecible, reduciendo así los costes.
# Switch a table to on-demand billing mode
aws dynamodb update-table \
--table-name Products \
--billing-mode PAY_PER_REQUESTAuto Scaling de DynamoDB para el modo aprovisionado
Auto Scaling de DynamoDB ajusta automáticamente las RCUs y WCUs aprovisionadas en respuesta al tráfico real. Usted define un porcentaje de utilización objetivo (por ejemplo, 70 %) y un intervalo de capacidad mínimo y máximo. Una política de Application Auto Scaling supervisa la capacidad consumida de la tabla y ajusta la capacidad aprovisionada para mantener la utilización objetivo.
Auto Scaling reacciona a cambios sostenidos del tráfico y puede tardar unos minutos en aumentar la capacidad. No gestiona bien los picos repentinos de tráfico; para esos casos, precaliente la capacidad manualmente o utilice el modo bajo demanda.
# Register table as an auto scaling target
aws application-autoscaling register-scalable-target \
--service-namespace dynamodb \
--resource-id 'table/Products' \
--scalable-dimension dynamodb:table:ReadCapacityUnits \
--min-capacity 10 \
--max-capacity 1000Capacidad de ráfaga
DynamoDB conserva hasta 5 minutos de capacidad aprovisionada no utilizada como capacidad de ráfaga. Cuando el tráfico de su tabla supera brevemente el nivel aprovisionado, DynamoDB utiliza el fondo de ráfaga para atender las solicitudes adicionales sin limitarlas. Una vez agotado ese fondo, las solicitudes adicionales posteriores se limitan.
La capacidad de ráfaga es un búfer a corto plazo y no sustituye a una planificación correcta de la capacidad. Supervise las métricas de CloudWatch ConsumedReadCapacityUnits y ConsumedWriteCapacityUnits para detectar cuándo su carga de trabajo consume capacidad de ráfaga de forma constante y ajustar en consecuencia el rendimiento aprovisionado.
Limitación y gestión de errores
Cuando se supera la capacidad aprovisionada (y se agota la capacidad de ráfaga), DynamoDB devuelve ProvisionedThroughputExceededException. Los AWS SDK incluyen una lógica de reintento integrada con retroceso exponencial y jitter que reintenta automáticamente las solicitudes limitadas.
Para diagnosticar la limitación, compruebe las métricas de CloudWatch SystemErrors y ThrottledRequests. Si se están limitando claves de partición específicas mientras la utilización general de la tabla es baja, tiene un problema de partición saturada: rediseñe la clave de partición, añada una clave de ordenación o utilice write sharding.
Estimación de los requisitos de capacidad
Para estimar la capacidad del modo aprovisionado:
- Calcule escrituras máximas por segundo × tamaño medio del elemento / 1 KB (redondeado hacia arriba) = WCUs necesarias
- Calcule lecturas máximas por segundo × tamaño medio del elemento / 4 KB (redondeado hacia arriba) = RCUs necesarias (fuertemente consistentes); divida entre dos para lecturas eventualmente consistentes
- Añada un margen del 20–30 % por encima del máximo para absorber los picos antes de consumir la capacidad de ráfaga
Ejemplo: 1.000 escrituras/s de elementos de 2 KB = 2.000 WCUs. 5.000 lecturas/s de elementos de 8 KB (eventualmente consistentes) = ceil(8/4) × 5.000 / 2 = 5.000 RCUs.
Capacidad reservada para reducir costes
DynamoDB Reserved Capacity le permite adquirir un número fijo de RCUs y WCUs por un periodo de 1 o 3 años, mediante un pago inicial que ofrece un descuento considerable (de hasta el 76 %) frente a los precios bajo demanda. La capacidad reservada se aplica a todas las tablas aprovisionadas de una Región y se aplica automáticamente a sus cargos por hora.
Reserved Capacity solo se aplica al modo aprovisionado; no puede utilizarla con el modo bajo demanda. Es la mejor opción para ahorrar costes en cargas de trabajo estables y predecibles que pueda pronosticar con confianza para los próximos 1–3 años.
Comparación de modos: guía de decisión para el examen
Utilice esta guía de decisión para las preguntas del examen SAA-C03 sobre los modos de capacidad:
- Bajo demanda: tráfico impredecible, aplicación nueva, acceso poco frecuente, carga de trabajo con picos, o cuando desea no tener que administrar la capacidad
- Aprovisionado: tráfico constante y predecible, sensibilidad a los costes, disposición para administrar la capacidad y posibilidad de obtener descuentos de Reserved Capacity
- Aprovisionado + Auto Scaling: línea base predecible con cierta variabilidad, cuando desea ajustes automáticos sin realizar cambios manuales
En el examen, palabras clave como 'con picos', 'impredecible' o 'carga operativa mínima' indican el modo bajo demanda; 'tráfico estable' u 'optimización de costes' indican el modo aprovisionado.
Capacidad adaptativa
La capacidad adaptativa de DynamoDB redistribuye automáticamente el rendimiento de las particiones poco activas a las particiones saturadas en tiempo real. Si una clave de partición recibe más tráfico del que le corresponde, la capacidad adaptativa toma prestado rendimiento de las particiones infrautilizadas para atenderla, siempre que no se supere la capacidad total de la tabla.
La capacidad adaptativa está siempre habilitada y no requiere configuración. Reduce la limitación de particiones saturadas en patrones de acceso moderadamente desiguales. En cargas de trabajo con una distribución muy sesgada (por ejemplo, cuando una clave de partición recibe el 90 % del tráfico), la capacidad adaptativa no es suficiente: debe rediseñar la clave de partición o utilizar write sharding.
Comprobación rápida
Compruebe su comprensión de los conceptos de AWS Solutions Architect (SAA-C03) de esta lección.
Resumen de la lección
En esta lección ha aprendido que: el modo aprovisionado establece RCUs/WCUs fijas para cargas de trabajo predecibles a un coste menor; el modo bajo demanda escala automáticamente para tráfico impredecible con un precio por solicitud más alto; y Auto Scaling ajusta la capacidad aprovisionada según porcentajes de utilización objetivo. A continuación, exploraremos Global Secondary Indexes y Local Secondary Indexes para patrones de consulta alternativos.
Preguntas frecuentes
¿La lección «Capacidad aprovisionada frente a bajo demanda» es gratis?
Sí — el texto completo de «Capacidad aprovisionada frente a bajo demanda» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AWS Solutions Architect, actualiza a CoddyKit PRO. El curso de AWS Solutions Architect incluye 4 lecciones en total.
¿Qué aprenderé en «Capacidad aprovisionada frente a bajo demanda»?
Elija entre el rendimiento aprovisionado con escalado automático y el modo bajo demanda según la previsibilidad del tráfico y el coste. Practicas AWS Solutions Architect con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AWS Solutions Architect?
No se requiere experiencia previa. AWS Solutions Architect en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Capacidad aprovisionada frente a bajo demanda»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AWS Solutions Architect?
Sí. Cada lección de AWS Solutions Architect incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Tablas, elementos y claves principales
- Capacidad aprovisionada frente a bajo demanda
- Índices secundarios globales e índices secundarios locales
- DynamoDB Streams y tablas globales