Terminologia e conceitos do Amazon Kinesis Data Streams - Amazon Kinesis Data Streams

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á.

Terminologia e conceitos do Amazon Kinesis Data Streams

Conforme começar a usar o Amazon Kinesis Data Streams, você poderá se beneficiar da compreensão de sua arquitetura e terminologia.

Arquitetura de alto nível do Kinesis Data Streams

O diagrama a seguir ilustra a arquitetura de alto nível do Kinesis Data Streams. Ofabricantesenviar dados continuamente para o Kinesis Data Streams e oconsumidoresProcessar os dados em tempo real. Os consumidores (como um aplicativo personalizado em execução no Amazon EC2 ou um stream de entrega do Amazon Kinesis Data Firehose) podem armazenar seus resultados usando umAWSserviço como Amazon DynamoDB, Amazon Redshift ou Amazon S3.


                Diagrama da arquitetura de alto nível do Kinesis Data Streams

Terminologia do Kinesis Data Streams

Kinesis Data Streams

UMAstream de dados do Kinesisé um conjunto decacos. Cada estilhaço tem uma sequência de registros de dados. Cada registro de dados tem umnúmero de sequênciaO que é atribuído pelo Kinesis Data Streams.

Registro de dados

UMAregistro de dadosÉ a unidade de dados armazenada em umstream de dados do Kinesis. Os registros de dados são compostos de umnúmero de sequência, umchave de partiçãoE um blob de dados, que é uma sequência de bytes imutável. O Kinesis Data Streams não inspeciona, interpreta ou altera dados no blob. Um blob de dados pode ter até 1 MB.

Modo de capacidade

Um stream de dadosModo de capacidadedetermina como a capacidade é gerenciada e como você é cobrado pelo uso do fluxo de dados. Atualmente, no Kinesis Data Streams, você pode escolher entre umSob demandamode e umprovisionadoMode para os fluxos de dados. Para obter mais informações, consulte Escolher o modo de capacidade do fluxo de dados.

Com aSob demandamodo, o Kinesis Data Streams gerencia automaticamente os fragmentos para fornecer a taxa de transferência necessária. Você é cobrado apenas pela taxa de transferência real usada e o Kinesis Data Streams acomoda automaticamente as necessidades de taxa de transferência de suas cargas de trabalho à medida que elas crescem ou diminuem. Para obter mais informações, consulte Modo sob demanda.

Com aprovisionadoMode, você deve especificar o número de estilhaços para o stream de dados. A capacidade total de um stream de dados é a soma das capacidades de seus estilhaços. Você pode aumentar ou diminuir o número de estilhaços em um stream de dados, conforme necessário, e você será cobrado pelo número de estilhaços a uma taxa horária. Para obter mais informações, consulte Modo provisionado.

Período de retenção

O período de retenção é o tempo em que os registros de dados permanecem acessíveis depois de serem adicionados ao streaming. O período de retenção de um stream é definido para um padrão de 24 horas após a criação. Você pode aumentar o período de retenção até8760horas (365dias) usando oIncreaseStreamRetentionPeriode diminuir o período de retenção até um mínimo de 24 horas usando oDecreaseStreamRetentionPeriodoperação. Encargos adicionais incidem sobre streams com período de retenção definido acima de 24 horas. Para obter mais informações, consulte Definição de preço do Amazon Kinesis Streams.

Produtor

Produtores doColoque registros no Amazon Kinesis Data Streams. Por exemplo, um servidor web que envia dados de log para um stream é um produtor.

Consumidor

Consumidores doObter registros do Amazon Kinesis Data Streams e processá-los. Esses consumidores são conhecidos como Aplicativo do Amazon Kinesis Data Streams.

Aplicativo do Amazon Kinesis Data Streams

UmaAplicativo do Amazon Kinesis Data StreamsÉ um consumidor de um stream que normalmente é executado em uma frota de instâncias do EC2.

Há dois tipos de consumidores que você pode desenvolver: consumidores avançados compartilhados e consumidores avançados aprimorados. Para saber mais sobre as diferenças entre eles, e para ver como você pode criar cada tipo de consumidor, consulte Ler dados do Amazon Kinesis Data Streams Data Streams.

