Collection Whiz Labs Flashcards

1
Q

Qual sistema utilizar para batch? E para streaming? E para transacional?

A

Um possível sistema para ser utilizado para batch é o AWS Glue. Para streaming, o Kinesis Data Stream / Firehose e para transacional o DMS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Como funciona a tolerância a falhas do Kinesis Producer Library ?

A

O Kinesis Producer Library (KPL) envia um batch de registros para o kinesis. Caso um dos registros falhe por algum motivo, apenas este registro será declarado como falho e terá novas tentativas de envio deste registro em próximos batchs.

Para evitar sobrecarga por retrys, existem limites nos envios por shard de um único producer, ajudando a prevenir retrys excessivas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Como funciona a persistência dos dados no Kinesis?

A

Kinesis Data Stream tem alta disponibilidade replicando os dados através das zonas de disponibilidade de uma região.

Kinesis Data Stream pode persistir os dados por 24 horas a 7 dias. Não é uma boa prática utilizar o kinesis para persistência dos dados.

Já o Kinesis Firehose envia os dados diretamente para o destino, não tendo persistência alguma dos dados. Ele pode enviar os dados para S3, Redshift, Elasticsearch, splunk e Kinesis Data Analytics.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Como funciona a tolerância a falhas do Kinesis Consumer Library (KCL)?

A

Os consumers utilizam uma tabela do DynamoDb para criar um checkpoint dos registros lidos com sucesso. Então em caso de falhas, é possível saber quais registros foram lidos de um shard e iniciar a partir do registro de falha.

É importante utilizar nomes únicos para as aplicações no KCL, visto que as tabelas do DynamoDb utilizam nomes os nomes das aplicações e não é possível ter duas tabelas com o mesmo nome.

Também é importante observar exceções de throughput no DynamoDb, em caso de muitos shards ou checkpoint frequentes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quais são as alternativas ao KPL e quando utilizar?

A

As alternativas ao KPL são KinesisAPI e Kinesis Agent.

A utilização do KinesisAPI é interessante quando é necessário um tempo mais rápido de processamento, visto que o KPL utiliza RecordMaxBufferdTime para enviar as mensagens em batches.

Kinesis Agent é instalado na instância EC2. Ele é capaz de monitorar arquivos, como logs e enviar novos dados para o Kinesis Stream. Ele envia métricas para o CloudWatch para ajudar com tratativas de erros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly