Name: | Description: | Size: | Format: | |
---|---|---|---|---|
5.91 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
O processamento de dados em batch tem sido um paradigma no âmbito do Big Data, para a análise de grandes quantidades de dados de forma a permitir a transformação e a extracção de conhecimento nos mais variados casos de uso. Este paradigma, de uma forma geral, pode não ser o suficiente quando se pretende que os dados sejam processados o mais rapidamente possível de forma a se adaptarem e reagirem a alterações nos processos de análise dos dados e extracção de valor, uma vez que isto implica que sejam
acumuladas grandes quantidades de dados ao longo do tempo, e só depois é que estes dados são enviados para serem processados, fazendo com que gerem enormes latências na obtenção de resultados. Neste trabalho são apresentados conceitos sobre processamento de dados em stream, juntamente com a análise de três sistemas de processamento de dados, nomeadamente Apache Storm, Apache Flink e Apache Kafka. De
seguida, é apresentada uma proposta de arquitectura desenvolvida de forma a poder avaliar o desempenho de cada sistema e uma topologia de processamento de dados em stream, Gira Travels Pattern. Adicionalmente é proposto uma forma de automatizar o aprovisionamento da infraestrutura em clouds públicas e a instalação de cada sistema de processamento de dados. Segue-se o desenvolvimento da topologia nos sistemas deste trabalho, usando as interfaces de programação de aplicações Spouts & Bolts, DataStream e Streams Domain-Specific Language, respectivamente, realizando uma análise de esforço de desenvolvimento. Por último, esta topologia é executada nos sistemas para obter resultados sobre o desempenho, com base em métricas de latência de tempo de evento e de processamento, uso de CPU, uso de memória e tráfego (transmissão e recepção de pacotes).
Batch data processing has been a paradigm, within the scope of Big Data for the analysis of large amounts of data in order to allow the transformation and extraction of knowledge in the most varied use cases. This paradigm, in general, may not be enough when you want the data to be processed as quickly as possible in order to adapt and react to changes in the data analysis and value extraction processes, since this implies that large amounts of data are accumulated over time, and only after that this data is sent to be processed, causing them to generate huge latencies in obtaining results. In this project some concepts about data processing in stream are presented, together with the analysis of three data processing systems, namely Apache Storm, Apache Flink and Apache Kafka. Then, an architecture proposal developed in order to evaluate how these systems are installed in an infrastructure in public clouds, and a topology of stream data processing, Gira Travels Pattern, is presented. Additionally it is proposed a way to automate the provisioning of the infrastructure in public clouds and the installation of each data processing system. Then, the topology is developed in the systems of this project, using the Spouts & Bolts, DataStream and Streams Domain-Specific Language application programming interfaces , respectively, performing a development effort analysis. Finally, this topology is executed in the systems to obtain performance results, based on metrics of event and processing time latency, CPU usage, memory usage and traffic (packet transmission and reception).
Batch data processing has been a paradigm, within the scope of Big Data for the analysis of large amounts of data in order to allow the transformation and extraction of knowledge in the most varied use cases. This paradigm, in general, may not be enough when you want the data to be processed as quickly as possible in order to adapt and react to changes in the data analysis and value extraction processes, since this implies that large amounts of data are accumulated over time, and only after that this data is sent to be processed, causing them to generate huge latencies in obtaining results. In this project some concepts about data processing in stream are presented, together with the analysis of three data processing systems, namely Apache Storm, Apache Flink and Apache Kafka. Then, an architecture proposal developed in order to evaluate how these systems are installed in an infrastructure in public clouds, and a topology of stream data processing, Gira Travels Pattern, is presented. Additionally it is proposed a way to automate the provisioning of the infrastructure in public clouds and the installation of each data processing system. Then, the topology is developed in the systems of this project, using the Spouts & Bolts, DataStream and Streams Domain-Specific Language application programming interfaces , respectively, performing a development effort analysis. Finally, this topology is executed in the systems to obtain performance results, based on metrics of event and processing time latency, CPU usage, memory usage and traffic (packet transmission and reception).
Description
Dissertação para obtenção do Grau de Mestre em Engenharia Informática e de Computadores
Keywords
Arquitecturas distribuídas Fluxos de dados Publish-subscribe / Arquitecturas baseadas em eventos Linguagens de programação geral Linguagens de programação distribuídas Distributed architectures Data streams Publish-subscribe / Event-Based architectures General programming languages Distributed programming languages
Citation
GARCIA, Rúben Ribeiro – Infraestruturas e modelos de programação para análise de dados em Stream. Lisboa: Instituto Superior de Engenharia de Lisboa, 2020. Dissertação de Mestrado.
Publisher
Instituto Superior de Engenharia de Lisboa