Comece a usar o HAQM Kinesis Data Streams

Comece a usar

O HAQM Kinesis Data Streams é um serviço de processamento e ingestão de dados com enorme escalabilidade e alta resiliência, otimizado para dados de transmissão. Você pode configurar centenas de milhares de produtores de dados para inserir continuamente dados em um stream de dados do Kinesis. Em milissegundos, os dados serão disponibilizados para as aplicações do HAQM Kinesis, que receberão os registros de dados na ordem em que foram gerados.

O HAQM Kinesis Data Streams é integrado a diversos serviços da AWS, como o HAQM Kinesis Data Firehose, para transformação e entrega de dados de transmissão praticamente em tempo real a um data lake da AWS como o HAQM S3, o HAQM Managed Service for Apache Flink para processamento gerenciado de streams, o AWS Lambda para processamento de eventos ou registros, o AWS PrivateLink para conectividade privada, o HAQM CloudWatch para processamento de métricas e logs e o AWS KMS para criptografia do lado do servidor.

O HAQM Kinesis Data Streams é usado como gateway de uma solução de big data. Dados de várias origens são colocados em um stream do HAQM Kinesis e consumidos por diferentes aplicativos do HAQM Kinesis. Neste exemplo, um aplicativo (em amarelo) está executando um painel em tempo real com dados de streaming. Outra aplicação (em vermelho) executa uma agregação simples e emite os dados processados para o HAQM S3. Os dados do S3 passam por processamento adicional e são armazenados no HAQM Redshift para a execução de análises complexas. A terceira aplicação (em verde) emite dados brutos para o HAQM S3, que depois são arquivados no HAQM Glacier em um armazenamento de longo prazo mais econômico. Note que todos os três pipelines de processamento de dados ocorrem simultaneamente e em paralelo.

Comece a usar o HAQM Kinesis Data Streams

Veja as novidades do HAQM Kinesis Data Streams

Solicite auxílio para realizar a prova de conceito ou uma avaliação

Vídeos

Use o Kinesis Data Streams

Depois de cadastrar-se na HAQM Web Services, você pode começar a usar o HAQM Kinesis Data Streams:

Principais conceitos

Open all

Um produtor de dados é um aplicativo que normalmente emite registros de dados à medida que são gerados para um stream de dados do Kinesis. Os produtores de dados atribuem chaves de partição aos registros. Em última análise, as chaves de partição determinam qual estilhaço consome o registro de dados de um stream de dados.

Um consumidor de dados é um aplicativo distribuído do Kinesis ou serviço da AWS que recupera dados de todos os estilhaços de um stream à medida que o stream é gerado. A maioria dos consumidores de dados recupera os dados mais recentes de um estilhaço, o que permite analisar ou processar dados em tempo real.

Um stream de dados é um agrupamento lógico de estilhaços. Não há limite para o número de fragmentos em um fluxo de dados (solicite um aumento de limite se precisar de um número maior). Um stream de dados reterá os dados por 24 horas por padrão ou, como alternativa, até 365 dias.

