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 oferece suporte a registros de até 10 mebibytes (). MiBs 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 de taxa de transferência de fragmentos individuais 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.
Como funcionam os registros grandes
O Amazon Kinesis Data Streams aceita registros de até 10 MiB. Seu stream acomoda registros grandes ultrapassando temporariamente sua taxa de transferência sustentada de gravação e, em seguida, retornando à taxa básica ao longo do tempo. Essa capacidade de intermitência é continuamente reabastecida, para que seu stream possa lidar com grandes registros intermitentes junto com o tráfego normal, sem nenhum ajuste manual de capacidade.
Para visualizar esse comportamento, pense na capacidade de gravação do seu stream como um tanque que é reabastecido a uma taxa constante. Quando você envia um registro grande, como um registro de 10 MiB, o tanque se esgota temporariamente. Em seguida, ele começa a ser reabastecido imediatamente, o que significa que você pode continuar enviando registros menores conforme a capacidade se torna disponível.
A taxa na qual a capacidade é reabastecida depende de vários fatores:
O tamanho dos grandes discos
O tamanho dos registros da linha de base
O padrão geral de tráfego no stream
Sua estratégia de chave de partição escolhida
Para obter melhores resultados, use uma chave de partição uniformemente distribuída para distribuir registros grandes pela capacidade disponível do stream.
No modo sob demanda, o Kinesis Data Streams gerencia a capacidade automaticamente. Seu stream aumenta e diminui sua taxa de transferência com base em seus padrões de tráfego, e a grande capacidade de intermitência de registros é tratada de forma transparente. Você não precisa provisionar ou gerenciar a capacidade para usar registros grandes. Para obter mais informações sobre como o modo sob demanda é dimensionado, consulte os recursos do On-demand modo e os casos de uso.
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 acesse 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, confirme 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
Registros grandes são projetados para uso intermitente. Para obter melhores resultados, mantenha grandes registros com menos de 2% do seu tráfego geral. Como o stream ultrapassa temporariamente sua taxa de transferência sustentada para entregar um grande registro, enviar registros grandes com muita frequência pode reduzir a capacidade disponível para seu tráfego de linha de base. Para obter mais informações sobre como otimizar o desempenho do stream com registros grandes, consulte Limitação e práticas recomendadas para otimizar o desempenho.
Reduzir o controle de utilização com registros grandes
Como registros grandes consomem temporariamente a capacidade de intermitência, seu stream pode limitar as gravações subsequentes até que a capacidade seja reabastecida. As etapas a seguir ajudam a reduzir a aceleração:
Para mitigar o controle de utilização
Implemente a lógica de repetição com espera exponencial em sua aplicação produtora.
Use chaves de partição aleatórias para distribuir registros grandes em toda a capacidade disponível do stream.
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
.
Gerenciar registros grandes usando as APIs do Kinesis Data Streams
O suporte a grandes registros introduz uma nova API e atualiza duas APIs existentes do plano de controle 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 as APIs existentes:
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.
Todas as APIs listadas 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 tratamento 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 nos SDKs. AWS Para obter mais informações, consulte Como usar esse serviço com um AWS SDK. |
|
Kinesis Consumer Library (KCL) |
A KCL é compatível com o gerencimento de registros grandes a partir da versão 2.x. Para usar o suporte a registros grandes, atualize o |
|
Kinesis Producer Library (KPL) |
A partir da versão 1.0.5, a KPL é compatível com o gerenciamento de registros grandes. Para usar o suporte a registros grandes, atualize o 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 grandes registros 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 ambiente de prova de conceito 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 a necessidade de configuração adicional. Para registros maiores que 6 MiBs, o Lambda os processa usando um destino em caso de falha. É necessário 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 |
Ao fazer streaming de dados do Kinesis Data Streams para o Amazon Redshift, verifique o tamanho máximo de registro compatível com o Amazon Redshift. Para obter detalhes, consulte Introdução à ingestão de streaming do Amazon Kinesis Data Streams no Guia do desenvolvedor de banco de dados do Amazon Redshift. Os registros que excedem esse limite não são processados. Para obter detalhes sobre informações de registro de registros que não são processados, consulte SYS_STREAM_SCAN_ERRORS no Guia do desenvolvedor de banco de dados do Amazon Redshift. |
|
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 DataStream API. |
Regiões em que grandes registros são compatíveis
Esse recurso do Amazon Kinesis Data Streams está disponível somente nas seguintes regiões: AWS
| 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 (N. 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 (US-East) |
| us-gov-west-1 | AWS GovCloud (US-West) |