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.
Gestión de registros de gran tamaño
Amazon Kinesis Data Streams admite registros de hasta 10 MiBs mebibytes (). Esta capacidad se recomienda para procesar cargas útiles de datos intermitentes que superen el límite de tamaño de registro predeterminado de 1 MiB. El tamaño de registro máximo predeterminado para las transmisiones existentes y recién creadas es de 1 MiB.
Esta característica beneficia a las aplicaciones de Internet de las cosas (IoT), a los procesos de captura de datos de cambios (CDC) y a los flujos de trabajo de machine learning que requieren procesar eventuales cargas de datos de mayor tamaño. Si desea comenzar a utilizar registros de gran tamaño en su flujo, actualice el límite máximo de tamaño de registro del flujo.
importante
El límite de rendimiento de cada fragmento individual, de 1 MB/s para las escrituras y 2 MB/s para las lecturas, se mantiene sin cambios y admite registros de mayor tamaño. Kinesis Data Streams está diseñado para alojar registros grandes intermitentes junto con un tráfico de referencia de registros inferior o igual a 1 MiB. Pero no para permitir la ingesta sostenida de grandes volúmenes de registros de gran tamaño.
Actualice su flujo para usar registros de gran tamaño
Cómo procesar registros de gran tamaño con Kinesis Data Streams
Vaya a la consola de Kinesis Data Streams.
Seleccione su flujo y vaya a la pestaña Configuration (Configuración).
Haga clic en Edit (Editar) que se encuentra junto a Maximum record size (Tamaño máximo de registro).
Establezca el tamaño máximo de registro (hasta 10 MiB).
Guarde los cambios.
Esta configuración solo ajusta el tamaño máximo de registro para este flujo de datos de Kinesis. Antes de aumentar este límite, compruebe que todas las aplicaciones posteriores puedan gestionar registros más grandes.
También puede actualizar esta configuración mediante la AWS CLI:
aws kinesis update-max-record-size \ --stream-arn \ --max-record-size-in-ki-b 5000
Optimice el rendimiento de su flujo con registros de gran tamaño
Se recomienda mantener registros de gran tamaño que representen menos del 2 % del tráfico total. En un flujo, cada partición tiene una capacidad de rendimiento de 1 MiB por segundo. Para dar cabida a registros de gran tamaño, las transmisiones de Kinesis Data transmiten ráfagas de hasta 10 MiBs, con un promedio de 1 MiB por segundo. Esta capacidad de admitir registros de gran tamaño se rellena continuamente en el flujo. La velocidad de rellenado depende del tamaño de los registros de gran tamaño y del tamaño del registro de referencia. Para obtener mejores resultados, utilice una clave de partición distribuida de manera uniforme. Para obtener más información sobre cómo se escala Kinesis bajo demanda, consulte Características y casos de uso del modo bajo demanda.
Mitigue la limitación con los registros de gran tamaño
Cómo mitigar la limitación
Implemente una lógica de reintento con un retraso exponencial en su aplicación de producción.
Utilice claves de partición aleatorias para distribuir los registros de gran tamaño entre las particiones disponibles.
Almacene las cargas útiles en Amazon S3 y envíe solo referencias de metadatos al flujo para flujos continuos de registros de gran tamaño. Para obtener más información, consulte Processing large records with Amazon Kinesis Data Streams
.
Gestione registros de gran tamaño con Kinesis Data Streams APIs
La compatibilidad con registros de gran tamaño introduce una nueva API y actualiza dos planos de control existentes APIs para gestionar hasta 10 MiBs registros.
API para modificar el tamaño de los registros:
UpdateMaxRecordSize: configura el límite máximo de tamaño de registro para las transmisiones existentes de hasta 10 MiBs.
Actualizaciones de las existentes APIs:
CreateStream: agrega el parámetro opcionalMaxRecordSizeInKiBpara establecer los límites de tamaño de los registros durante la creación del flujo.DescribeStreamSummary: devuelve el campoMaxRecordSizeInKiBpara mostrar la configuración del flujo actual.
Todas las que APIs aparecen en la lista mantienen la compatibilidad con versiones anteriores de las transmisiones existentes. Para obtener la documentación completa de la API, consulte la referencia de la API del servicio de Amazon Kinesis Data Streams.
AWS componentes compatibles con registros de gran tamaño
Los siguientes AWS componentes son compatibles con registros de gran tamaño:
| Componente | Description (Descripción) |
|---|---|
|
AWS SDK |
AWS El SDK admite el manejo de registros de gran tamaño. Puedes actualizar el tamaño máximo de registro de tu transmisión hasta 10 MiB mediante los métodos disponibles en. AWS SDKs Para obtener más información, consulta Cómo usar este servicio con un SDK. AWS |
|
Kinesis Consumer Library (KCL) |
A partir de la versión 2.x, KCL permite la gestión de registros de gran tamaño. Para utilizar la compatibilidad de registros de gran tamaño, actualice el |
|
Kinesis Producer Library (KPL) |
A partir de la versión 1.0.5, KPL permite la administración de registros de gran tamaño. Para utilizar la compatibilidad de registros de gran tamaño, actualice el maxRecordSize de su flujo, y utilice KPL. Para obtener más información, consulte Develop producers using the Amazon Kinesis Producer Library (KPL). |
|
Amazon EMR |
Amazon EMR con Apache Spark permite gestionar registros de gran tamaño hasta el límite de Kinesis Data Streams (10). MiBs Para utilizar la compatibilidad de registros de gran tamaño, utilice la función |
|
Amazon Data Firehose |
Cuando se utiliza con Kinesis Data Streams, el comportamiento de Amazon Data Firehose con registros de gran tamaño depende del destino de la entrega:
En el caso de las aplicaciones que requieran la entrega a Snowflake o Redshift con registros de gran tamaño, entregue primero los datos a Amazon S3. Luego, utilice los procesos de extracción, transformación y carga (ETL) para cargar los datos. Para todos los demás destinos, pruebe el comportamiento con registros de gran tamaño en un proof-of-concept entorno antes de ampliarlo al uso de producción. La gestión de registros de gran tamaño varía según el destino. |
|
AWS Lambda |
AWS Lambda admite cargas útiles de hasta 6 MiBs. Este límite contiene la carga útil de Kinesis convertida a codificación de base 64 y los metadatos asociados a la asignación de orígenes de eventos (ESM). Para registros de menos de 6 MiBs, Lambda los procesa mediante ESM sin necesidad de configuración adicional. Para los registros de más de 6 MiBs, Lambda los procesa utilizando un destino en caso de fallo. Debe configurar un destino en caso de fallo mediante ESM para gestionar registros que superen los límites de procesamiento de Lambda. Cada evento enviado al destino en caso de fallo es un documento JSON que contiene metadatos sobre la invocación fallida. Se recomienda crear un destino en caso de fallo en la ESM, independiente del tamaño del registro. Esto garantiza que no se descarte ningún registro. Para obtener más información, consulte Configuración de destinos para invocaciones fallidas. |
|
Amazon Redshift |
Amazon Redshift solo admite tamaños de registro inferiores a 1 MiB al transmitir datos desde Kinesis Data Streams. Los registros que superen este límite no se procesarán. Los registros que no se procesan se registran como |
|
Conector Flink para Kinesis Data Streams |
Existen dos enfoques para consumir datos de Kinesis Data Streams: el conector origen de Kinesis y el conector receptor de Kinesis. El conector de origen admite el manejo de registros de menos de 1 MiB y hasta 10. MiBs No utilice el conector receptor para registros de más de 1 MiB. Para obtener más información, consulte Uso de conectores para mover datos en Amazon Managed Service for Apache Flink con la DataStream API. |
Regiones en las que se admiten registros de gran tamaño
Esta función de Amazon Kinesis Data Streams solo está disponible en las AWS siguientes regiones:
| AWS Región | Nombre de la región |
|---|---|
|
eu-north-1 |
Europa (Estocolmo) |
|
me-south-1 |
Middle East (Bahrain) |
|
ap-south-1 |
Asia-Pacífico (Mumbai) |
|
eu-west-3 |
Europa (París) |
|
ap-southeast-3 |
Asia-Pacífico (Yakarta) |
|
us-east-2 |
Este de EE. UU. (Ohio) |
|
af-south-1 |
África (Ciudad del Cabo) |
|
eu-west-1 |
Europa (Irlanda) |
|
me-central-1 |
Medio Oriente (EAU) |
|
eu-central-1 |
Europa (Fráncfort) |
|
sa-east-1 |
América del Sur (São Paulo) |
|
ap-east-1 |
Asia-Pacífico (Hong Kong) |
|
ap-south-2 |
Asia-Pacífico (Hyderabad) |
|
us-east-1 |
Este de EE. UU. (Norte de Virginia) |
|
ap-northeast-2 |
Asia-Pacífico (Seúl) |
|
ap-northeast-3 |
Asia-Pacífico (Osaka) |
|
eu-west-2 |
Europa (Londres) |
|
ap-southeast-4 |
Asia-Pacífico (Melbourne) |
|
ap-northeast-1 |
Asia-Pacífico (Tokio) |
|
us-west-2 |
Oeste de EE. UU. (Oregón) |
|
us-west-1 |
Oeste de EE. UU. (Norte de California) |
|
ap-southeast-1 |
Asia-Pacífico (Singapur) |
|
ap-southeast-2 |
Asia-Pacífico (Sídney) |
|
il-central-1 |
Israel (Tel Aviv) |
|
ca-central-1 |
Canadá (centro) |
|
ca-west-1 |
Oeste de Canadá (Calgary) |
|
eu-south-2 |
Europa (España) |
|
cn-northwest-1 |
China (Ningxia) |
|
eu-central-2 |
Europa (Zúrich) |
| us-gov-east-1 | AWS GovCloud (Este de EE. UU.) |
| us-gov-west-1 | AWS GovCloud (Estados Unidos-Oeste) |