Um estilhaço é a unidade básica de throughput de um stream de dados do HAQM Kinesis.

  • Um estilhaço é um log que só permite anexação e uma unidade de capacidade de streaming. Um estilhaço contém uma sequência de registros em ordem de chegada.
  • Um estilhaço pode consumir até 1.000 registros de dados por segundo, ou 1 MB/s. Adicione mais estilhaços para aumentar a capacidade de consumo.
  • Adicione ou remova dinamicamente fragmentos do fluxo para acompanhar a oscilação do throughput de dados usando o Console da AWS ou a API UpdateShardCount, acionando o ajuste de escala automático por meio do AWS Lambda ou usando um utilitário de ajuste de escala automático.
  • Quando os consumidores usam distribuição aprimorada, um estilhaço fornece entrada de dados de 1 MB/s e saída de dados de 2 MB/s para cada consumidor de dados registrado para o uso de distribuição aprimorada.
  • Quando os consumidores não usam distribuição aprimorada, um estilhaço fornece entrada de 1 MB/s e saída de dados de 2 MB/s. Essa saída é compartilhada com qualquer consumidor que não usa distribuição aprimorada.
  • Você especificará o número de estilhaços necessários durante a criação do stream e poderá alterar a quantidade a qualquer momento. Por exemplo, você pode criar um stream com dois estilhaços. Se você tiver cinco consumidores de dados usando distribuição aprimorada, esse stream pode fornecer até 20 MB/s de saída de dados total (2 estilhaços x 2 MB/s x 5 consumidores de dados). Quando o consumidor de dados não usa distribuição aprimorada, esse stream tem um throughput de 2 MB/s de entrada de dados e 4 MB/s de saída de dados. Em todos os casos, esse stream permite até 2.000 registros PUT por segundo ou 2 MB/s de entrada, o limite que for alcançado antes.
  • Você pode monitorar métricas de estilhaços no HAQM Kinesis Data Streams.

Um registro é a unidade de dados armazenada em um stream do HAQM Kinesis. Um registro é composto por um número de sequência, uma chave de partição e um blob de dados. Um blob de dados consiste nos dados de interesse que o seu produtor de dados adiciona a um stream. O tamanho máximo de um blob de dados (a carga útil de dados após a decodificação Base64) é de 1 megabyte (MB).

Normalmente, uma chave de partição é um identificador significativo, como um ID de usuário ou time stamp. Ela é especificada pelo produtor de dados quando este insere dados em um stream de dados do HAQM Kinesis. Essa informação é útil para os consumidores, pois a chave de partição pode ser usada para reproduzir ou criar um histórico associado a ela. A chave de partição também é usada para segregar e rotear registros de dados para diferentes estilhaços de um stream. Por exemplo, supondo que você tem um stream do HAQM Kinesis com dois estilhaços (estilhaço 1 e estilhaço 2). Você pode configurar seu produtor de dados para usar duas chaves de partição (chave A e chave B) para que todos os registros de dados com chave A sejam colocados no fragmento 1 e todos os registros de dados com chave B sejam colocados no fragmento 2.

Um número de sequência é um identificador exclusivo para cada registro de dados. O número de sequência é atribuído pelo HAQM Kinesis Data Streams quando um produtor de dados chama as APIs PutRecord ou PutRecords para adicionar dados a um fluxo de dados do HAQM Kinesis. Os números de sequência para a mesma chave de partição geralmente aumentam ao longo do tempo. Quanto maior o período entre as solicitações PutRecord ou PutRecords, maiores serão os números de sequência.

Insira dados nos streams

Open all

Os produtores de dados podem inserir dados nos fluxos de dados do HAQM Kinesis usando as APIs do HAQM Kinesis Data Streams, a biblioteca de produtor do HAQM Kinesis (KPL) ou o HAQM Kinesis Agent.

Insira dados de amostra em um fluxo de dados do Kinesis ou em um Kinesis Data Firehose usando o HAQM Kinesis Data Generator.

O HAQM Kinesis Data Streams disponibiliza duas APIs para a inserção de dados em um stream de dados do HAQM Kinesis: PutRecord e PutRecords. PutRecord permite um único registro de dados em uma chamada de API e PutRecords permite vários registros de dados em uma chamada de API.

O HAQM Kinesis Producer Library (KPL) é uma biblioteca fácil de usar e altamente configurável que fornece suporte na inserção de dados em um fluxo de dados do HAQM Kinesis. A HAQM Kinesis Producer Library (KPL) apresenta uma interface simples, assíncrona e confiável que permite alcançar rapidamente um alto throughput de produtor com um mínimo de recursos de clientes.

