Avaa tiedosto

Metadata

Tiivistelmä

The purpose of this study was to research idea and functionality of clustered database systems. Since relational databases started to lose their functionality in modern data size and manipulation a new solution had to be found to overcome the limitations. On one side the relational databases started to support clustered implementations, which made the database more reliable and helped to achieve better performance. On the other side, a totally new data store structure came with NoSQL movement. From the beginning NoSQL was developed as a system which can be spread across multiple servers therefore it supports clustering in its structure.

Another aim of the study was to give ideas and guidance for OSA project. It is an Open Source Archive project carried in MAMK, which goal is to create a functional long term data store – dark archive with open source tools. For the project this thesis presents guidance for building and designing clustered database system.

The thesis research was carried out with practical implementation of different clustered solutions. There have been viewed and analysed four different systems presenting SQL and NoSQL cluster types. From relational databases MariaDB Replication and Galera clusters were built and for NoSQL side document-oriented MongoDB Replica Set and Sharded cluster. All the systems for testing and evaluation have been built independently from their initial state. Tests were mainly focused on cluster implementation, failover solution, availability, backup system and performance.

The results of the project have shown that clustered database proves to be a way for a system to support massive data, high user access and data recovery. Although in an open source environment building and configuring a cluster can bring challenges and take time to implement it.

This work has cleared out some points for MariaDB and MongoDB clusters implementation solutions. However there lots more elements to consider for cluster building and in future for NoSQL into SQL implementation.