Portierung und Analyse einer verteilten Datenbank auf einen Hochleistungscluster
- Typ:Bachelorarbeit
- Datum:04.04.2013
- Betreuung:
Prof. Dr. Frank Bellosa, Jens Kehne, Marius Hillenbrand
- Bearbeitung:Stephan Leonhard
- Links:PDF
-
Abstract:
Während der letzten Jahre gewannen verteilte Dienste zunehmend an Bedeutung, da normale Serversysteme den steigenden Teilnehmerzahlen und Datenmengen nicht mehr gewachsen sind. Anfangs wurden einzelne Server dupliziert und per Anycast angesprochen, mittlwerweile stehen ganze Rechenzentren für einzelne Dienste zur Verfügung. Werden allerdings dieselben Protokolle für die interne Knotenkommunikation auf kurze Distanzen eingesetzt, die auch zwischen gewöhnlichen Netzen im Einsatz sind, ist nur ein Teil der möglichen Leistung nutzbar. Durch passende Hardware und Software lassen sich Latenz, Durchsatz und Prozessorbelastung jedoch optimieren.
Das Anwendungsgebiet der verteilten Datenbanken ist im Web 2.0 besonders durch NoSQL Datenbanken interessant geworden, da sie eine natürlichere Modellierung der Daten erlauben als mit relationalen Datenbanken. Mit Google und Amazon als Vorbild, gibt es bereits zahlreiche dokumentenorientierte Open-Source Datenbanken. MongoDB ist dabei eine der verbreitetsten und bekannt für ihre Schnelligkeit und Skalierbarkeit. LibRIPC ist dagegen eine nachrichtenbasierte Kommunikationsbibliothek, die einen einfachen Zugriff auf die RDMAFunktionen von Infiniband ermöglicht, einer Hochgeschwindigkeitsübertragungstechnologie. Wir glauben, dass sich diese beiden Technologien nutzbar miteinander vereinen lassen, um eine verteilte Datenbank effizient auf einem Clustersystem betreiben zu können.
In der vorliegenden Arbeit beschreiben wir daher die Portierung von MongoDB nach libRIPC, wodurch es ermöglicht wird, MongoDB in einem Infiniband-Netzwerk zu betreiben, ohne auf die Nachteile von IPoIB angewiesen zu sein.Wir haben unsere Portierung hinsichtlich Latenz, Durchsatz und Prozessorbelastung sowohl im Labor, als auch unter realen Bedingungen getestet. Dadurch können wir aufzeigen, in welchen Fällen die Vorteile durch libRIPC besonders ausgeprägt sind.
BibTex:
@mastersthesis{leonhard13verteiltedatenbank,
author = {Stephan Leonhard},
title = {Portierung und Analyse einer verteilten Datenbank auf einen Hochleistungscluster},
type = {Bachelor Thesis},
school = {System Architecture Group, Karlsruhe Institute of Technology (KIT), Germany},
month = apr # "4",
year = 2013,
note = {\url{http://os.ibds.kit.edu/}}
}