

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.

# Estimación del consumo de capacidad del rendimiento de lectura y escritura en Amazon Keyspaces
<a name="capacity-examples"></a>

Al leer o escribir datos en Amazon Keyspaces, la cantidad de unidades de read/write solicitud (RRUs/WRUs) or read/write capacity units (RCUs/WCUs) que consume la consulta depende de la cantidad total de datos que Amazon Keyspaces tenga que procesar para ejecutar la consulta. En algunos casos, los datos devueltos al cliente pueden ser un subconjunto de los datos que Amazon Keyspaces tuvo que leer para procesar la consulta. En el caso de las escrituras condicionales, Amazon Keyspaces consume capacidad de escritura incluso aunque se produzca un error en la comprobación condicional.

Para calcular la cantidad total de datos que se están procesando para una solicitud, debe tener en cuenta el tamaño codificado de una fila y el número total de filas. En este tema se describen algunos ejemplos de escenarios y patrones de acceso comunes para mostrar cómo Amazon Keyspaces procesa las consultas y cómo esto afecta al consumo de capacidad. Puedes seguir los ejemplos para estimar los requisitos de capacidad de tus tablas y utilizar Amazon CloudWatch para observar el consumo de capacidad de lectura y escritura en estos casos de uso.

Para obtener información sobre cómo calcular el tamaño codificado de las filas en Amazon Keyspaces, consulte [Estimación del tamaño de las filas en Amazon Keyspaces](calculating-row-size.md).

**Topics**
+ [Estimación del consumo de capacidad de las consultas de rango en Amazon Keyspaces](range_queries.md)
+ [Estimación del consumo de capacidad de lectura de las consultas de límites](limit_queries.md)
+ [Estimación del consumo de capacidad de lectura de los análisis de tablas](table_scans.md)
+ [Estimación del consumo de capacidad de las transacciones ligeras en Amazon Keyspaces](lightweight_transactions.md)
+ [Estimación del consumo de capacidad de las columnas estáticas en Amazon Keyspaces](static-columns.md)
+ [Estimación y aprovisionamiento de la capacidad de una tabla multirregional en Amazon Keyspaces](tables-multi-region-capacity.md)
+ [Calcule el consumo de capacidad de lectura y escritura con Amazon CloudWatch en Amazon Keyspaces](estimate_consumption_cw.md)

# Estimación del consumo de capacidad de las consultas de rango en Amazon Keyspaces
<a name="range_queries"></a>

 Para analizar el consumo de capacidad de lectura de una consulta de rango, utilizamos la siguiente tabla de ejemplo, que utiliza el modo de capacidad bajo demanda. 

```
pk1 | pk2 | pk3 | ck1 | ck2 | ck3 | value
-----+-----+-----+-----+-----+-----+-------
a | b | 1 | a | b | 50 | <any value that results in a row size larger than 4KB>
a | b | 1 | a | b | 60 | value_1
a | b | 1 | a | b | 70 | <any value that results in a row size larger than 4KB>
```

Ahora ejecute la siguiente consulta en esta tabla.

```
SELECT * FROM amazon_keyspaces.example_table_1 WHERE pk1='a' AND pk2='b' AND pk3=1 AND ck1='a' AND ck2='b' AND ck3 > 50 AND ck3 < 70;
```

Recibes el siguiente conjunto de resultados de la consulta y la operación de lectura realizada por Amazon Keyspaces consume 2 RRUs en modo de `LOCAL_QUORUM` coherencia.

```
pk1 | pk2 | pk3 | ck1 | ck2 | ck3 | value
-----+-----+-----+-----+-----+-----+-------
a | b | 1 | a | b | 60 | value_1
```

Amazon Keyspaces consume 2 RRUs para evaluar las filas con los valores `ck3=60` y `ck3=70` procesar la consulta. Sin embargo, Amazon Keyspaces solo devuelve la fila en la que la condición `WHERE` especificada en la consulta es verdadera, que es la fila con el valor `ck3=60`. Para evaluar el rango especificado en la consulta, Amazon Keyspaces lee la fila que coincide con el límite superior del rango, en este caso `ck3 = 70`, pero no devuelve esa fila en el resultado. El consumo de capacidad de lectura se basa en los datos leídos al procesar la consulta, no en los datos devueltos.

