Rendimiento máximo de las tablas bajo demanda - Amazon DynamoDB

Rendimiento máximo de las tablas bajo demanda

En el caso de las tablas bajo demanda, si lo desea, puede especificar el rendimiento máximo de lectura o escritura (o ambos) por segundo en tablas individuales y en los índices secundarios globales (GSI) asociados. Especificar un rendimiento máximo bajo demanda ayuda a limitar el uso y los costos de las tablas. De forma predeterminada, no se aplica la configuración de rendimiento máximo. Además, la tasa de rendimiento bajo demanda está limitada por la cuota de servicio de AWS en todas las tablas o GSI de una tabla. Si es necesario, también puede solicitar un aumento de la cuota de servicio.

Al configurar el rendimiento máximo para una tabla bajo demanda, se aplicará una limitación a las solicitudes de rendimiento que superen la cantidad máxima especificada. Puede modificar la configuración del rendimiento de las tablas en cualquier momento en función de los requisitos de su aplicación.

Estos son algunos casos de uso comunes que pueden beneficiarse del uso de un rendimiento máximo para las tablas bajo demanda:

  • Optimización de los costos de rendimiento: el uso del rendimiento máximo para las tablas bajo demanda permite disponer de un nivel adicional de previsibilidad de los costos y facilidad de administración. Además, ofrece una mayor flexibilidad para usar el modo bajo demanda para soportar cargas de trabajo con diferentes patrones de tráfico y presupuestos.

  • Protección contra el uso excesivo: al establecer el rendimiento máximo, puede evitar un aumento accidental del consumo de lecturas o escrituras, que podría deberse a un código no optimizado o a procesos fraudulentos en una tabla bajo demanda. Esta configuración de tabla puede evitar que las organizaciones consuman recursos excesivos en un período de tiempo determinado.

  • Protección de los servicios posteriores: la aplicación de un cliente puede incluir tecnologías sin servidor y con servidor. La parte sin servidor de la arquitectura sin puede escalarse rápidamente para adaptarse a la demanda. Sin embargo, los componentes posteriores con capacidades fijas podrían saturarse. La implementación de una configuración de rendimiento máximo para las tablas bajo demanda puede evitar que un gran volumen de eventos se propague a varios componentes posteriores y se produzcan efectos secundarios inesperados.

Puede configurar el rendimiento máximo del modo bajo demanda en tablas nuevas y existentes de una sola región, así como en tablas globales y GSI. También puede configurar el rendimiento máximo durante la restauración de tablas y la importación de datos desde los flujos de trabajo de Amazon S3.

Puede especificar la configuración de rendimiento máximo de una tabla bajo demanda mediante la consola de DynamoDB, la AWS CLI, AWS CloudFormation o la API de DynamoDB.

nota

El rendimiento máximo de una tabla bajo demanda se aplica en la medida de lo posible y debe considerarse como un objetivo en lugar de un límite de solicitudes garantizado. Es posible que su carga de trabajo supere temporalmente el rendimiento máximo especificado debido a la capacidad de ampliación. En algunos casos, DynamoDB utiliza la capacidad de ampliación para atender las lecturas o escrituras que superan la configuración de rendimiento máxima de la tabla. 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.

Consideraciones al utilizar el rendimiento máximo en el modo bajo demanda

Cuando se utiliza el rendimiento máximo para las tablas en el modo bajo demanda, hay que tener en cuenta lo siguiente:

  • Puede establecer de forma independiente el rendimiento máximo de lectura y escritura para cualquier tabla bajo demanda o para un índice secundario global individual dentro de esa tabla para ajustar su enfoque a los requisitos específicos.

  • Puede utilizar Amazon CloudWatch para monitorear y conocer las métricas de uso de tabla de DynamoDB y para determinar la configuración de rendimiento máximo adecuada para el modo bajo demanda. Para obtener más información, consulte Dimensiones y métricas de DynamoDB.

  • Al especificar la configuración de rendimiento máximo de lectura o escritura (o ambas) en una sola réplica de tabla global, esa misma configuración se aplica automáticamente a todas las tablas de réplicas. Es importante que las tablas de réplicas y los índices secundarios de la tabla global tengan una configuración de rendimiento de escritura idéntica para garantizar la replicación adecuada de los datos. Para obtener más información, consulte Prácticas recomendadas y requisitos para la administración de tablas globales.

  • El rendimiento máximo de lectura o escritura más bajo que puede especificar es una unidad de solicitud por segundo.

  • El rendimiento máximo que especifique debe ser inferior a la cuota de rendimiento predeterminada que está disponible para cualquier tabla bajo demanda o índice secundario global individual dentro de esa tabla.

Limitación de solicitudes y métricas de CloudWatch

Si la aplicación supera el rendimiento máximo de lectura o escritura que ha establecido en la tabla bajo demanda, DynamoDB comienza a aplicar límites a esas solicitudes. Cuando DynamoDB aplica una limitación controlada a una lectura o escritura, devuelve una ThrottlingException a la persona que llama. A continuación, puede tomar las medidas adecuadas, si es necesario. Por ejemplo, puede aumentar o deshabilitar la configuración de rendimiento máximo de la tabla o esperar un poco antes de volver a intentar la solicitud.

Para simplificar el monitoreo del rendimiento máximo configurado para una tabla o un índice secundario global, CloudWatch proporciona las siguientes métricas: OnDemandMaxReadRequestUnits y OnDemandMaxWriteRequestUnits.