O HAQM Kinesis Agent é uma aplicação Java predefinida que oferece uma maneira fácil de coletar e enviar dados para um stream do HAQM Kinesis. Você pode instalar o agente em ambientes de servidor baseados em Linux, como servidores web, servidores de log e servidores de banco de dados. O agente monitora determinados arquivos e envia continuamente dados para o stream.

Execute ou crie os seus próprios aplicativos

Open all

Execute aplicativos gerenciados de processamento de streams usando serviços da AWS ou crie os seus próprios aplicativos.

O HAQM Kinesis Data Firehose é a maneira mais fácil de transformar e carregar de forma confiável dados de streaming em datastores e ferramentas de analytics. Você pode usar um fluxo de dados do Kinesis como origem para um Kinesis Data Firehose.

Com o HAQM Managed Service for Apache Flink, você pode consultar facilmente dados de streaming ou criar aplicações de streaming usando o Apache Flink para obter insights práticos e responder prontamente às necessidades de sua empresa e de seus clientes. Você pode usar um fluxo de dados do Kinesis como origem e destino para uma aplicação do HAQM Managed Service for Apache Flink.

Você pode assinar funções do Lambda para ler automaticamente registros de um stream de dados do Kinesis. Normalmente, o AWS Lambda é usado para processamento de streams registro a registro (também conhecido como processamento baseado em eventos).

A biblioteca de cliente do HAQM Kinesis (KCL) é uma biblioteca predefinida que ajuda a criar facilmente aplicações do HAQM Kinesis para leitura e processamento de dados de um fluxo de dados do HAQM Kinesis. A KCL trata problemas complexos, como a adaptação a mudanças no volume do stream, load balancing de dados de streaming, coordenação de serviços distribuídos e processamento de dados com tolerância a falhas. A KCL permite que você se concentre na lógica de negócios durante a criação de aplicativos do HAQM Kinesis. A partir da KCL 2.0, você pode utilizar uma API de streaming HTTP/2 de baixa latência e a distribuição aprimorada para recuperar dados de um stream.

A biblioteca do HAQM Kinesis Connector é uma biblioteca predefinida que ajuda a integrar facilmente o HAQM Kinesis com outros serviços da AWS e ferramentas de terceiros. A biblioteca de cliente do HAQM Kinesis (KCL) é necessária para usar a biblioteca do HAQM Kinesis Connector. A versão atual da biblioteca oferece conectores para o HAQM DynamoDB, o HAQM Redshift, o HAQM S3 e o HAQM Elasticsearch Service. A biblioteca também inclui exemplos de conectores de cada tipo, além de arquivos de criação do Apache Ant para executar os exemplos.

O HAQM Kinesis Storm Spout é uma biblioteca pré-definida que ajuda a integrar facilmente o HAQM Kinesis Data Streams ao Apache Storm. A versão atual da HAQM Kinesis Storm Spout extrai dados de um stream de dados do Kinesis e os emite como tuplas. Você adicionará o Spout à sua topologia do Storm para se beneficiar do HAQM Kinesis Data Streams como um serviço confiável e escalável de extração, armazenamento e nova execução de streams.

Gerencie streams

Open all

Você pode acessar de modo privado as APIs do Kinesis Data Streams de uma HAQM Virtual Private Cloud (VPC) criando VPC endpoints. Com os VPC endpoints, o roteamento entre a VPC e o Kinesis Data Streams é processado pela rede da AWS, sem necessidade de um Internet Gateway, um gateway NAT ou uma conexão VPN. A geração mais recente de VPC endpoints usados pelo Kinesis Data Streams é baseada no AWS PrivateLink, uma tecnologia que habilita a conectividade privada entre os serviços da AWS usando interfaces de rede elástica (ENIs) com IPs privados nas VPCs. Para obter mais informações, consulte a documentação do AWS PrivateLink.

A distribuição aprimorada permite que os clientes escalem a quantidade de consumidores que leem um stream de dados em paralelo sem afetar a performance. Você pode usar a distribuição aprimorada e uma API HTTP/2 de recuperação de dados para distribuir dados a vários aplicativos, com um intervalo após a chegada que habitualmente é de 70 milissegundos.