# Estimación del consumo de capacidad de lectura de las consultas de límites
<a name="limit_queries"></a>

 Al procesar una consulta que utilice la cláusula `LIMIT`, Amazon Keyspaces lee las filas hasta el tamaño máximo de página cuando intenta cumplir la condición especificada en la consulta. Si Amazon Keyspaces no encuentra suficientes datos coincidentes que coincidan con el valor de `LIMIT` en la primera página, podrían ser necesarias una o más llamadas paginadas. Para continuar leyendo en la página siguiente, puede usar un token de paginación. El tamaño de página predeterminado es de 1 MB. Para consumir menos capacidad de lectura al usar cláusulas `LIMIT`, puede reducir el tamaño de la página. Para obtener más información sobre paginación, consulte [Paginación de resultados en Amazon Keyspaces](paginating-results.md).

A modo de ejemplo, analicemos la siguiente consulta.

```
SELECT * FROM my_table WHERE partition_key=1234 LIMIT 1;
```

Si no configura el tamaño de la página, Amazon Keyspaces lee 1 MB de datos aunque solo devuelva una fila. Para que Amazon Keyspaces lea solo una fila, puede establecer el tamaño de página en 1 para esta consulta. En este caso, Amazon Keyspaces solo leería una fila siempre que no tenga filas caducadas según la Time-to-live configuración o las marcas horarias del lado del cliente. 

El `PAGE SIZE` parámetro determina cuántas filas escanea Amazon Keyspaces del disco para cada solicitud, no cuántas filas devuelve Amazon Keyspaces al cliente. Amazon Keyspaces aplica los filtros que usted proporciona, por ejemplo, la desigualdad en las columnas que no son clave o `LIMIT` después de escanear los datos del disco. Si no lo configuras de forma explícita`PAGE SIZE`, Amazon Keyspaces lee hasta 1 MB de datos antes de aplicar los filtros. Por ejemplo, si lo utiliza `LIMIT 1` sin especificar el`PAGE SIZE`, Amazon Keyspaces podría leer miles de filas del disco antes de aplicar la cláusula de límite y devolver solo una fila.

Para evitar la lectura excesiva, reduzca la cantidad de filas `PAGE SIZE` que Amazon Keyspaces escanea para cada búsqueda. Por ejemplo, si lo define `LIMIT 5` en su consulta, establezca un valor entre 5 y 10 `PAGE SIZE` para que Amazon Keyspaces solo escanee de 5 a 10 filas en cada llamada paginada. Puede modificar este número para reducir el número de búsquedas. Para los límites superiores al tamaño de la página, Amazon Keyspaces mantiene el recuento total de resultados con el estado de paginación. En el caso `LIMIT` de 10 000 filas, Amazon Keyspaces puede obtener estos resultados en dos páginas de 5000 filas cada una. El límite de 1 MB es el límite superior de cualquier conjunto de tamaños de página.

# Estimación del consumo de capacidad de lectura de los análisis de tablas
<a name="table_scans"></a>

Las consultas que dan como resultado un análisis completo de la tabla, por ejemplo, las consultas que utilicen la opción `ALLOW FILTERING`, son otro ejemplo de consultas que procesan más lecturas de las que devuelven como resultado. Además, el consumo de capacidad de lectura se basa en los datos leídos, no en los datos devueltos.

Para el ejemplo de análisis de tabla, utilizamos la siguiente tabla de ejemplo en modo de capacidad bajo demanda.

```
pk | ck | value
---+----+---------
pk | 10 | <any value that results in a row size larger than 4KB>
pk | 20 | value_1 
pk | 30 | <any value that results in a row size larger than 4KB>
```

Amazon Keyspaces crea una tabla en modo de capacidad bajo demanda con cuatro particiones de forma predeterminada. En esta tabla de ejemplo, todos los datos se almacenan en una partición y las tres particiones restantes están vacías.

Ahora ejecute la siguiente consulta en la tabla.

```
SELECT * from amazon_keyspaces.example_table_2;
```

