

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configurar los modos de read/write capacidad en Amazon Keyspaces
<a name="ReadWriteCapacityMode"></a>

Amazon Keyspaces tiene dos modos de read/write capacidad para procesar lecturas y escrituras en las tablas: 
+  Bajo demanda (predeterminado) 
+  Aprovisionado 

 El modo read/write de capacidad que elija controla cómo se le cobra por el rendimiento de lectura y escritura y cómo se administra la capacidad de rendimiento de la tabla. 

**Topics**
+ [Configuración del modo de capacidad bajo demanda](ReadWriteCapacityMode.OnDemand.md)
+ [Configure el modo de capacidad aprovisionada](ReadWriteCapacityMode.Provisioned.md)
+ [Visualización del modo de capacidad de una tabla en Amazon Keyspaces](ReadWriteCapacityMode.ProvisionedThroughput.ManagingCapacity.md)
+ [Cambiar el modo de capacidad de una tabla en Amazon Keyspaces](ReadWriteCapacityMode.SwitchReadWriteCapacityMode.md)
+ [Configuración de precalentamiento para tablas en Amazon Keyspaces](warm-throughput.md)

# Configuración del modo de capacidad bajo demanda
<a name="ReadWriteCapacityMode.OnDemand"></a>

El modo de capacidad *bajo demanda* de Amazon Keyspaces (para Apache Cassandra) es una opción de facturación flexible capaz de servir miles de solicitudes por segundo sin necesidad de planificar la capacidad. Esta opción ofrece pay-per-request precios para las solicitudes de lectura y escritura, de modo que solo pague por lo que utilice. 

 Al elegir el modo bajo demanda, Amazon Keyspaces puede escalar la capacidad de rendimiento de su tabla hasta cualquier nivel de tráfico alcanzado previamente de forma instantánea y, a continuación, volver a reducirla al disminuir el tráfico de solicitudes. Si el nivel de tráfico de una carga de trabajo alcanza un nuevo pico, el servicio se adapta rápidamente para aumentar la capacidad de rendimiento de su tabla. Puede habilitar el modo de capacidad bajo demanda tanto para las tablas nuevas como para las ya existentes.

El modo bajo demanda es una buena opción si se cumple alguna de las siguientes condiciones: 
+ Crea nuevas tablas con cargas de trabajo desconocidas. 
+ Tiene un tráfico de aplicaciones impredecible. 
+ Prefiere disfrutar de la comodidad de pagar solo por lo que usa. 

Para empezar con el modo bajo demanda, puede crear una nueva tabla o actualizar una tabla existente para utilizar el modo de capacidad bajo demanda mediante la consola o con unas pocas líneas de código Cassandra Query Language (CQL). Para obtener más información, consulte [Tablas](cql.ddl.table.md).

