Dissertação

{en_GB=Comparing software stacks for Big Data batch processing} {} EVALUATED

{pt=O progresso da tecnologia tem levado as empresas a produzir grandes volumes de dados em formatos variados, a que se convencionou chamar Big Data. Ao mesmo tempo, para tomar as melhores decisões de negócio, as empresas necessitam de obter informação de forma mais rápida. Alguns exemplos de sistemas open-source usados para processar Big Data incluem o Hadoop, Hive, Spark e Flink. No entanto, estes sistemas dependem de pilhas de software complexas, o que diminui a eficiência de processamento. Uma das abordagens para resolver este problema consiste em remover camadas de software e produzir um sistema que fornece as mesmas funcionalidades. O Unicage é um sistema comercial baseado em Unix shell scripting que segue esta abordagem, prometendo melhor desempenho para processamento de dados. O objectivo deste trabalho foi a analisar e avaliar o desempenho do sistema Unicage, quando comparado a outros sistemas de processamento, nomeadamente o Hadoop e o Hive. Propomos e produzimos uma benchmark, a que chamámos LeanBench, que permitiu realizar vários testes de forma a clarificar se a complexidade de pilhas de software é ou não de facto um factor significativo no desempenho de processamento de Big Data. Esta benchmark inclui workloads típicas de processamento, compostas por várias operações, executadas de forma comparável em cada um dos sistemas. Os testes realizados permitiram concluir que todos os sistemas apresentam vantagens e desvantagens, e que a escolha do melhor sistema está dependente do tipo de tarefa de processamento., en=The recent Big Data trend leads companies to produce large volumes and many varieties of data. At the same time, companies need to access data fast, so they can make the best business decisions. Some examples of open-source systems that are used for processing data are Hadoop, Hive, Spark and Flink. However, these systems rely on complex software stacks, which makes processing less efficient. One approach to solve this problem is to remove many layers of software and attempt to provide the same functionality with a leaner system that does not rely on complex software stacks. This is the value proposition of Unicage, a commercial system based on Unix shell scripting, that promises better performance. The goal of our work was to analyse and evaluate the performance of Unicage when compared to other data processing systems, such as Hadoop and Hive. We propose LeanBench, a benchmark that covers relevant workloads composed by multiple operations, and executes operations on the various processing systems in a comparable way. Multiple tests have been performed using this benchmark, which helped to clarify if the complexity of the software stacks is indeed a significant bottleneck in data processing. The tests have allowed to conclude that all systems have advantages and disadvantages, and the best processing system choice heavily depends on the type of processing task. }
{pt=Dados de grande volume, Comparação de desempenho, Processamento de dados, Pilhas de software, Apache Hadoop, Unicage, en=Big Data, Benchmarking, Data Processing, Software Stacks, Apache Hadoop, Unicage}

Novembro 10, 2017, 13:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Helena Isabel De Jesus Galhardas

Departamento de Engenharia Informática (DEI)

Professor Auxiliar

ORIENTADOR

Miguel Filipe Leitão Pardal

Departamento de Engenharia Informática (DEI)

Professor Auxiliar