Skip to content

gehtmaguad/BAC1_Document_Stores

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BAC1_Document_Stores

About this Repo

  • This is the code used for my first bachelor thesis.
  • The thesis itself is written in German. It is located in the root of this project, the abstract is outlined below.

Abstract of the Thesis

This paper analyzes three DBMS, notably MongoDB, Couchbase and CouchDB. These databases are currently the most popular document stores. The DBMS are installed in an test environment and the behavior during different scenarios is measured. The results, which provide useful knowledge for possible application purposes, are compared to each other.The paper first explains the folowing characteristics: volume, velocity, variability and agility. Traditionel RDBMS don't support these characteristics very well, and therefor the developing of new systems started. Most of them are summarized as NoSQL Systems and categorized into one of four sub-categories: key-value stores, column-family stores, graph database and document stores. This paper focuses on document stores, but most of the described definitions do also fit the other sub-categories. NoSQL DBMS are based on an scale-out architecture in order to implement the mentioned characteristics. Therefor the database exists of several physical servers (mostly commodity hardware) which form a cluster. In presence of a network partition, a decision between availability and consistency needs to be made. This trade-off is definedin the CAP theorem. Furthermore PACELC also describes the trade-off between performance and consistency, which needs to be made in absence of a network partition. The necessary decisions formed the term BASE, which can be seen as a pendant to the ACID concept and which is used in most NoSQL DBMS. In order to analyze the trade-offs a software was written in Java. The software is executed during different scenarios and the performance-, consistency-, and durability behavior during the tests is recorded accordingly. The results show different performance times and inconsistencies between all nodes in the cluster and one can see that CouchDBs results are not as good as the results from MongoDB and Couchbase, which are very similiar. When simulating an error on the master server, all databases gain data loss. The data loss by CouchDB is considerably greater compared to MongoDB or Couchbase. The paper also shows the conflict management of CouchDB, which is provided in order to solve possible conflicts. This conflict may occur, and are caused by the architecture.In case of a conflict a two-step procedure marks one version as the "winning revision". To resolve the conflict a client needs to operate on the database.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages