Skip to main content

2016 | Buch

Entwicklung eines skalierbaren und verteilten Datenbanksystems

Auf Basis von Apache Cassandra und SECONDO

insite
SUCHEN

Über dieses Buch

Jan Kristof Nidzwetzki hat in seiner Masterarbeit ein erweiterbares Datenbanksystem mit einem hochverfügbaren Key-Value-Store gekoppelt und untersucht, wie sich die Vorteile beider Systeme kombinieren lassen. Im Gegensatz zu Datenbanksystemen skalieren Key-Value-Stores sehr gut, bieten jedoch nur sehr einfache Operationen für die Abfrageauswertung an. Durch die Kopplung ergibt sich ein skalierbares, ausfallsicheres System, das in der Lage ist, beliebige Updateraten zu unterstützen und auf den gespeicherten Daten komplexe Abfragen auszuführen.

Inhaltsverzeichnis

Frontmatter
1. Einleitung
Zusammenfassung
Das aktuelle Jahrzehnt wird als Zeitalter der Daten bezeichnet [Whi09, S. 1]. Die Menge der weltweit existierenden Daten ist in den letzten Jahren stark angewachsen. Eine Studie des amerikanischen Marktforschungsunternehmens IDC (International Data Corporation) prognostiziert, dass das Digitale Universum in der Zeit von 2005 bis 2020 von 130 Exabytes auf 40 000 Exabytes anwachsen wird [GR12]. Pro Kopf würden im Jahr 2020 somit ca. 5 200 Gigabyte Daten gespeichert.
Jan Kristof Nidzwetzki
2. Grundlagen
Zusammenfassung
Datenbankmanagementsysteme werden heutzutage von fast jeder größeren Software zur Datenhaltung genutzt. Aus Sicht der Software ist es wünschenswert, dass das DBMS jederzeit erreichbar ist (Verfügbarkeit) und auch bei wachsenden Datenbeständen schnell die angefragten Informationen liefert (Systemleistung und Skalierbarkeit). Um diese Ziele zu erreichen, bietet es sich an, das DBMS über mehrere Systeme (Nodes / Knoten) zu verteilen. Hierbei spricht man von einem verteilten Datenbankmanagementsystem (VDBMS).
Jan Kristof Nidzwetzki
3. Datenströme
Zusammenfassung
Im Rahmen dieser Arbeit wurde der in Secondo enthaltene Operator csvimport so erweitert, dass dieser auch Datenströme verarbeiten kann. Dieses Kapitel beschäftigt sich zunächst mit einigen grundlegenden Betrachtungen zur Verarbeitung von Datenströmen. Anschließend wird auf das Verteilen von Datenströmen über mehrere Systeme und auf die Benutzung des Operators csvimport eingegangen.
Jan Kristof Nidzwetzki
4. Kopplung von SECONDO mit Cassandra
Zusammenfassung
In diesem Kapitel wird die Kopplung von Secondo mit Cassandra beschrieben. Hierzu wurde eine Algebra mit 13 Operatoren entwickelt. Zunächst werden diese Operatoren vorgestellt, anschließend werden Details der Implementierung erläutert.
Jan Kristof Nidzwetzki
5. Verteilte Abfrageauswertung
Zusammenfassung
Durch Cassandra werden die im logischen Ring gespeicherten Daten über mehrere Systeme verteilt. In diesem Kapitel werden Möglichkeiten vorgestellt, diese verteilten Daten parallel von mehreren Secondo-Instanzen auswerten zu lassen. Als Secondo-Instanz oder auch Secondo-Knoten wird im Folgenden ein System bezeichnet, auf welchem Secondo installiert ist.
Jan Kristof Nidzwetzki
6. Fallstudien
Zusammenfassung
In diesem Kapitel werden drei Fallstudien vorgestellt, in welchen die in dieser Arbeit entwickelten Komponenten eingesetzt werden. Die erste Fallstudie beschäftigt sich mit der Aufzeichnung und Auswertung von Positionsdaten mehrerer GPS-Empfänger. Die zweite Fallstudie beschäftigt sich mit der Analyse des Logfiles eines Webservers. In der dritten Fallstudie wird ein Join mit räumlichen (spatial) Daten parallelisiert.
Jan Kristof Nidzwetzki
7. Experimente
Zusammenfassung
Es wurden Experimente durchgeführt, um das Verhalten der entwickelten Komponenten zu untersuchen. Diese Experimente werden im Folgenden vorgestellt. In den ersten Abschnitten dieses Kapitels wird die Umgebung der Experimente beschrieben. Anschließend werden Experimente zum Verarbeiten von Tupelströmen vorgestellt. In den letzten Abschnitten dieses Kapitels finden sich Experimente zur verteilten Abfrageauswertung.
Jan Kristof Nidzwetzki
8. Zusammenfassung und Ausblick
Zusammenfassung
In dieser Arbeit wurde das Datenbanksystem Secondo um die Möglichkeit erweitert, Datenströme zu verarbeiten. Hierzu wurde der Operator csvimport so modifiziert, dass dieser Daten von einem Netzwerksocket lesen kann. Zusätzlich wurde ein Loadbalancer entwickelt, welcher es erlaubt, Datensströme auf mehrere Systeme zu verteilen.
Jan Kristof Nidzwetzki
Backmatter
Metadaten
Titel
Entwicklung eines skalierbaren und verteilten Datenbanksystems
verfasst von
Jan Kristof Nidzwetzki
Copyright-Jahr
2016
Electronic ISBN
978-3-658-12444-1
Print ISBN
978-3-658-12443-4
DOI
https://doi.org/10.1007/978-3-658-12444-1