| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 4.85 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
This dissertation investigates the performance and energy consumption tradeoffs in Java applications using relational and non-relational database technologies. With the increasing complexity and volume of data, the selection of an appropriate database system has become a critical decision for developers and system architects. Traditional relational databases such as PostgreSQL are known for their reliability and efficiency in structured data and complex queries, while non-relational databases like MongoDB and Apache Cassandra provide greater flexibility and scalability for handling unstructured or large datasets. The study adopts a rigorous methodology combining a literature review and controlled experiments to analyse three core aspects: the impact of the database type on performance and energy consumption in different database operations, the benefits of query optimisation techniques such as indexing, and the role of data volume in system efficiency. Multiple test
scenarios were designed and executed using tools such as Grafana k6 and Kepler to measure relevant performance and energy metrics. The results confirm that no single solution fits all cases. While relational databases perform better in consistency-heavy select operations and structured query workloads, non-relational
systems offer superior scalability and responsiveness in high-throughput or large-scale data environments. Additionally, the use of optimisation strategies was shown to significantly improve both energy efficiency and performance across database types. These findings highlight the importance of aligning database technologies with application-specific requirements to achieve energy-aware and performance-optimised solutions.
Esta dissertação investiga os compromissos da performance e consumo de energia em aplicações Java que utilizam tecnologias de bases de dados relacionais e não relacionais. Com o aumento da complexidade e do volume de dados, a seleção de um sistema de base de dados adequado tornou-se uma decisão crítica para os programadores e arquitetos de sistemas. As bases de dados relacionais, como o PostgreSQL, destacam-se pelo bom desempenho na manipulação de dados organizados e em operações de consulta sofisticadas. Ao contrário das não relacionais como o MongoDB e o Apache Cassandra que são mais indicadas para contextos que exigem elevada escalabilidade e maior adaptabilidade no tratamento de grandes volumes de dados ou informações com estrutura menos definida. O estudo adota uma metodologia rigorosa que combina uma revisão da literatura e experiências controladas para analisar três aspetos fundamentais: o impacto do tipo de base de dados no desempenho e no consumo de energia em diferentes operações da base de dados, os benefícios das técnicas de otimização de consultas, como a indexação, e o papel do volume de dados na eficiência do sistema. Foram concebidos e executados vários cenários de teste utilizando ferramentas como o Grafana k6 e o Kepler para medir métricas de desempenho e energia relevantes. Os resultados confirmam que não existe uma solução única para todos os casos. Embora as bases de dados relacionais tenham um melhor desempenho em operações de consulta com um volume de dados elevado e cargas de trabalho de consulta estruturadas, os sistemas não relacionais oferecem escalabilidade e capacidade de resposta superiores em ambientes de dados de alto rendimento ou em grande escala. Além disso, foi observado que a utilização de estratégias de otimização melhora significativamente a eficiência energética e o desempenho em todos os tipos de bases de dados. Estas conclusões sublinham a importância de alinhar as tecnologias de bases de dados com os requisitos específicos das aplicações para obter soluções otimizadas em termos de energia e de desempenho.
Esta dissertação investiga os compromissos da performance e consumo de energia em aplicações Java que utilizam tecnologias de bases de dados relacionais e não relacionais. Com o aumento da complexidade e do volume de dados, a seleção de um sistema de base de dados adequado tornou-se uma decisão crítica para os programadores e arquitetos de sistemas. As bases de dados relacionais, como o PostgreSQL, destacam-se pelo bom desempenho na manipulação de dados organizados e em operações de consulta sofisticadas. Ao contrário das não relacionais como o MongoDB e o Apache Cassandra que são mais indicadas para contextos que exigem elevada escalabilidade e maior adaptabilidade no tratamento de grandes volumes de dados ou informações com estrutura menos definida. O estudo adota uma metodologia rigorosa que combina uma revisão da literatura e experiências controladas para analisar três aspetos fundamentais: o impacto do tipo de base de dados no desempenho e no consumo de energia em diferentes operações da base de dados, os benefícios das técnicas de otimização de consultas, como a indexação, e o papel do volume de dados na eficiência do sistema. Foram concebidos e executados vários cenários de teste utilizando ferramentas como o Grafana k6 e o Kepler para medir métricas de desempenho e energia relevantes. Os resultados confirmam que não existe uma solução única para todos os casos. Embora as bases de dados relacionais tenham um melhor desempenho em operações de consulta com um volume de dados elevado e cargas de trabalho de consulta estruturadas, os sistemas não relacionais oferecem escalabilidade e capacidade de resposta superiores em ambientes de dados de alto rendimento ou em grande escala. Além disso, foi observado que a utilização de estratégias de otimização melhora significativamente a eficiência energética e o desempenho em todos os tipos de bases de dados. Estas conclusões sublinham a importância de alinhar as tecnologias de bases de dados com os requisitos específicos das aplicações para obter soluções otimizadas em termos de energia e de desempenho.
Description
Keywords
Java Performance Energy Relational Databases Non-relational Databases SQL NoSQL Energia Bases de dados relacionais Bases de dados não relacionais
