| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 4.59 MB | Adobe PDF |
Advisor(s)
Abstract(s)
In the contemporary software landscape, the sheer surge in data generation underscores the necessity for scalable database architectures. Monolithic databases, while known for their robust consistency, often underperform when facing escalating workloads and growing user bases. Sharding—the partitioning of data across multiple nodes—has consequently become an essential architectural approach, facilitating horizontal scalability to meet these demands. This dissertation offers an exploratory, tutorial-oriented analysis of sharding, with attention to its implementation in both relational and non-relational databases. Rather than focusing on empirical performance testing, the study consolidates insights from existing research and practice to explain how sharding strategies can be designed and applied in different domains. Using PostgreSQL and MongoDB as reference technologies, the work outlines how sharding is implemented, the trade-offs it introduces, and the factors influencing the choice of shard key. The dissertation presents sharding as a group of design choices rather than just a technical mechanism. In doing so, it offers a structured framework intended for developers, architects, and researchers. It underscores the significance of aligning sharding approaches with the specific data access patterns of a given domain, while also recognizing the abstractions present in contemporary distributed database systems.
No panorama contemporâneo do software, o elevado crescimento da geração de dados sublinha a necessidade de arquiteturas de bases de dados escaláveis. As bases de dados monolíticas, embora conhecidas pela sua consistência robusta, frequentemente apresentam desempenho inferior face a cargas de trabalho crescentes e ao aumento do número de utilizadores. O sharding — a partição de dados através de múltiplos nós — tornou-se, consequentemente, uma abordagem arquitetural essencial, facilitando a escalabilidade horizontal para responder a estas exigências. Esta dissertação oferece uma análise exploratória, com orientação tutorial, sobre o sharding, com atenção à sua implementação em bases de dados relacionais e não relacionais. Em vez de se centrar em testes de desempenho empíricos, o estudo consolida os conhecimentos existentes da investigação e da prática para explicar como as estratégias de sharding podem ser desenhadas e aplicadas em diferentes domínios. Utilizando o PostgreSQL e o MongoDB como tecnologias de referência, o trabalho descreve como o sharding é implementado, os compromissos que introduz e os fatores que influenciam a escolha da shard key. A dissertação apresenta o sharding como um conjunto de escolhas de design, e não apenas como um mecanismo técnico. Ao fazê-lo, oferece uma estrutura organizada destinada a desenvolvedores, arquitetos e investigadores. Sublinha a importância de alinhar as abordagens de sharding com os padrões de acesso a dados específicos de um determinado domínio, ao mesmo tempo que reconhece as abstrações presentes nos sistemas de bases de dados distribuídas contemporâneos.
No panorama contemporâneo do software, o elevado crescimento da geração de dados sublinha a necessidade de arquiteturas de bases de dados escaláveis. As bases de dados monolíticas, embora conhecidas pela sua consistência robusta, frequentemente apresentam desempenho inferior face a cargas de trabalho crescentes e ao aumento do número de utilizadores. O sharding — a partição de dados através de múltiplos nós — tornou-se, consequentemente, uma abordagem arquitetural essencial, facilitando a escalabilidade horizontal para responder a estas exigências. Esta dissertação oferece uma análise exploratória, com orientação tutorial, sobre o sharding, com atenção à sua implementação em bases de dados relacionais e não relacionais. Em vez de se centrar em testes de desempenho empíricos, o estudo consolida os conhecimentos existentes da investigação e da prática para explicar como as estratégias de sharding podem ser desenhadas e aplicadas em diferentes domínios. Utilizando o PostgreSQL e o MongoDB como tecnologias de referência, o trabalho descreve como o sharding é implementado, os compromissos que introduz e os fatores que influenciam a escolha da shard key. A dissertação apresenta o sharding como um conjunto de escolhas de design, e não apenas como um mecanismo técnico. Ao fazê-lo, oferece uma estrutura organizada destinada a desenvolvedores, arquitetos e investigadores. Sublinha a importância de alinhar as abordagens de sharding com os padrões de acesso a dados específicos de um determinado domínio, ao mesmo tempo que reconhece as abstrações presentes nos sistemas de bases de dados distribuídas contemporâneos.
Description
Keywords
Sharding de bases de dados Bases de dados relacionais Bases de dados não relacionais Escalabilidade de dados Bases de dados distribuídas