Esta consulta da como resultado una operación de escaneo de tablas en la que Amazon Keyspaces escanea las cuatro particiones de la tabla y consume 6 RRUs en modo de `LOCAL_QUORUM` coherencia. En primer lugar, Amazon Keyspaces consume 3 RRUs para leer las tres filas. `pk=‘pk’` A continuación, Amazon Keyspaces consume las 3 adicionales RRUs para escanear las tres particiones vacías de la tabla. Como esta consulta da como resultado un análisis de la tabla, Amazon Keyspaces escanea todas las particiones de la tabla, incluidas las particiones sin datos. 

# Estimación del consumo de capacidad de las transacciones ligeras en Amazon Keyspaces
<a name="lightweight_transactions"></a>

Las transacciones ligeras (LWT) permiten realizar operaciones de escritura condicional en función de los datos de la tabla. Las operaciones de actualización condicional resultan útiles para insertar, actualizar y eliminar registros en función de las condiciones que evalúen el estado actual. 

En Amazon Keyspaces, todas las operaciones de escritura requieren coherencia con LOCAL\$1QUORUM y su uso no conlleva ningún coste adicional. LWTs La diferencia LWTs es que cuando se produce una comprobación del estado de LWT`FALSE`, Amazon Keyspaces consume unidades de capacidad de escritura WCUs () o unidades de solicitud de escritura (). WRUs La cantidad WCUs/WRUs consumida depende del tamaño de la fila. 

Por ejemplo, si el tamaño de la fila es de 2 KB, la escritura condicional fallida consume dos WCUs/WRUs. Si la fila no existe actualmente en la tabla, la operación consume un WCUs/WRUs. 

Para determinar el número de solicitudes que provocaron errores en la comprobación de estado, puede supervisar la `ConditionalCheckFailed` métrica en CloudWatch.

## Calcule los costos de LWT para las tablas con el tiempo de vida (TTL)
<a name="lightweight_transactions_ttl"></a>

LWTs puede requerir unidades de capacidad de lectura (RCUs) o unidades de solicitud de lectura (RRUs) adicionales para las tablas configuradas con TTL que no utilizan marcas de tiempo del lado del cliente. Cuando se comprueba el estado del uso de `IF NOT EXISTS` palabras clave `IF EXISTS` o palabras clave`FALSE`, se consumen las siguientes unidades de capacidad:
+ RCUs/RRUs – If the row exists, the RCUs/RRUslas consumidas se basan en el tamaño de la fila existente.
+ RCUs/RRUs – If the row doesn't exist, a single RCU/RRUse consume.

Si la condición evaluada da como resultado una operación de escritura correcta, WCUs/WRUs se consumirán en función del tamaño de la nueva fila.

# Estimación del consumo de capacidad de las columnas estáticas en Amazon Keyspaces
<a name="static-columns"></a>

En una tabla de Amazon Keyspaces con columnas de agrupación, puede utilizar la palabra clave `STATIC` para crear una columna estática. El valor almacenado en una columna estática se comparte entre todas las filas de una partición lógica. Al actualizar el valor de esta columna, Amazon Keyspaces aplica el cambio de forma automática a todas las filas de la partición. 

