Dataflows de tempo real como abstração para ferramentas de processamento de Big Data

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Magano, Fernanda de Camargo
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
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: https://www.teses.usp.br/teses/disponiveis/45/45134/tde-26052020-230822/
Resumo: Grandes volumes de dados, provenientes de diversas fontes, são gerados continuamente nas cidades. O processamento e análise desses dados desempenham um papel fundamental na implementação de iniciativas para cidades inteligentes. Para processar Big Data urbano, é fundamental o uso de ferramentas de alto desempenho, que possam se beneficiar de computação paralela e distribuída para acelerar o processamento e prover respostas rápidas. Entretanto, esse uso não é trivial, pois as ferramentas, geralmente, não são interoperáveis e demandam que seus usuários tenham conhecimentos de computação paralela e distribuída e bancos de dados. Além disso, em cidades inteligentes, uma aplicação precisa ser capaz de se adaptar ao contexto atual de sua execução. Por exemplo, uma aplicação que mostra a situação atual do trânsito, em um contexto de indisponibilidade momentânea de dados coletados em tempo real, deve poder mostrar uma previsão do trânsito baseada em dados históricos, sendo necessária a combinação de processamento de dados em tempo real e em lotes. O objetivo deste trabalho é facilitar o uso de ferramentas de processamento de Big Data para desenvolvedores de software. Para isso, foi criada uma interface para especificação de workflows para o processamento de dados (ou dataflows) e um sistema de software que possibilita a execução deles em diferentes ferramentas de Big Data. Por um lado, a interface sintetiza os principais recursos dessas ferramentas, abstraindo suas especificidades e fornecendo uma representação padronizada para eles. Por outro lado, o sistema de software mapeia os dataflows definidos por meio da interface em modelos inteligíveis às ferramentas. A interface e o sistema propostos formam uma camada de abstração sobre os arcabouços de Big Data. Ambos foram validados e avaliados por meio da implementação de uma aplicação no domínio de mobilidade urbana, que processa dados reais da cidade de São Paulo. A aplicação escrita com o auxílio da interface foi analisada por meio de métricas de código-fonte. A partir da análise, foi possível concluir que houve ganhos com o uso da interface, como a redução no número de linhas, métodos, atributos, bem como a diminuição da complexidade ciclomática do código-fonte.