Authors:
Caio H. Costa
;
João Vianney B. M. Filho
;
Paulo Henrique M. Maia
and
Francisco Carlos M. B. Oliveira
Affiliation:
Universidade Estadual do Ceara, Brazil
Keyword(s):
Database Sharding, Hash Partitioning, Pattern, Scalability.
Related
Ontology
Subjects/Areas/Topics:
Databases and Information Systems Integration
;
Distributed Database Systems
;
Enterprise Information Systems
;
Guidelines, Principles, Patterns and Standards
;
Human-Computer Interaction
;
Information Systems Analysis and Specification
;
Modeling of Distributed Systems
;
Software Engineering
Abstract:
With the beginning of the 21st century, web applications requirements dramatically increased in scale. Applications like social networks, ecommerce, and media sharing, started to generate lots of data traffic, and companies started to track this valuable data. The database systems responsible for storing all this information had to scale in order to handle the huge load. With the emergence of cloud computing, scaling out a database system has became an affordable solution, making data sharding a viable scalability option. But to benefit from data sharding, database designers have to identify the best manner to distribute data among the nodes of shared cluster. This paper discusses database sharding distribution models, specifically a technique known as hash partitioning. Our objective is to catalog in the format of a Database Scalability Pattern the best practice that consists in sharding the data among the nodes of a database cluster using the hash partitioning technique to nicely b
alance the load between the database servers. This way, we intend to make the mapping between the scenario and its solution publicly available, helping developers to identify when to adopt the pattern instead of other sharding techniques.
(More)