As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Gerenciar registros grandes
O Amazon Kinesis Data Streams suporta registros de até 10 MiBs mebibytes (). Esse recurso é recomendado para processar cargas úteis intermitentes de dados que excedam o limite padrão de tamanho de registro de 1 MiB. O tamanho de registro máximo padrão para fluxos existentes e recém-criados é definido como 1 MiB.
Esse atributo beneficia aplicações de Internet das Coisas (IoT), pipelines de captura de dados de alteração (CDC) e fluxos de trabalho de machine learning que exigem o processamento ocasional de cargas úteis de dados de maior tamanho. Para começar a usar registros grandes em seu fluxo, atualize o limite máximo de tamanho de registro do seu fluxo.
Importante
O limite individual de taxa de transferência de fragmentos de 1 MB/s para gravações e 2 MB/s para leituras permanece inalterado com suporte para tamanhos de registro maiores. O Kinesis Data Streams foi projetado para acomodar grandes registros intermitentes junto com um tráfego básico de registros menores ou iguais a 1 MiB. Ele não foi projetado para acomodar a ingestão sustentada de registros grandes e de alto volume.
Atualizar seu fluxo para usar registros grandes
Para processar registros maiores com o Kinesis Data Streams
Vá para o console do Kinesis Data Streams.
Selecione seu fluxo e vá até a guia Configuração.
Clique em Editar, localizado ao lado de Tamanho máximo do registro.
Defina o tamanho máximo do registro (até 10 MiB).
Salve as alterações.
Essa configuração ajusta somente o tamanho máximo do registro para esse fluxo de dados do Kinesis. Antes de aumentar esse limite, verifique se todas as aplicações downstream podem gerenciar registros maiores.
Você também pode atualizar essa configuração usando a AWS CLI:
aws kinesis update-max-record-size \ --stream-arn \ --max-record-size-in-ki-b 5000
Otimizar o desempenho do seu fluxo com registros grandes
É recomendável manter registros grandes em menos de 2% do seu tráfego geral. Em um fluxo, cada fragmento tem uma capacidade de throughput de 1 MiB por segundo. Para acomodar registros grandes, os streams do Kinesis Data aumentam até 10 MiBs, com uma média de 1 MiB por segundo. Essa capacidade de suportar registros grandes é continuamente recarregada no fluxo. A taxa de recarga depende do tamanho dos registros grandes e do tamanho do registro básico. Para obter melhores resultados, use uma chave de partição distribuída uniformemente. Para obter mais informações sobre como o Kinesis sob demanda escala, consulte Atributos e casos de uso do modo sob demanda.
Reduzir o controle de utilização com registros grandes
Para mitigar o controle de utilização
Implemente a lógica de repetição com recuo exponencial em sua aplicação produtora.
Use chaves de partição aleatórias para distribuir registros grandes pelos fragmentos disponíveis.
Armazene cargas úteis no Amazon S3 e envie somente referências de metadados ao fluxo para fluxos contínuos de registros grandes. Para obter mais informações, consulte Processamento de registros grandes com o Amazon Kinesis Data Streams
.
Gerencie registros grandes usando o Kinesis Data Streams APIs
O suporte a registros grandes introduz uma nova API e atualiza dois planos de controle existentes APIs para lidar com registros de até 10 MiBs.
API para modificar o tamanho do registro:
UpdateMaxRecordSize: configura o limite máximo de tamanho de registro para streams existentes de até 10. MiBs
Atualizações para os existentes APIs:
CreateStream: adiciona o parâmetroMaxRecordSizeInKiBopcional para definir limites de tamanho de registro durante a criação do fluxo.DescribeStreamSummary: retorna o campoMaxRecordSizeInKiBpara mostrar a configuração atual do fluxo.
Todos os APIs listados mantêm a compatibilidade com versões anteriores dos fluxos existentes. Para obter a documentação completa da API, consulte a Referência da API do serviço do Amazon Kinesis Data Streams.
AWS componentes compatíveis com registros grandes
Os AWS componentes a seguir são compatíveis com registros grandes:
| Componente | Description |
|---|---|
|
AWS SDK |
AWS O SDK suporta o gerenciamento de registros grandes. Você pode atualizar o tamanho máximo do registro do seu stream em até 10 MiB usando os métodos disponíveis no. AWS SDKs Para obter mais informações, consulte Como usar esse serviço com um AWS SDK. |
|
Kinesis Consumer Library (KCL) |
A partir da versão 2.x, a KCL suporta o gerenciamento de registros grandes. Para usar o suporte a registros grandes, atualize |
|
Kinesis Producer Library (KPL) |
A partir da versão 1.0.5, a KPL suporta o gerenciamento de registros grandes. Para usar o suporte a registros grandes, atualize maxRecordSize de seu fluxo e use a KPL. Para mais informações, consulte Desenvolver produtores usando a Amazon Kinesis Producer Library (KPL). |
|
Amazon EMR |
O Amazon EMR com Apache Spark oferece suporte ao tratamento de registros grandes até o limite do Kinesis Data Streams (10). MiBs Para usar o suporte a registros grandes, use a função |
|
Amazon Data Firehose |
Quando usado com o Kinesis Data Streams, o comportamento do Amazon Data Firehose com registros grandes depende do destino da entrega:
Para aplicativos que exigem entrega para o Snowflake ou Redshift com registros grandes, entregue primeiro os dados para o Amazon S3. Depois disso, use os processos de Extração, Transformação e Carregamento (ETL) para carregar os dados. Para todos os outros destinos, teste o comportamento com registros grandes em um proof-of-concept ambiente antes de escalar para o uso em produção. O gerenciamento de registros grandes varia de acordo com o destino. |
|
AWS Lambda |
AWS Lambda suporta cargas úteis de até 6 MiBs. Esse limite inclui a carga útil do Kinesis convertida em codificação de base 64 e os metadados associados ao mapeamento da origem do evento (ESM). Para registros menores que 6 MiBs, o Lambda os processa usando o ESM sem necessidade de configuração adicional. Para registros maiores que 6 MiBs, o Lambda os processa usando um destino em caso de falha. Você deve configurar um destino em caso de falha usando o ESM para gerenciar registros que excedam os limites de processamento do Lambda. Cada evento enviado ao destino em caso de falha é um documento JSON que contém metadados sobre a invocação que falhou. É recomendável criar um destino em caso de falha no ESM, independentemente do tamanho do registro. Isso garante que nenhum registro seja descartado. Para obter mais informações, consulte Configurar destinos para invocações com falha. |
|
banco de dados de origem |
O Amazon Redshift só oferece suporte a tamanhos de registro menores que 1 MiB no fluxo de dados a partir do Kinesis Data Streams. Os registros que excederem esse limite não serão processados. Os registros não processados são registrados em log como |
|
Conector Flink para Kinesis Data Streams |
Há duas abordagens para consumir dados do Kinesis Data Streams: o conector de origem do Kinesis e o conector coletor do Kinesis. O conector de origem suporta o tratamento de registros menores que 1 MiB e até 10. MiBs Não use o conector do coletor para registros maiores que 1 MiB. Para obter mais informações, consulte Usar conectores para mover dados no Amazon Managed Service para Apache Flink com a API. DataStream |
Regiões em que grandes registros são suportados
Esse recurso do Amazon Kinesis Data Streams está disponível somente nas AWS seguintes regiões:
| AWS Região | Nome da região |
|---|---|
|
eu-north-1 |
Europa (Estocolmo) |
|
me-south-1 |
Oriente Médio (Bahrein) |
|
ap-south-1 |
Ásia-Pacífico (Mumbai) |
|
eu-west-3 |
Europa (Paris) |
|
ap-southeast-3 |
Ásia-Pacífico (Jacarta) |
|
us-east-2 |
Leste dos EUA (Ohio) |
|
af-south-1 |
África (Cidade do Cabo) |
|
eu-west-1 |
Europa (Irlanda) |
|
me-central-1 |
Oriente Médio (Emirados Árabes Unidos) |
|
eu-central-1 |
Europa (Frankfurt) |
|
sa-east-1 |
América do Sul (São Paulo) |
|
ap-east-1 |
Ásia-Pacífico (Hong Kong) |
|
ap-south-2 |
Ásia-Pacífico (Hyderabad) |
|
us-east-1 |
Leste dos EUA (Norte da Virgínia) |
|
ap-northeast-2 |
Ásia-Pacífico (Seul) |
|
ap-northeast-3 |
Ásia-Pacífico (Osaka) |
|
eu-west-2 |
Europa (Londres) |
|
ap-southeast-4 |
Ásia-Pacífico (Melbourne) |
|
ap-northeast-1 |
Ásia-Pacífico (Tóquio) |
|
us-west-2 |
Oeste dos EUA (Oregon) |
|
us-west-1 |
Oeste dos EUA (Norte da Califórnia) |
|
ap-southeast-1 |
Ásia-Pacífico (Singapura) |
|
ap-southeast-2 |
Ásia-Pacífico (Sydney) |
|
il-central-1 |
Israel (Tel Aviv) |
|
ca-central-1 |
Canadá (Central) |
|
ca-west-1 |
Oeste do Canadá (Calgary) |
|
eu-south-2 |
Europa (Espanha) |
|
cn-northwest-1 |
China (Ningxia) |
|
eu-central-2 |
Europa (Zurique) |
| us-gov-east-1 | AWS GovCloud (Leste dos EUA) |
| us-gov-west-1 | AWS GovCloud (Oeste dos EUA) |