Amazon Kinesis - Guia Completo (Pontos-Chave para o Exame DEA-C01)
Introducao
O Amazon Kinesis e um dos servicos que aparece com maior frequencia na secao Domain 1: Data Ingestion and Transformation (34%) do exame DEA-C01.
O Kinesis nao e um unico servico, mas sim um conjunto de servicos projetados para processamento de streaming em tempo real. O exame foca especialmente nas diferencas entre cada servico e na arquitetura do Kinesis Data Streams (KDS).
Este guia cobre os conceitos essenciais que voce precisa conhecer para se preparar para o exame.
---
Os quatro servicos do Kinesis em uma visao geral
O Kinesis e composto por quatro servicos distintos. Como cada um tem um proposito claramente diferente, o exame frequentemente apresenta questoes baseadas em cenarios onde voce deve escolher o servico correto.
| Servico | Funcao | Conceitos-chave | | --- | --- | --- | | Kinesis Data Streams (KDS) | Captura e processamento de dados em tempo real | Shards, processamento em tempo real | | Kinesis Data Firehose | Entrega automatica de dados para data stores | Escalamento automatico, carga de dados | | Kinesis Data Analytics | Analise de dados em streaming com SQL ou Flink | Analise em tempo real | | Kinesis Video Streams | Captura e processamento de streams de video | Analise de video |
Pontos-chave para o exame:
Voce precisa implementar logica de processamento personalizada → Kinesis Data Streams Voce precisa carregar dados automaticamente no S3 ou Redshift → Firehose Voce precisa analisar dados em streaming com SQL → Data Analytics
!Comparação dos 4 serviços do Kinesis
Arquitetura central do Kinesis Data Streams (Shards)
O conceito fundamental do Kinesis Data Streams e o Shard.
Todo o throughput e a escalabilidade sao determinados com base nos shards.
| Aspecto | Detalhe | | --- | --- | | Throughput de escrita por shard | 1 MB/seg ou 1.000 registros/seg | | Throughput de leitura por shard | 2 MB/seg | | Tamanho maximo do registro | 1 MB | | Retencao padrao | 24 horas | | Retencao maxima | 7 dias | | Garantia de ordenacao | Dentro de um shard |
O ponto-chave do exame aqui e como calcular o throughput.
Se o throughput for insuficiente, voce pode escalar adicionando mais shards.
---
Modos de servico: Provisioned vs On-Demand
O Kinesis Data Streams oferece dois modos de operacao.
| Modo | Caracteristicas | Caso de uso | | --- | --- | --- | | Provisioned | Voce especifica o numero de shards manualmente | Trafego previsivel | | On-Demand | A capacidade se ajusta automaticamente | Trafego imprevisivel |
No exame, a resposta correta e tipicamente determinada pelo padrao de trafego.
O trafego e constante → Provisioned O trafego flutua significativamente → On-Demand
---
Producers: como os dados entram
As entidades que enviam dados para um stream sao chamadas de Producers.
Existem tres abordagens principais.
| Ferramenta | Caracteristicas | Caso de uso | | --- | --- | --- | | AWS SDK | Chamadas diretas a API | Transmissao basica de dados | | Kinesis Producer Library (KPL) | Transmissao de alto throughput | Streaming em larga escala | | Kinesis Agent | Transmissao automatica de arquivos de log | Coleta de logs de servidor |
Dois cenarios aparecem com frequencia no exame:
Processamento de dados de streaming em larga escala → KPL Coleta automatica de logs em servidores Linux → Kinesis Agent
---
Consumers: como os dados sao lidos
As aplicacoes que leem dados do stream sao chamadas de Consumers.
A abordagem basica utiliza a API GetRecords.
| Aspecto | Detalhe | | --- | --- | | Limite de chamadas | 5 chamadas/seg | | Tamanho maximo de leitura | 10 MB | | Throughput | 2 MB/s por shard |
Quando varios consumers leem dados simultaneamente, eles compartilham o throughput.
Para resolver esse problema, voce pode usar o recurso Enhanced Fan-Out.
Com o Enhanced Fan-Out:
Cada consumer recebe throughput dedicado (2 MB/s) Multiplas aplicacoes podem ler o stream simultaneamente sem degradacao de desempenho
---
KCL (Kinesis Client Library)
Quando multiplas instancias de aplicacao precisam processar um stream, utiliza-se o KCL.
As principais funcoes do KCL sao as seguintes.
| Funcao | Descricao | | --- | --- | | Processamento distribuido | Multiplos workers processam em paralelo | | Gerenciamento de checkpoints | Salva a posicao de processamento | | Recuperacao de falhas | Retoma a partir do ultimo checkpoint |
As informacoes de checkpoint sao armazenadas no Amazon DynamoDB.
O ponto-chave do exame aqui e a relacao com o custo.
Checkpoints frequentes aumentam os custos do DynamoDB Checkpoints pouco frequentes significam mais dados para reprocessar apos uma falha
---
Integracao do Lambda com o Kinesis
O Kinesis e muito frequentemente usado junto com o AWS Lambda.
O Lambda faz polling automatico do stream e processa os novos dados.
| Funcao | Descricao | | --- | --- | | Polling automatico | O Lambda le dados do stream | | Escalamento automatico | O Lambda escala com base no numero de shards | | Processamento paralelo | Usa Parallelization Factor |
As duas principais formas de aumentar o throughput sao:
Aumentar o Parallelization Factor Habilitar o Enhanced Fan-Out
---
Divisao e fusao de shards
Quando o trafego aumenta ou diminui, voce pode ajustar os shards de acordo.
| Operacao | Descricao | | --- | --- | | Splitting | Aumenta o numero de shards | | Merging | Reduz o numero de shards |
Apos dividir um shard, voce deve prestar atencao a ordem de processamento dos dados.