Esta sección describe cómo calcular el tamaño codificado de datos al escribir en columnas estáticas. Este proceso se gestiona por separado del proceso que escribe datos en las columnas no estáticas de una fila. Además de las cuotas de tamaño para datos estáticos, las operaciones de lectura y escritura en columnas estáticas también afectan a la medición y a la capacidad de rendimiento de las tablas de forma independiente. Para ver las diferencias funcionales con Apache Cassandra cuando se utilizan columnas estáticas y resultados de lectura de rangos paginados, consulte [Paginación](functional-differences.md#functional-differences.paging).

**Topics**
+ [Cálculo de tamaño de columna estática por partición lógica en Amazon Keyspaces](static-columns-estimate.md)
+ [Calcule los requisitos de capacidad y rendimiento para read/write las operaciones con datos estáticos en Amazon Keyspaces](static-columns-metering.md)

# Cálculo de tamaño de columna estática por partición lógica en Amazon Keyspaces
<a name="static-columns-estimate"></a>

En esta sección se proporciona información detallada sobre cómo estimar el tamaño codificado de columnas estáticas en Amazon Keyspaces. El tamaño codificado se utiliza para el cálculo de su factura y uso de cuotas. También debe utilizar el tamaño codificado al calcular los requisitos de capacidad de rendimiento aprovisionada para las tablas. Para calcular el tamaño codificado de columnas estáticas en Amazon Keyspaces, puede utilizar las siguientes pautas.
+ Las claves de partición pueden contener hasta 2048 bytes de datos. Cada columna de clave en la clave de partición requiere hasta 3 bytes de metadatos. Estos bytes de metadatos cuentan para su cuota de tamaño de datos estáticos de 1 MB por partición. Al calcular el tamaño de sus datos estáticos, debe suponer que cada columna de clave de partición utiliza los 3 bytes completos de metadatos.
+ Utilice el tamaño bruto de los valores de los datos de las columnas estáticas en función del tipo de datos. Para obtener más información sobre los tipos de datos, consulte [Tipos de datos](cql.elements.md#cql.data-types).
+ Añada 104 bytes al tamaño de los datos estáticos para los metadatos.
+ Las columnas de agrupación y las columnas de claves normales no primarias no cuentan para el tamaño de los datos estáticos. Para obtener información sobre cómo calcular el tamaño de los datos no estáticos dentro de las filas, consulte [Estimación del tamaño de las filas en Amazon Keyspaces](calculating-row-size.md).

El tamaño codificado total de una columna estática se basa en la siguiente fórmula:

```
partition key columns + static columns + metadata = total encoded size of static data
```

Considere el siguiente ejemplo de una tabla en la que todas las columnas son de tipo entero. La tabla tiene dos columnas de clave de partición, dos columnas de agrupación, una columna normal y una columna estática.

```
CREATE TABLE mykeyspace.mytable(pk_col1 int, pk_col2 int, ck_col1 int, ck_col2 int, reg_col1 int, static_col1 int static, primary key((pk_col1, pk_col2),ck_col1, ck_col2));
```

En este ejemplo, calculamos el tamaño de los datos estáticos con la siguiente instrucción:

```
INSERT INTO mykeyspace.mytable (pk_col1, pk_col2, static_col1) values(1,2,6);
```

Para estimar el total de bytes requeridos por esta operación de escritura, puede seguir los siguientes pasos.

1. Calcule el tamaño de una columna de clave de partición sumando los bytes correspondientes al tipo de datos almacenados en la columna y los bytes de metadatos. Repita este procedimiento para todas las columnas de clave de partición.

   1. Calcule el tamaño de la primera columna de clave de partición (pk\$1col1):

      ```
      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
      ```

   1. Calcule el tamaño de la segunda columna de clave de partición (pk\$1col2): 

      ```
      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
      ```

   1. Sume ambas columnas para obtener el tamaño total estimado de las columnas de clave de partición: 

      ```
      7 bytes + 7 bytes = 14 bytes for the partition key columns
      ```

1. Añada el tamaño de las columnas estáticas. En este ejemplo, solo tenemos una columna estática que almacena un número entero (que requiere 4 bytes).

1. Por último, para obtener el tamaño codificado total de datos de la columna estática, sume los bytes de las columnas de clave principal y las columnas estáticas, y añada los 104 bytes adicionales de metadatos:

   ```
   14 bytes for the partition key columns + 4 bytes for the static column + 104 bytes for metadata = 122 bytes.
   ```

También puede actualizar datos estáticos y no estáticos con la misma instrucción. Para estimar el tamaño total de la operación de escritura, primero debe calcular el tamaño de la actualización de datos no estáticos. A continuación, calcule el tamaño de la actualización de filas, como se muestra en el ejemplo en [Estimación del tamaño de las filas en Amazon Keyspaces](calculating-row-size.md), y sume los resultados. 

En este caso, puede escribir un total de 2 MB (1 MB es la cuota máxima de tamaño de fila y 1 MB es la cuota de tamaño máximo de datos estáticos por partición lógica).

Para calcular el tamaño total de una actualización de datos estáticos y no estáticos en la misma instrucción, puede utilizar la siguiente fórmula:

```
(partition key columns + static columns + metadata = total encoded size of static data) + (partition key columns + clustering columns + regular columns + row metadata = total encoded size of row)
= total encoded size of data written
```

Considere el siguiente ejemplo de una tabla en la que todas las columnas son de tipo entero. La tabla tiene dos columnas de clave de partición, dos columnas de agrupación, una columna normal y una columna estática.

```
CREATE TABLE mykeyspace.mytable(pk_col1 int, pk_col2 int, ck_col1 int, ck_col2 int, reg_col1 int, static_col1 int static, primary key((pk_col1, pk_col2),ck_col1, ck_col2));
```

En este ejemplo, calculamos el tamaño de los datos al escribir una fila en la tabla, como se muestra en la siguiente instrucción:

```
INSERT INTO mykeyspace.mytable (pk_col1, pk_col2, ck_col1, ck_col2, reg_col1, static_col1) values(2,3,4,5,6,7);
```

Para estimar el total de bytes requeridos por esta operación de escritura, puede seguir los siguientes pasos.

1. Calcule el tamaño codificado total de datos estáticos como se ha indicado anteriormente. En este ejemplo, es de 122 bytes.

1. Añada el tamaño del tamaño codificado total de la fila en función de la actualización de los datos no estáticos, siguiendo los pasos indicados en [Estimación del tamaño de las filas en Amazon Keyspaces](calculating-row-size.md). En este ejemplo, el tamaño total de la actualización de la fila es de 134 bytes.

   ```
   122 bytes for static data + 134 bytes for nonstatic data = 256 bytes.
   ```

# Calcule los requisitos de capacidad y rendimiento para read/write las operaciones con datos estáticos en Amazon Keyspaces
<a name="static-columns-metering"></a>

En Cassandra, los datos estáticos se asocian a particiones lógicas, no a filas individuales. Las particiones lógicas en Amazon Keyspaces pueden tener un tamaño prácticamente ilimitado al abarcar varias particiones de almacenamiento físico. Como resultado, Amazon Keyspaces mide las operaciones de escritura en datos estáticos y no estáticos por separado. Además, las escrituras que incluyan datos estáticos y no estáticos requieren operaciones subyacentes adicionales para proporcionar coherencia de datos. 

Al realizar una operación de escritura mixta de datos estáticos y no estáticos, se producen dos operaciones de escritura separadas: una para datos no estáticos y otra para datos estáticos. Esto se aplica a los modos de capacidad read/write aprovisionada y bajo demanda.

El siguiente ejemplo proporciona detalles sobre cómo estimar las unidades de capacidad de lectura (RCUs) y las unidades de capacidad de escritura (WCUs) necesarias al calcular los requisitos de capacidad de rendimiento aprovisionados para las tablas de Amazon Keyspaces que tienen columnas estáticas. Puede calcular la capacidad que necesita su tabla para procesar escrituras que incluyan datos estáticos y no estáticos mediante la siguiente fórmula:

```
2 x WCUs required for nonstatic data + 2 x WCUs required for static data
```

Por ejemplo, si su aplicación escribe un 27% KBs de datos por segundo y cada escritura incluye un 25,5% KBs de datos no estáticos y un 1,5% KBs de datos estáticos, la tabla requiere 56 WCUs (2 x 26 WCUs \$1 2 x 2). WCUs

Amazon Keyspaces mide las lecturas de datos estáticos y no estáticos igual que las lecturas de múltiples filas. Como resultado, el precio de la lectura de datos estáticos y no estáticos en la misma operación se basa en el tamaño agregado de los datos procesados para realizar la lectura.

Para obtener información sobre cómo monitorizar los recursos sin servidor con Amazon CloudWatch, consulte[Supervisión de Amazon Keyspaces con Amazon CloudWatch](monitoring-cloudwatch.md).

# Estimación y aprovisionamiento de la capacidad de una tabla multirregional en Amazon Keyspaces
<a name="tables-multi-region-capacity"></a>

Puede configurar la capacidad de rendimiento de una tabla multirregión de una de estas dos maneras:
+ Modo de capacidad bajo demanda, medido en unidades de solicitud de escritura () WRUs
+ Modo de capacidad aprovisionada con escalado automático, medido en unidades de capacidad de escritura () WCUs

Puede usar el modo de capacidad aprovisionada con escalado automático o el modo de capacidad bajo demanda para garantizar que una tabla multirregional tenga la capacidad suficiente para realizar escrituras replicadas en todas ellas. Regiones de AWS

**nota**  
Al cambiar el modo de capacidad de la tabla en una de las regiones, se cambia el modo de capacidad de todas las réplicas.

Amazon Keyspaces utiliza de forma predeterminada el modo bajo demanda para las tablas multirregionales. En el caso de las tablas en modo bajo demanda, no necesita especificar el rendimiento de lectura y escritura que espera de su aplicación. Amazon Keyspaces se adapta de forma instantánea a sus cargas de trabajo a medida que aumentan o disminuyen a cualquier nivel de tráfico alcanzado previamente. Si el nivel de tráfico de una carga de trabajo alcanza un nuevo nivel máximo, Amazon Keyspaces se adapta rápidamente para acomodar la carga de trabajo.

Si elige el modo de capacidad aprovisionada para una tabla, tendrá que configurar el número de unidades de capacidad de lectura (RCUs) y unidades de capacidad de escritura (WCUs) por segundo que necesita la aplicación. 

Para planificar las necesidades de capacidad de rendimiento de una tabla multirregional, primero debe estimar la cantidad de unidades WCUs por segundo necesarias para cada región. A continuación, añada las escrituras de todas las regiones en las que está replicada la tabla y utilice la suma para aprovisionar la capacidad de cada región. Esto es obligatorio porque cada escritura que se realiza en una región también debe repetirse en cada región de réplica. 

Si la tabla no tiene suficiente capacidad para administrar las escrituras de todas las regiones, se producirán excepciones de capacidad. Además, aumentarán los tiempos de espera de las réplicas interregionales.

Por ejemplo, si tiene una tabla multirregional en la que espera 5 escrituras por segundo en EE.UU. Este (Norte de Virginia), 10 escrituras por segundo en EE.UU. Este (Ohio) y 5 escrituras por segundo en Europa (Irlanda), debería esperar que la tabla consuma 20 WCUs en cada región: EE.UU. Este (Norte de Virginia), EE.UU. Este (Ohio) y Europa (Irlanda). Esto significa que, en este ejemplo, debe aprovisionar 20 WCUs para cada una de las réplicas de la tabla. Puedes monitorizar el consumo de capacidad de tu mesa a través de Amazon CloudWatch. Para obtener más información, consulte [Supervisión de Amazon Keyspaces con Amazon CloudWatch](monitoring-cloudwatch.md). 

Cada escritura se factura como 1 WCU, por lo que en este ejemplo se WCUs facturan un total de 60. Para obtener más información sobre precios, consulte [Precios de Amazon Keyspaces (para Apache Cassandra)](https://aws.amazon.com/keyspaces/pricing). 

Para obtener más información acerca de la capacidad aprovisionada con el escalado automático de Amazon Keyspaces, consulte [Administración automática de la capacidad de rendimiento con el escalado automático de Amazon Keyspaces](autoscaling.md). 

**nota**  
Si una tabla se ejecuta en modo de capacidad aprovisionada con escalado automático, se permite que la capacidad de escritura aprovisionada fluctúe dentro de lo que establezca la configuración de escalado automático para cada región. 

# Calcule el consumo de capacidad de lectura y escritura con Amazon CloudWatch en Amazon Keyspaces
<a name="estimate_consumption_cw"></a>

Para estimar y monitorear el consumo de capacidad de lectura y escritura, puede usar un CloudWatch panel de control. Para obtener más información sobre las métricas disponibles para Amazon Keyspaces, consulte [Métricas y dimensiones de Amazon Keyspaces](metrics-dimensions.md). 

Para monitorear las unidades de capacidad de lectura y escritura que consume una declaración específica CloudWatch, puedes seguir estos pasos.

1. Creación de una nueva tabla con datos de ejemplo

1. Configure un CloudWatch panel de Amazon Keyspaces para la tabla. Para empezar, puede utilizar una plantilla de panel disponible en [Github](https://github.com/aws-samples/amazon-keyspaces-cloudwatch-cloudformation-templates).

1. Ejecute la instrucción CQL, por ejemplo, utilizando la opción `ALLOW FILTERING`, y compruebe en el panel las unidades de capacidad de lectura consumidas durante el análisis completo de la tabla.