A saída de um aplicativo do Kinesis Data Streams pode ser inserida em outro stream, permitindo que você crie topologias complexas que processam dados em tempo real. Um aplicativo também pode enviar dados para vários outrosAWSServiços da . Pode haver vários aplicativos para um stream, e cada aplicativo pode consumir dados do stream de forma independente e simultaneamente.

Estilhaço

Um estilhaço é uma sequência de registros de dados identificada de forma exclusiva em um streaming. Um stream é composto de um ou mais estilhaços, sendo que cada um deles fornece uma unidade fixa de capacidade. Cada fragmento pode suportar até 5 transações por segundo para leituras, até uma taxa total máxima de leitura de dados de 2 MB por segundo e até 1.000 registros por segundo para gravações, até uma taxa total máxima de gravação de dados de 1 MB por segundo (incluindo chaves de partição). A capacidade de dados do seu stream é uma função do número de estilhaços que você especifica para o stream. A capacidade total do stream é a soma das capacidades de seus estilhaços.

Se a taxa de dados aumenta, você pode aumentar ou diminuir o número de estilhaços alocados para seu stream. Para obter mais informações, consulte Reestilhaçar um stream.

Chave de partição

UMAchave de partiçãoÉ usado para agrupar os dados por estilhaço dentro de um stream. O Kinesis Data Streams segrega os registros de dados pertencentes a um stream em vários estilhaços. Ele usa a chave de partição associada a cada registro de dados para determinar a qual estilhaço um determinado registro de dados pertence. As chaves de partição são strings Unicode, com um limite de tamanho máximo de 256 caracteres para cada chave. Uma função de hash MD5 é usada para mapear chaves de partição para valores inteiros de 128 bits e para mapear registros de dados associados para estilhaços usando os intervalos de chaves de hash dos estilhaços. Quando um aplicativo insere dados em um stream, ele deve especificar uma chave de partição.

Número de sequência

Cada registro de dados tem umnúmero de sequênciaque é único por chave de partição dentro de seu fragmento. O Kinesis Data Streamsclient.putRecordsouclient.putRecord. Geralmente, os números de sequência da mesma chave de partição aumentam ao longo do tempo. Quanto maior for o período entre as solicitações de gravação, maiores serão os números de sequência.

nota

Os números de sequência não podem ser usados como índices para conjuntos de dados dentro do mesmo stream. Para separar logicamente conjuntos de dados, use chaves de partição ou crie um stream separado para cada conjunto de dados.

Biblioteca de cliente Kinesis

A Biblioteca de cliente do Kinesis é compilada em seu aplicativo para permitir o consumo de dados tolerante a falhas do stream. A Biblioteca de cliente do Kinesis garante que para cada estilhaço exista um processador de registros em execução e processando esse estilhaço. A biblioteca também simplifica a leitura de dados do stream. A Biblioteca de cliente do Kinesis usa uma tabela do Amazon DynamoDB para armazenar dados de controle. Ela cria uma tabela para cada aplicativo que está processando dados.

Há duas versões principais da Biblioteca de cliente do Kinesis. Aquela que você usa depende do tipo de consumidor que deseja criar. Para obter mais informações, consulte Ler dados do Amazon Kinesis Data Streams Data Streams.

Nome do aplicativo

O nome de um aplicativo do Amazon Kinesis Data Streams identifica o aplicativo. Cada um dos seus aplicativos deve ter um nome exclusivo delimitado para oAWSconta e região usadas pelo aplicativo. Esse nome é usado para a tabela de controle no Amazon DynamoDB e o namespace da AmazonCloudWatchMétricas do .

Criptografia do lado do servidor

O Amazon Kinesis Data Streams pode criptografar automaticamente dados confidenciais à medida que um produtor os insere em um stream. O Kinesis Data StreamsAWS KMSChaves mestras do na criptografia. Para obter mais informações, consulte Proteção de dados no Amazon Kinesis Data Streams.

nota

Para ler ou gravar um em um stream criptografado, aplicativos produtores e consumidores devem ter permissão para acessar a chave mestra. Para obter informações sobre a concessão de permissões para aplicativos produtores e consumidores, consulte Permissões para usar as chaves mestras do KMS geradas pelo usuário.

nota

O uso de criptografia no lado do servidor incorre em custos do AWS Key Management Service (AWS KMS). Para obter mais informações, consulteAWSPreços do Key Management Service.