**Topics**
+ [Unidades de solicitud de lectura y de escritura](#ReadWriteCapacityMode.requests)
+ [Picos de tráfico y propiedades de escalado](#ReadWriteCapacityMode.PeakTraffic)
+ [Rendimiento inicial del modo de capacidad bajo demanda](#ReadWriteCapacityMode.InitialThroughput)

## Unidades de solicitud de lectura y de escritura
<a name="ReadWriteCapacityMode.requests"></a>

 Con las tablas en modo de capacidad bajo demanda, no necesita especificar de antemano cuánto rendimiento de lectura y escritura espera que utilice su aplicación. Amazon Keyspaces le cobra por las lecturas y escrituras que realice en sus tablas en términos de unidades de solicitud de lectura (RRUs) y unidades de solicitud de escritura (WRUs). 
+ Una *RRU* representa una solicitud de lectura `LOCAL_QUORUM` o dos solicitudes de lectura ` LOCAL_ONE` para una fila de hasta 4 KB de tamaño. Si necesita leer una fila de más de 4 KB, la operación de lectura utiliza más. RRUs El número total de elementos RRUs necesarios depende del tamaño de la fila y de si desea mantener la coherencia `LOCAL_QUORUM` o la coherencia de `LOCAL_ONE` lectura. Por ejemplo, para leer una fila de 8 KB se necesitan 2 RRUs unidades con coherencia de `LOCAL_QUORUM` lectura y 1 RRU si se elige la coherencia de `LOCAL_ONE` lectura. 
+ Una *WRU* representa una escritura para una fila de hasta 1 KB de tamaño. Todas las escrituras utilizan `LOCAL_QUORUM` la coherencia y no se aplica ningún cargo adicional por el uso de transacciones ligeras (LWTs). Si necesita escribir una fila de más de 1 KB, la operación de escritura utiliza más WRUs. La cantidad total WRUs requerida depende del tamaño de la fila. Por ejemplo, si el tamaño de la fila es de 2 KB, necesitará 2 WRUs para realizar una solicitud de escritura. 

Para obtener información sobre los niveles de coherencia admitidos, consulte [Niveles de coherencia de lectura y escritura de Apache Cassandra admitidos y costos asociados](consistency.md).

## Picos de tráfico y propiedades de escalado
<a name="ReadWriteCapacityMode.PeakTraffic"></a>

Las tablas de Amazon Keyspaces que utilizan el modo de capacidad bajo demanda se adaptan automáticamente al volumen de tráfico de su aplicación. El modo de capacidad bajo demanda acomoda al instante hasta el doble del tráfico máximo alcanzado previamente en una tabla. Por ejemplo, el patrón de tráfico de su aplicación puede variar entre 5000 y 10 000 lecturas `LOCAL_QUORUM` por segundo, donde 10 000 lecturas por segundo es el pico de tráfico anterior. 

Con este patrón, el modo de capacidad bajo demanda se adapta instantáneamente a un tráfico sostenido de hasta 20 000 lecturas por segundo. Si su aplicación sostiene un tráfico de 20 000 lecturas por segundo, ese pico se convierte en su nuevo pico anterior, habilitando el tráfico posterior para alcanzar hasta 40 000 lecturas por segundo.

 Si necesita más del doble de su pico anterior en una tabla, Amazon Keyspaces asigna automáticamente más capacidad a medida que aumenta su volumen de tráfico. Esto permite garantizar que su tabla tenga suficiente capacidad de rendimiento para procesar las solicitudes adicionales. Sin embargo, es posible que observe errores de capacidad de rendimiento insuficiente si supera el doble de su pico anterior en un periodo de 30 minutos. 

Por ejemplo, suponga que el patrón de tráfico de su aplicación varía entre 5000 y 10 000 lecturas por segundo de gran coherencia, siendo 20 000 lecturas por segundo el pico de tráfico alcanzado anteriormente. En este caso, el servicio le recomienda que espacie el crecimiento de su tráfico durante al menos 30 minutos antes de subir a 40 000 lecturas por segundo. 

Para obtener información sobre cómo estimar el consumo de capacidad de lectura y escritura de una tabla, consulte [Estimación del consumo de capacidad del rendimiento de lectura y escritura en Amazon Keyspaces](capacity-examples.md).

Para obtener más información sobre las cuotas predeterminadas de su cuenta y cómo aumentarlas, consulte [Cuotas para Amazon Keyspaces (para Apache Cassandra)](quotas.md).

## Rendimiento inicial del modo de capacidad bajo demanda
<a name="ReadWriteCapacityMode.InitialThroughput"></a>

Si crea una nueva tabla con el modo de capacidad bajo demanda habilitado o cambia una tabla existente al modo de capacidad bajo demanda por primera vez, la tabla tendrá los siguientes ajustes de pico anteriores, aunque no haya servido tráfico anteriormente utilizando el modo de capacidad bajo demanda:
+  **Tabla recién creada con el modo de capacidad bajo demanda:** el pico anterior era de 2000 WRUs y 6000 RRUs. Puede manejar hasta el doble del pico anterior de forma inmediata. De este modo, las mesas bajo demanda recién creadas pueden servir hasta 4000 WRUs y 12 000 RRUs. 
+  **La mesa existente cambió al modo de capacidad bajo demanda:** el pico anterior es la mitad del anterior WCUs y se RCUs aprovisiona para la mesa o los ajustes de una tabla recién creada con el modo de capacidad bajo demanda, lo que sea mayor. 

# Configure el modo de capacidad aprovisionada
<a name="ReadWriteCapacityMode.Provisioned"></a>

 Si elige el modo de capacidad de *rendimiento aprovisionado*, especifica el número de lecturas y escrituras por segundo que se requieren para su aplicación. Esto le ayuda a gestionar el uso de Amazon Keyspaces para que se mantenga igual o inferior a una tasa de solicitudes definida a fin de mantener la previsibilidad. Para obtener más información sobre el escalado automático para el rendimiento aprovisionado, consulte [Administración automática de la capacidad de rendimiento con el escalado automático de Amazon Keyspaces](autoscaling.md). 

El modo de capacidad de rendimiento aprovisionada es una buena opción si se cumple alguna de las siguientes condiciones: 
+ El tráfico de la aplicación es predecible. 
+ Ejecuta aplicaciones cuyo tráfico es coherente o aumenta gradualmente. 
+ Puede pronosticar los requisitos de capacidad.

## Unidades de capacidad de lectura y de escritura
<a name="ReadWriteCapacityMode.Provisioned.Units"></a>

 Para las tablas de modos de capacidad de rendimiento aprovisionadas, especifique la capacidad de rendimiento en términos de unidades de capacidad de lectura (RCUs) y unidades de capacidad de escritura (): WCUs 
+ Una *RCU* representa una lectura `LOCAL_QUORUM` por segundo o dos lecturas `LOCAL_ONE` por segundo, para una fila de hasta 4 KB de tamaño. Si necesita leer una fila de más de 4 KB, la operación de lectura utiliza adicionales. RCUs 

  El número total de datos RCUs necesarios depende del tamaño de la fila y de si desea `LOCAL_ONE` leer `LOCAL_QUORUM` o leer. Por ejemplo, si el tamaño de la fila es de 8 KB, necesitará 2 RCUs para mantener una `LOCAL_QUORUM` lectura por segundo y 1 RCU si elige `LOCAL_ONE` lecturas. 
+ Una *WCU* representa una escritura por segundo para una fila de hasta 1 KB de tamaño. Todas las escrituras utilizan `LOCAL_QUORUM` la coherencia y no se aplica ningún cargo adicional por el uso de transacciones ligeras (LWTs). Si necesita escribir una fila de más de 1 KB, la operación de escritura utiliza más WCUs. 

  La cantidad total WCUs requerida depende del tamaño de la fila. Por ejemplo, si el tamaño de la fila es de 2 KB, necesitará 2 WCUs para soportar una solicitud de escritura por segundo. Para obtener más información acerca de cómo estimar el consumo de capacidad de lectura y escritura de una tabla, consulte [Estimación del consumo de capacidad del rendimiento de lectura y escritura en Amazon Keyspaces](capacity-examples.md).

Si su aplicación lee o escribe filas más grandes (hasta el tamaño máximo de fila de Amazon Keyspaces de 1 MB), consumirá más unidades de capacidad. Para obtener más información sobre cómo calcular el tamaño de las filas, consulte [Estimación del tamaño de las filas en Amazon Keyspaces](calculating-row-size.md). Por ejemplo, supongamos que crea una tabla aprovisionada con 6 RCUs y 6 WCUs. Con estos ajustes, la aplicación podría hacer lo siguiente:
+ Realice `LOCAL_QUORUM` lecturas de hasta 24 KB por segundo (4 KB × 6 RCUs).
+ Realizar lecturas `LOCAL_ONE` de hasta 48 KB por segundo (el doble de rendimiento de lectura).
+ Escriba hasta 6 KB por segundo (1 KB × 6 WCUs).

 El *rendimiento aprovisionado* es la cantidad máxima de capacidad de rendimiento que una aplicación puede consumir de una tabla. Si su aplicación supera la capacidad de rendimiento aprovisionada, es posible que observe errores de capacidad insuficiente. 

Por ejemplo, una solicitud de lectura que no tenga suficiente capacidad de rendimiento falla con una excepción `Read_Timeout` y se contabiliza en la métrica `ReadThrottleEvents`. Una solicitud de escritura que no tenga suficiente capacidad de rendimiento falla con una excepción `Write_Timeout` y se contabiliza en la métrica `WriteThrottleEvents`. 

Puedes usar Amazon CloudWatch para monitorear las métricas de rendimiento aprovisionadas y reales y los eventos de capacidad insuficiente. Para obtener más información sobre estas métricas, consulte [Métricas y dimensiones de Amazon Keyspaces](metrics-dimensions.md). 

**nota**  
Los errores repetidos debidos a una capacidad insuficiente pueden dar lugar a excepciones específicas para el controlador del lado del cliente, por ejemplo, el controlador DataStax Java falla con un. `NoHostAvailableException` 

Para cambiar la configuración de capacidad de rendimiento de las tablas, puede utilizar la Consola de administración de AWS o la instrucción `ALTER TABLE` con CQL. Para obtener más información consulte [ALTER TABLE](cql.ddl.table.md#cql.ddl.table.alter).

Para obtener más información sobre las cuotas predeterminadas de su cuenta y cómo aumentarlas, consulte [Cuotas para Amazon Keyspaces (para Apache Cassandra)](quotas.md).

# Visualización del modo de capacidad de una tabla en Amazon Keyspaces
<a name="ReadWriteCapacityMode.ProvisionedThroughput.ManagingCapacity"></a>

Puede consultar la tabla del sistema en el espacio de claves del sistema de Amazon Keyspaces para revisar la información sobre el modo de capacidad de una tabla. También puede ver si una tabla utiliza el modo de capacidad de rendimiento bajo demanda o aprovisionada. Si la tabla está configurada con el modo de capacidad de rendimiento aprovisionada, puede ver la capacidad de rendimiento aprovisionada de la tabla. 

También puede utilizar el AWS CLI para ver el modo de capacidad de una tabla.

Para cambiar el rendimiento aprovisionado de una tabla, utilice [Cambiar el modo de capacidad de una tabla en Amazon Keyspaces](ReadWriteCapacityMode.SwitchReadWriteCapacityMode.md).

------
#### [ Cassandra Query Language (CQL) ]

**Ejemplo**

```
SELECT * from system_schema_mcs.tables where keyspace_name = 'mykeyspace' and table_name = 'mytable';
```

Una tabla configurada con el modo de capacidad bajo demanda devuelve lo siguiente.

```
{
   "capacity_mode":{
      "last_update_to_pay_per_request_timestamp":"1579551547603",
      "throughput_mode":"PAY_PER_REQUEST"
   }
}
```

Una tabla configurada con el modo de capacidad de rendimiento aprovisionada devuelve lo siguiente.

```
{
   "capacity_mode":{
      "last_update_to_pay_per_request_timestamp":"1579048006000",
      "read_capacity_units":"5000",
      "throughput_mode":"PROVISIONED",
      "write_capacity_units":"6000"
   }
}
```

El valor `last_update_to_pay_per_request_timestamp` se mide en milisegundos.

------
#### [ CLI ]

Vea el modo de capacidad de rendimiento de una tabla mediante el AWS CLI

```
aws keyspaces get-table --keyspace-name myKeyspace --table-name myTable
```

La salida del comando puede tener un aspecto similar a este para una tabla en modo de capacidad aprovisionada.

```
"capacitySpecification": {
        "throughputMode": "PROVISIONED",
        "readCapacityUnits": 4000,
        "writeCapacityUnits": 2000
    }
```

El resultado de una tabla en modo bajo demanda tiene el siguiente aspecto.

```
"capacitySpecification": {
        "throughputMode": "PAY_PER_REQUEST",
        "lastUpdateToPayPerRequestTimestamp": "2024-10-03T10:48:19.092000+00:00"
    }
```

------

# Cambiar el modo de capacidad de una tabla en Amazon Keyspaces
<a name="ReadWriteCapacityMode.SwitchReadWriteCapacityMode"></a>

Al cambiar una tabla del modo de capacidad aprovisionada al modo de capacidad bajo demanda, Amazon Keyspaces realiza varios cambios en la estructura de su tabla y sus particiones. Este proceso puede tardar varios minutos. Durante el periodo de cambio, su tabla ofrece un rendimiento coherente con las cantidades de WCU y RCU previamente aprovisionadas. 

Al volver a cambiar del modo de capacidad bajo demanda al modo de capacidad aprovisionada, su tabla ofrece un rendimiento coherente con el pico alcanzado anteriormente cuando la tabla estaba en modo de capacidad bajo demanda.

Al cambiar de modo de capacidad, se aplican los siguientes períodos de espera:
+ 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, puede cambiar los modos de capacidad aprovisionada al modo bajo demanda solo una vez cada 24 horas.

------
#### [ Cassandra Query Language (CQL) ]

**Cambio del modo de capacidad de rendimiento de una tabla mediante CQL**

1. Para cambiar el modo de capacidad de una tabla a `PROVIOSIONED`, debe configurar las unidades de capacidad de lectura y escritura en función de los valores máximos esperados de la carga de trabajo. Esta instrucción es un ejemplo de ello. También puede ejecutar esta instrucción para ajustar la capacidad de lectura o las unidades de capacidad de escritura de la tabla.

   ```
   ALTER TABLE catalog.book_awards WITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 6000, 'write_capacity_units': 3000}};
   ```

   Para configurar el modo de capacidad aprovisionada con escalado automático, consulte [Configuración del escalado automático en una tabla existente](autoscaling.configureTable.md).

1. Para cambiar el modo de capacidad de una tabla al modo bajo demanda, defina el modo de rendimiento como `PAY_PER_REQUEST`. La siguiente instrucción es un ejemplo de ello.

   ```
   ALTER TABLE catalog.book_awards WITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PAY_PER_REQUEST'}};
   ```

1. Puede usar la siguiente instrucción para confirmar el modo de capacidad de la tabla.

   ```
   SELECT * from system_schema_mcs.tables where keyspace_name = 'catalog' and table_name = 'book_awards';
   ```

   Una tabla configurada con el modo de capacidad bajo demanda devuelve lo siguiente.

   ```
   {
      "capacity_mode":{
         "last_update_to_pay_per_request_timestamp":"1727952499092",
         "throughput_mode":"PAY_PER_REQUEST"
      }
   }
   ```

   El valor `last_update_to_pay_per_request_timestamp` se mide en milisegundos.

------
#### [ CLI ]

**Cambie el modo de capacidad de procesamiento de una tabla mediante el AWS CLI**

1. Para cambiar el modo de capacidad de la tabla a `PROVIOSIONED`, debe configurar las unidades de capacidad de lectura y escritura en función de los valores máximos esperados de la carga de trabajo. El siguiente comando es un ejemplo de esto. También puede ejecutar este comando para ajustar la capacidad de lectura o las unidades de capacidad de escritura de la tabla.

   ```
   aws keyspaces update-table --keyspace-name catalog --table-name book_awards  
                                       \--capacity-specification throughputMode=PROVISIONED,readCapacityUnits=6000,writeCapacityUnits=3000
   ```

   Para configurar el modo de capacidad aprovisionada con escalado automático, consulte [Configuración del escalado automático en una tabla existente](autoscaling.configureTable.md).

1. Para cambiar el modo de capacidad de una tabla al modo bajo demanda, defina el modo de rendimiento como `PAY_PER_REQUEST`. La siguiente instrucción es un ejemplo de ello.

   ```
   aws keyspaces update-table --keyspace-name catalog --table-name book_awards 
                                       \--capacity-specification throughputMode=PAY_PER_REQUEST
   ```

1. Puede utilizar el siguiente comando para revisar el modo de capacidad configurado para una tabla.

   ```
   aws keyspaces get-table --keyspace-name catalog --table-name book_awards
   ```

   El resultado de una tabla en modo bajo demanda tiene el siguiente aspecto.

   ```
   "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2024-10-03T10:48:19.092000+00:00"
       }
   ```

------

# Configuración de precalentamiento para tablas en Amazon Keyspaces
<a name="warm-throughput"></a>

Amazon Keyspaces escala automáticamente las particiones de almacenamiento en función del rendimiento bajo demanda o aprovisionado, pero en el caso de tablas nuevas o picos de rendimiento repentinos, puede llevar más tiempo asignar las particiones de almacenamiento necesarias. *Para garantizar que una mesa nueva o existente tenga la capacidad suficiente para soportar los picos de rendimiento previstos, puede configurar manualmente valores de rendimiento en *caliente específicos para precalentar* la mesa.* 

El *rendimiento cálido* se refiere al número de operaciones de lectura y escritura que su tabla de Amazon Keyspaces puede admitir de forma instantánea. Estos valores están disponibles de forma predeterminada para todas las tablas nuevas y existentes. Si utiliza el modo bajo demanda o si actualiza el rendimiento aprovisionado, Amazon Keyspaces garantiza que su aplicación pueda emitir solicitudes de hasta esos valores al instante.

Amazon Keyspaces ajusta automáticamente los valores de rendimiento cálido a medida que aumenta el uso. Para ajustar la capacidad de procesamiento para los próximos picos de actividad, por ejemplo, al migrar datos de otra base de datos, lo que puede requerir la carga de terabytes de datos en un breve período de tiempo, puede aumentar manualmente los valores de rendimiento en caliente de la tabla. Esto resulta útil para los eventos de mayor actividad planificados, en los que las tasas de solicitudes pueden aumentar 10, 100 veces o más. En primer lugar, evalúe si el rendimiento en caliente actual es suficiente para gestionar el tráfico esperado. [A continuación, si necesita precalentar la mesa para los picos de carga de trabajo planificados, puede aumentar el valor del rendimiento en caliente manualmente sin cambiar la configuración del rendimiento ni el modo de capacidad.](ReadWriteCapacityMode.md) 

Puede precalentar las tablas para realizar operaciones de lectura, de escritura o ambas. Puede aumentar este valor para las tablas nuevas y existentes de una sola región y las tablas de varias regiones, y la configuración de rendimiento cálido que establezca se aplicará automáticamente a todas las réplicas de las tablas de varias regiones. No hay límite en cuanto al número de mesas de Amazon Keyspaces que puedes precalentar en cualquier momento. El tiempo necesario para completar el precalentamiento depende de los valores que establezca y del tamaño de la mesa. Puede enviar solicitudes de precalentamiento simultáneas y estas solicitudes no interfieren con ninguna de las operaciones de la mesa. Puedes precalentar tu mesa hasta el límite de la cuota de mesa de tu cuenta en esa región. Utilice la [consola Service Quotas](https://console.aws.amazon.com/servicequotas) para comprobar sus cuotas actuales y aumentarlas si es necesario. 

Los valores de rendimiento cálido que Amazon Keyspaces ajusta en función del uso bajo demanda o de la capacidad aprovisionada están disponibles de forma predeterminada para todas las tablas sin cargos adicionales. Sin embargo, si aumentas manualmente los valores de rendimiento en caliente predeterminados para convertirlos en tablas de precalentamiento en caso de picos de tráfico, se aplicarán cargos adicionales. Para obtener más información, consulta los [precios de Amazon Keyspaces.](https://aws.amazon.com/keyspaces/pricing/)

Estos son algunos escenarios y prácticas recomendadas que puede tener en cuenta a la hora de precalentar las tablas de Amazon Keyspaces.

## Rendimiento en caliente y patrones de acceso desiguales
<a name="warm-throughput-scenarios-uneven"></a>

Una tabla puede tener un rendimiento óptimo de 30 000 unidades de lectura por segundo y 10 000 unidades de escritura por segundo, pero aun así es posible que se supere la capacidad en las lecturas o escrituras antes de alcanzar esos valores. Se debe probablemente a una partición activa. Si bien Amazon Keyspaces puede seguir escalando para soportar un rendimiento prácticamente ilimitado, cada partición individual está limitada a 1000 unidades de escritura por segundo y 3000 unidades de lectura por segundo. Si su aplicación dirige demasiado tráfico a una pequeña parte de las particiones de la tabla, los eventos de exceso de capacidad pueden producirse incluso antes de que se alcancen los valores de rendimiento máximo de la tabla. Recomendamos seguir las [prácticas recomendadas de Amazon Keyspaces](bp-partition-key-design.md) para garantizar una escalabilidad perfecta y evitar las particiones activas.

## Rendimiento en caliente para una tabla aprovisionada
<a name="warm-throughput-scenarios-provisioned"></a>

Considere una tabla aprovisionada que tiene un rendimiento en caliente de 30 000 unidades de lectura por segundo y 10 000 unidades de escritura por segundo, pero que actualmente tiene un rendimiento aprovisionado de 4 000 y 8 000. RCUs WCUs Puede escalar al instante el rendimiento aprovisionado de la tabla hasta 30 000 RCUs o 10 000 si actualiza la configuración de rendimiento WCUs aprovisionada. A medida que aumenta el rendimiento aprovisionado por encima de estos valores, el rendimiento en espera se ajusta automáticamente a los nuevos valores más altos, ya que ha establecido un nuevo rendimiento máximo. Por ejemplo, si establece el rendimiento aprovisionado en 50 000 RCU, el rendimiento en caliente aumenta a 50 000 unidades de lectura por segundo.

```
"ProvisionedThroughput": 
    {
        "ReadCapacityUnits": 4000,
        "WriteCapacityUnits": 8000 
    }
"WarmThroughput": 
    { 
        "ReadUnitsPerSecond": 30000,
        "WriteUnitsPerSecond": 10000
    }
```

## Rendimiento en caliente de una tabla bajo demanda
<a name="warm-throughput-scenarios-ondemand"></a>

Una nueva tabla bajo demanda comienza con un rendimiento en caliente de 12 000 unidades de lectura por segundo y 4000 unidades de escritura por segundo. La tabla puede acomodar de forma instantánea un tráfico sostenido hasta estos niveles. Cuando sus solicitudes superan las 12 000 unidades de lectura por segundo o las 4000 unidades de escritura por segundo, el rendimiento en caliente se ajusta automáticamente a los valores más altos.

```
"WarmThroughput": 
    { 
        "ReadUnitsPerSecond": 12000,
        "WriteUnitsPerSecond": 4000
    }
```

## Mejores prácticas para precalentar las tablas de Amazon Keyspaces
<a name="prewarming-best-practices"></a>

Siga estas prácticas recomendadas al implementar el precalentamiento en sus tablas de Amazon Keyspaces:

Calcule con precisión la capacidad requerida  
Dado que el precalentamiento implica un coste único, calcule cuidadosamente el rendimiento necesario en función de la carga de trabajo prevista para evitar el aprovisionamiento excesivo.

Tenga en cuenta el esquema de la tabla  
Las tablas con filas más grandes pueden requerir más particiones para obtener el mismo rendimiento. Tenga en cuenta el tamaño medio de las filas al estimar los requisitos de precalentamiento.

Controle el rendimiento de la mesa  
Tras el precalentamiento, utiliza CloudWatch las métricas para comprobar que la mesa está gestionando la carga según lo previsto. Para obtener más información, consulte [Supervisa el rendimiento de una mesa precalentada con Amazon CloudWatch](monitor-prewarming-cloudwatch.md).

Administración de las cuotas  
Si su aplicación requiere un rendimiento superior al permitido por las cuotas predeterminadas (40 000 RCUs/WCUs o 2000 particiones), solicite un aumento de la cuota con bastante antelación al evento de alto tráfico. Para solicitar un aumento de una cuota, use la [consola de Service Quotas](https://console.aws.amazon.com/servicequotas).

Optimización de costos  
En el caso de eventos temporales con mucho tráfico, considere la posibilidad de utilizar el precalentamiento en lugar de cambiar al modo aprovisionado con gran capacidad, ya que puede resultar más rentable para los eventos de corta duración. Para obtener más información sobre los precios, consulta los precios de [Amazon Keyspaces.](https://aws.amazon.com/keyspaces/pricing/)

**nota**  
Supervise las métricas de rendimiento de su aplicación durante la fase de prueba para validar que la configuración de precalentamiento se adapte adecuadamente a sus requisitos de carga de trabajo.

**Topics**
+ [Rendimiento en caliente y patrones de acceso desiguales](#warm-throughput-scenarios-uneven)
+ [Rendimiento en caliente para una tabla aprovisionada](#warm-throughput-scenarios-provisioned)
+ [Rendimiento en caliente de una tabla bajo demanda](#warm-throughput-scenarios-ondemand)
+ [Mejores prácticas para precalentar las tablas de Amazon Keyspaces](#prewarming-best-practices)
+ [Creación de una tabla de Amazon Keyspaces nueva con rendimiento en caliente más alto](create-table-warm-throughput.md)
+ [Aumento del rendimiento en caliente de la tabla de Amazon Keyspaces existente](update-warm-throughput.md)
+ [Vea el rendimiento cálido de una tabla de Amazon Keyspaces](view-warm-throughput.md)
+ [Supervisa el rendimiento de una mesa precalentada con Amazon CloudWatch](monitor-prewarming-cloudwatch.md)

# Creación de una tabla de Amazon Keyspaces nueva con rendimiento en caliente más alto
<a name="create-table-warm-throughput"></a>

Puede ajustar los valores de rendimiento cálido al crear su tabla de Amazon Keyspaces mediante la consola, el CQL o el. AWS CLI

------
#### [ Console ]

**¿Cómo crear una tabla nueva con una configuración de rendimiento cálido**

1. [Inicia sesión en la Consola de administración de AWS consola de Amazon Keyspaces y ábrela desde casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. En el panel de navegación, elija **Tablas** y, a continuación, seleccione **Crear tabla**.

1. En la página **Crear tabla**, en la sección **Detalles de la tabla**, seleccione un espacio de claves y proporcione un nombre para la nueva tabla.

1. En la sección **Columnas**, cree el esquema para la tabla.

1. En la sección **Clave principal**, defina la clave principal de la tabla y seleccione las columnas de agrupación en clústeres opcionales.

1. En la sección **Configuración de la tabla**, elija **Personalizar configuración**.

1. Continúe en **Configuración de capacidad de lectura/escritura**.

1. Para el **modo de capacidad**, puede elegir entre Bajo **demanda** o **Aprovisionado**.

1. En la sección **Precalentamiento de las tablas**, puede aumentar los valores de las unidades de **lectura por segundo y las unidades** de **escritura por segundo según** sea necesario para preparar la mesa para gestionar los picos de actividad planificados.

   Los valores de rendimiento cálido que Amazon Keyspaces ajusta en función del uso bajo demanda o de la capacidad aprovisionada están disponibles de forma predeterminada para todas las tablas sin cargos adicionales. Tenga en cuenta que si aumenta manualmente los valores de rendimiento en caliente predeterminados para precalentar la tabla en caso de picos de tráfico, se aplicarán cargos adicionales. 

1. Configure otras funciones opcionales de la tabla según sea necesario. A continuación, selecciona **Crear tabla**.

------
#### [ Cassandra Query Language (CQL) ]
+ Cree una tabla con un rendimiento óptimo mediante uno de los siguientes métodos:
  + Para el modo aprovisionado, cree una tabla y especifique la capacidad máxima esperada de lectura y escritura mediante la siguiente sintaxis CQL:

    ```
    CREATE TABLE catalog.book_awards (
       year int,
       award text,
       rank int,
       category text,
       book_title text,
       author text,
       publisher text,
       PRIMARY KEY ((year, award), category, rank))
    WITH CUSTOM_PROPERTIES = {  
        'capacity_mode': {
           'throughput_mode': 'PROVISIONED',
           'read_capacity_units': 20000,
           'write_capacity_units': 10000
         },
        'warm_throughput': {  
            'read_units_per_second': 40000,  
            'write_units_per_second': 20000  
         }
    };
    ```
  + Para el modo bajo demanda, cree una tabla y especifique la capacidad máxima esperada de lectura y escritura mediante la siguiente sintaxis de CQL:

    ```
    CREATE TABLE catalog.book_awards (
       year int,
       award text,
       rank int,
       category text,
       book_title text,
       author text,
       publisher text,
       PRIMARY KEY ((year, award), category, rank))
    WITH CUSTOM_PROPERTIES = {  
        'capacity_mode': {
           'throughput_mode': 'PAY_PER_REQUEST'
         },
        'warm_throughput': {  
            'read_units_per_second': 40000,  
            'write_units_per_second': 20000  
         }
    };
    ```

  Para confirmar la configuración de capacidad de la tabla, consulte[Vea el rendimiento cálido de una tabla de Amazon Keyspaces](view-warm-throughput.md).

------
#### [ CLI ]

1. Cree una tabla con un rendimiento óptimo mediante uno de los siguientes métodos mediante el AWS CLI
   + Cree una tabla nueva en el modo aprovisionado y especifique los valores de la capacidad máxima de lectura y escritura prevista para la nueva tabla. La siguiente instrucción es un ejemplo de ello.

     ```
     aws keyspaces create-table \
     --keyspace-name 'catalog' \
     --table-name 'book_awards' \
     --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int},{name=category,type=text},{name=book_title,type=text},{name=author,type=text},{name=publisher,type=text}],partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]' \
     --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=20000,writeCapacityUnits=10000 \
     --warm-throughput-specification readUnitsPerSecond=40000,writeUnitsPerSecond=20000
     ```
   + Cree una tabla nueva en modo bajo demanda y especifique los valores de capacidad máxima esperados para las lecturas y escrituras de la nueva tabla. La siguiente instrucción es un ejemplo de ello.

     ```
     aws keyspaces create-table \
     --keyspace-name 'catalog' \
     --table-name 'book_awards' \
     --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int},{name=category,type=text},{name=book_title,type=text},{name=author,type=text},{name=publisher,type=text}],partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]' \
     --warmThroughputSpecification readUnitsPerSecond=40000,writeUnitsPerSecond=20000
     ```

1. El resultado del comando devuelve el ARN de la tabla, como se muestra en el siguiente ejemplo.

   ```
   {
       "resourceArn": "arn:aws::cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards>"
   }
   ```

   Para confirmar la configuración de capacidad de la tabla, consulte[Vea el rendimiento cálido de una tabla de Amazon Keyspaces](view-warm-throughput.md).

------
#### [ Java ]

**Cree una tabla nueva con el SDK for Java.**
+ Cree una tabla nueva en el modo aprovisionado y especifique los valores de la capacidad máxima de lectura y escritura prevista para la nueva tabla. El siguiente ejemplo de código es un ejemplo de ello.

  ```
  import software.amazon.awssdk.services.keyspaces.KeyspacesClient;
  import software.amazon.awssdk.services.keyspaces.model.*;
  
  public class PreWarmingExample {
      public static void main(String[] args) {
          KeyspacesClient keyspacesClient = KeyspacesClient.builder().build();
  
          // Define schema
          List<ColumnDefinition> columns = Arrays.asList(
              ColumnDefinition.builder().name("year").type("int").build(),
              ColumnDefinition.builder().name("award").type("text").build(),
              ColumnDefinition.builder().name("rank").type("int").build(),
              ColumnDefinition.builder().name("category").type("text").build(),
              ColumnDefinition.builder().name("book_title").type("text").build(),
              ColumnDefinition.builder().name("author").type("text").build(),
              ColumnDefinition.builder().name("publisher").type("text").build()
          );
          
          List<PartitionKey> partitionKeys = Arrays.asList(
              PartitionKey.builder().name("year").build(),
              PartitionKey.builder().name("award").build()
          );
          
          List<ClusteringKey> clusteringKeys = Arrays.asList(
              ClusteringKey.builder().name("category").orderBy("ASC").build(),
              ClusteringKey.builder().name("rank").orderBy("ASC").build()
          );
          
          SchemaDefinition schema = SchemaDefinition.builder()
              .allColumns(columns)
              .partitionKeys(partitionKeys)
              .clusteringKeys(clusteringKeys)
              .build();
  
          // Define capacity specification
          CapacitySpecification capacitySpec = CapacitySpecification.builder()
              .throughputMode(ThroughputMode.PROVISIONED)
              .readCapacityUnits(20000)
              .writeCapacityUnits(10000)
              .build();
              
          // Define warm throughput specification
          WarmThroughputSpecification warmThroughput = WarmThroughputSpecification.builder()
              .readUnitsPerSecond(40000L)
              .writeUnitsPerSecond(20000L)
              .build();
  
          // Create table with PreWarming
          CreateTableRequest request = CreateTableRequest.builder()
              .keyspaceName("catalog")
              .tableName("book_awards")
              .schemaDefinition(schema)
              .capacitySpecification(capacitySpec)
              .warmThroughputSpecification(warmThroughput)
              .build();
              
          CreateTableResponse response = keyspacesClient.createTable(request);
          System.out.println("Table created with ARN: " + response.resourceArn());
      }
  }
  ```

------

# Aumento del rendimiento en caliente de la tabla de Amazon Keyspaces existente
<a name="update-warm-throughput"></a>

Puede aumentar los valores de rendimiento cálido actuales de su tabla de Amazon Keyspaces mediante la consola, el CQL o el. AWS CLI

------
#### [ Console ]

**¿Cómo aumentar la configuración de precalentamiento de una mesa mediante la consola**

1. [Inicia sesión en la Consola de administración de AWS consola de Amazon Keyspaces y ábrela desde casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. En el panel de navegación, selecciona **Tablas** y, a continuación, elige la tabla que deseas actualizar.

1. En la pestaña **Capacidad** de la tabla, vaya a **Precalentar las mesas**.

1. **En la sección **Precalentamiento para mesas**, selecciona Editar.**

1. En la página **Editar el precalentamiento de las tablas**, puede actualizar los valores de las **unidades de lectura por segundo** y de las **unidades de escritura por** segundo.

1. Seleccione **Save changes (Guardar cambios)**. La tabla se está actualizando con los ajustes de precalentamiento especificados. 

------
#### [ Cassandra Query Language (CQL) ]

**Aumente la configuración de rendimiento en caliente de una mesa con CQL**
+ Utilice `ALTER TABLE` esta afirmación para aumentar el rendimiento en caliente de una mesa. La siguiente instrucción es un ejemplo de ello.

  ```
  ALTER TABLE catalog.book_awards 
  WITH CUSTOM_PROPERTIES = {
      'warm_throughput': {  
          'read_units_per_second': 60000,  
          'write_units_per_second': 30000  
      }
  };
  ```

  Para confirmar la configuración de capacidad actualizada de la tabla, consulte. [Vea el rendimiento cálido de una tabla de Amazon Keyspaces](view-warm-throughput.md)

------
#### [ CLI ]

**Aumente los ajustes de precalentamiento de una mesa con el AWS CLI**
+ Para aumentar el rendimiento de calentamiento de la mesa, puede utilizar el comando. `update-table` La siguiente instrucción es un ejemplo de ello.

  ```
  aws keyspaces update-table \
  --keyspace-name 'catalog' \
  --table-name 'book_awards' \
  --warmThroughputSpecification readUnitsPerSecond=60000,writeUnitsPerSecond=30000
  ```

  Para confirmar la configuración de capacidad actualizada de la tabla, consulte. [Vea el rendimiento cálido de una tabla de Amazon Keyspaces](view-warm-throughput.md)

------
#### [ Java ]

**Actualice la configuración de precalentamiento de una tabla mediante el SDK for Java.**
+ Actualice la configuración de rendimiento en caliente de una mesa. El siguiente ejemplo de código es un ejemplo de ello.

  ```
  import software.amazon.awssdk.services.keyspaces.KeyspacesClient;
  import software.amazon.awssdk.services.keyspaces.model.*;
  
  public class UpdatePreWarmingExample {
      public static void main(String[] args) {
          KeyspacesClient keyspacesClient = KeyspacesClient.builder().build();
  
          // Define new warm throughput specification
          WarmThroughputSpecification warmThroughput = WarmThroughputSpecification.builder()
              .readUnitsPerSecond(60000L)
              .writeUnitsPerSecond(30000L)
              .build();
  
          // Update table with new PreWarming settings
          UpdateTableRequest request = UpdateTableRequest.builder()
              .keyspaceName("catalog")
              .tableName("book_awards")
              .warmThroughputSpecification(warmThroughput)
              .build();
              
          UpdateTableResponse response = keyspacesClient.updateTable(request);
          System.out.println("Table update requested: " + response.resourceArn());
      }
  }
  ```

------

# Vea el rendimiento cálido de una tabla de Amazon Keyspaces
<a name="view-warm-throughput"></a>

Puede ver los valores de rendimiento cálido actuales de su tabla de Amazon Keyspaces mediante la consola, el CQL o el. AWS CLI

------
#### [ Console ]

**Cómo ver los ajustes de precalentamiento de la mesa mediante la consola.**

1. [Inicia sesión en la Consola de administración de AWS consola de Amazon Keyspaces y ábrela desde casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. En el panel de navegación, selecciona **Tablas** y, a continuación, elige la tabla que deseas revisar.

1. En la pestaña **Capacidad** de la tabla, continúe con el botón **Precalentamiento de las mesas**. 

------
#### [ Cassandra Query Language (CQL) ]

**Consulte la configuración de rendimiento en caliente de una mesa con CQL**
+ Para ver la configuración de rendimiento en caliente de una tabla, puede utilizar la siguiente sentencia de CQL.

  ```
  SELECT custom_properties
  FROM system_schema_mcs.tables 
  WHERE keyspace_name='catalog' and table_name='book_awards';
  
  // Output:
  ...
  custom_properties
  ----------------------------------------------------------------------------------
  {
      'warm_throughput': 
      {
          'read_units_per_second': '40000', 
          'write_units_per_second': '20000', 
          'status': 'AVAILABLE'
      }
  }
  ...
  ```

------
#### [ CLI ]

**Para ver la configuración de rendimiento en caliente de una tabla, utilice el AWS CLI**
+ Puede ver la configuración de rendimiento en caliente de una tabla mediante el `get-table` comando que se muestra en el siguiente ejemplo.

  ```
  aws keyspaces get-table \
  --keyspace-name 'catalog' \
  --table-name 'book_awards'
  ```

  A continuación, se muestra el ejemplo del resultado del `get-table` comando para una tabla de una sola región en modo aprovisionado.

  ```
  {
      "keyspaceName": "catalog",
      "tableName": "book_awards",
      ... Existing Fields ...,
      "capacitySpecificationSummary": {
          "throughputMode": "PROVISIONED",
          "readCapacityUnits": 20000,
          "writeCapacityUnits": 10000
      },
      "warmThroughputSpecificationSummary": {
          "readUnitsPerSecond": 40000,
          "writeUnitsPerSecond": 20000,
          "status": "AVAILABLE"
      }
  }
  ```

  A continuación, se muestra el resultado de ejemplo de una tabla de una sola región en modo bajo demanda.

  ```
  {
      "keyspaceName": "catalog",
      "tableName": "book_awards_ondemand",
      ... Existing Fields ...,
      "capacitySpecification": {
          "throughputMode": "PAY_PER_REQUEST"
      },
      "warmThroughputSpecificationSummary": {
          "readUnitsPerSecond": 40000,
          "writeUnitsPerSecond": 20000,
          "status": "AVAILABLE"
      }
  }
  ```

------
#### [ Java ]

**Lea la configuración de precalentamiento de una tabla con el SDK for Java.**
+ Lea los valores de rendimiento en caliente de una tabla utilizando. `get-table` El siguiente ejemplo de código es un ejemplo de ello.

  ```
  import software.amazon.awssdk.services.keyspaces.KeyspacesClient;
  import software.amazon.awssdk.services.keyspaces.model.*;
  
  public class GetTableWithPreWarmingExample {
      public static void main(String[] args) {
          KeyspacesClient keyspacesClient = KeyspacesClient.builder().build();
  
          // Get table details including PreWarming specification
          GetTableRequest request = GetTableRequest.builder()
              .keyspaceName("catalog")
              .tableName("book_awards")
              .build();
              
          GetTableResponse response = keyspacesClient.getTable(request);
          
          // Access PreWarming details
          if (response.warmThroughputSpecification() != null) {
              WarmThroughputSpecificationSummary warmThroughputSummary = response.warmThroughputSpecification();
              System.out.println("PreWarming Status: " + warmThroughputSummary.status());
              System.out.println("Read Units: " + warmThroughputSummary.readUnitsPerSecond());
              System.out.println("Write Units: " + warmThroughputSummary.writeUnitsPerSecond());
              
              // Check if PreWarming is active
              if (warmThroughputSummary.status().equals("AVAILABLE")) {
                  System.out.println("Table is fully pre-warmed and ready for high throughput");
              } else if (warmThroughputSummary.status().equals("UPDATING")) {
                  System.out.println("Table PreWarming is currently being updated");
              }
          } else {
              System.out.println("Table does not have PreWarming enabled");
          }
      }
  }
  ```

------

# Supervisa el rendimiento de una mesa precalentada con Amazon CloudWatch
<a name="monitor-prewarming-cloudwatch"></a>

El precalentamiento de Amazon Keyspaces no introduce nuevas CloudWatch métricas, pero puede supervisar el rendimiento de las tablas precalentadas utilizando las métricas existentes de Amazon Keyspaces:

SuccessfulRequestLatency  
Supervisa esta métrica para comprobar que la tabla precalentada gestiona las solicitudes con la latencia esperada.

WriteThrottleEvents y ReadThrottleEvents  
Estas métricas deberían permanecer bajas para una mesa debidamente precalentada. Si observas errores de capacidad insuficientes a pesar del precalentamiento, es posible que tengas que ajustar los valores de rendimiento de calentamiento.

ConsumedReadCapacityUnits y ConsumedWriteCapacityUnits  
Estas métricas muestran el consumo real de capacidad, lo que puede ayudar a validar si la configuración de precalentamiento es adecuada.

ProvisionedReadCapacityUnits y ProvisionedWriteCapacityUnits  
En el caso de las tablas aprovisionadas, estas métricas muestran la capacidad asignada actualmente.

Estas métricas se pueden ver en la CloudWatch consola o consultarse mediante la CloudWatch API. Para obtener más información, consulte [Supervisión de Amazon Keyspaces con Amazon CloudWatch](monitoring-cloudwatch.md).