Você pode criptografar os dados inseridos no Kinesis Data Streams usando criptografia do lado do servidor ou do lado do cliente. A criptografia do lado do servidor é um recurso gerenciado que criptografa e descriptografa automaticamente dados inseridos e extraídos de um fluxo de dados. Como alternativa, é possível criptografar dados do lado do cliente antes de inseri-los no fluxo de dados. Para saber mais, consulte a seção Security (Segurança) das perguntas frequentes sobre o Kinesis Data Streams.

Use um fluxo de dados como origem do Kinesis Data Firehose para transformar dinamicamente os dados durante a entrega para o S3, o Redshift, o Elasticsearch e o Splunk. Associe uma aplicação do HAQM Managed Service for Apache Flink para processar dados de streaming em tempo real com SQL padrão, sem necessidade de aprender novas linguagens de programação ou estruturas de processamento.

O HAQM Kinesis Data Streams se integra ao HAQM CloudWatch, possibilitando a coleta, a visualização e análise de métricas do CloudWatch de maneira fácil para uso nos fluxos de dados do HAQM Kinesis e nos fragmentos encontrados dentro desses fluxos de dados. Para obter mais informações sobre as métricas do HAQM Kinesis Data Streams, consulte Monitoring HAQM Kinesis with HAQM CloudWatch (Monitoramento do serviço do HAQM Kinesis Data Streams com o HAQM CloudWatch).

O HAQM Kinesis Data Streams se integra ao AWS Identity and Access Management (IAM), um serviço que possibilita o controle de forma segura do acesso de seus usuários aos serviços e recursos da AWS. Por exemplo, você pode criar uma política que permite que apenas um usuário ou um grupo específico insira dados em um stream de dados do HAQM Kinesis. Para obter mais informações sobre o gerenciamento e o controle de acesso a um fluxo de dados do HAQM Kinesis, consulte Controlling Access to HAQM Kinesis Resources using IAM (Controle do acesso aos recursos do HAQM Kinesis Data Streams usando o IAM).

O HAQM Kinesis Data Streams se integra ao AWS CloudTrail, um serviço que registra as chamadas de APIs da AWS para uma conta e entrega arquivos de log. Para obter mais informações sobre o log de chamadas de APIs e uma lista das APIs compatíveis do HAQM Kinesis, consulte Logging HAQM Kinesis API calls Using AWS CloudTrail (Registro em log de chamadas da API do HAQM Kinesis Data Streams com o AWS CloudTrail).

Você pode marcar streams de dados do HAQM Kinesis com tags para facilitar o gerenciamento de recursos e custos. Uma tag é um rótulo definido pelo usuário, especificado como um par chave-valor, que ajuda a organizar recursos da AWS. Por exemplo, você pode marcar streams de dados do HAQM Kinesis com tags por centro de custo, permitindo a categorização e o rastreamento dos custos do HAQM Kinesis Data Streams com base em centros de custo. Para obter mais informações sobre o assunto, consulte Tagging Your HAQM Kinesis Data Streams (Marcação de streams no HAQM Kinesis Data Streams).

Tutoriais

Open all

Este tutorial apresenta as etapas para criar um stream de dados do HAQM Kinesis, enviar dados simulados de negociação de ações para o stream e criar um aplicativo para processar os dados do stream de dados.  

Apresentações em destaque

Open all

Soluções em destaque

A solução de dados em transmissão da AWS para o HAQM Kinesis fornece modelos do AWS CloudFormation em que os dados fluem por produtores, armazenamento de transmissão, consumidores e destinos. Para dar suporte a diversos casos de uso e necessidades de negócios, essa solução oferece quatro modelos do AWS CloudFormation. Os modelos são configurados para aplicar as práticas recomendadas para monitorar a funcionalidade usando painéis e alarmes e para proteger os dados.