Deduplicação de dados não-estruturados de processos streaming em tempo real
Ano de defesa: | 2021 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências::Instituto de Matemática e Estatística Brasil UERJ Programa de Pós-Graduação em Ciências Computacionais |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | http://www.bdtd.uerj.br/handle/1/20124 |
Resumo: | A duplicação de dados é um problema comum em aplicações de processamento contínuo de dados, que pode ocorrer devido aos erros de software ou à adoção de medidas de prevenção de perda de dados, esse problema é usualmente tratado após a ingestão dos dados de um repositório, seja por um processo auxiliar ou pelas próprias análises sobre os dados desconsiderarem duplicatas. Entretanto, com a necessidade de análises feitas o mais próximo do momento da criação de um dado e no menor tempo possível, ambas abordagens se tornam insuficientes para atender a ambos os requisitos, sendo necessário que a deduplicação ocorra em tempo de ingestão. Este trabalho explora métodos podem ser utilizados com a biblioteca Apache Spark para tratar a deduplicação de dados em tempo real, analisando o uso de recursos e o tempo de entrega de cada método e identificando seus casos de usos. E investiga operadores de deduplicação nativos do Apache Spark (distinct e dropDuplicates) e ferramentas auxiliares (RocksDB, Apache Ignite e Apache Hudi), que fornecem mecanismos de deduplicação de dados e tolerância a falhas a aplicação. Os resultados experimentais mostram que há um aumento no tempo de entrega dos dados ao utilizar mecanismos externos, mas que estes mecanismos se tornam primordiais para que um processo de ingestão garanta que não haja a perda dos dados utilizados durante a deduplicação, garantindo que nenhuma duplicata seja persistida. Além disso, outros fatores influenciam a escolha do melhor método de deduplicação, como o uso de recursos computacionais e o tamanho dos dados persistidos |