Bachelorarbeit, 2018
82 Seiten, Note: 2,3
1 Einleitung
1.1 Motivation und Ziele der Arbeit
1.2 Abgrenzung
1.3 Aufbau und Struktur der Arbeit
2 Grundlagen
2.1 Online Transaction Processing (OLTP)
2.2 Konsistenzkonzepte
2.2.1 CAP-Theorem
2.2.2 BASE
2.2.3 ACID
2.3 NoSQL
2.3.1 Cassandra
2.3.2 MongoDB
2.4 Oracle DB Grundlagen
2.4.1 Oracle Global Data Services
2.4.2 Connection Pools
2.5 Sharding
2.5.1 Definition Sharding
2.5.2 Definition Skalierbarkeit
2.5.3 Architektur Oracle Sharding
2.5.4 Oracle Sharding Datenmodell und Applikationsanforderungen
2.5.5 Lizenzen
2.6 Oracle Real Application Cluster (RAC)
2.6.1 Architektur
3 Oracle Sharding
3.1 Vorbereitung
3.1.1 Vorbereitung der Applikation
3.1.2 Vorbereitung Hardware/Deployment
3.2 Aufbau einer Sharding Umgebung
3.2.1 Installation/Einrichtung
3.2.2 Erstellen der Sharded Database (SDB)
3.2.3 Erstellen des Schemas der SDB
3.3 Vergleich mit RAC unter verschiedenen Kriterien
3.3.1 Evaluieren der Kriterien
3.3.2 Architektur
3.3.3 Kompatibilität
3.3.4 Hochverfügbarkeit
3.3.5 Skalierbarkeit
3.3.6 Datenverteilung
3.3.7 Total Cost of Ownership
3.3.8 CAP-Theorem
3.3.9 Fazit
3.4 Vergleich mit NoSQL unter verschiedenen Kriterien
3.4.1 Evaluieren der Kriterien
3.4.2 Architektur
3.4.3 Skalierbarkeit
3.4.4 ACID
3.4.5 Relationale Abfragen/SQLs
3.4.6 Replikation/Hochverfügbarkeit
3.4.7 CAP-Theorem
3.4.8 Total Cost of Ownership
3.5 Entscheidungsmatrix
4 Schlussbetrachtung
4.1 Zusammenfassung
4.2 Fazit
4.3 Ausblick
Diese Arbeit analysiert das Konzept und die Einsatzmöglichkeiten von Oracle Sharding zur horizontalen Skalierung relationaler Datenbanken im OLTP-Umfeld. Ziel ist es, die Vorteile des Features zu erarbeiten, eine Sharding-Umgebung exemplarisch aufzubauen und die Technologie in einer Entscheidungsmatrix mit dem Oracle Real Application Cluster (RAC) sowie den NoSQL-Lösungen Cassandra und MongoDB zu vergleichen.
2.5.1 Definition Sharding
Sharding ist eine Methode der Datenbankpartitionierung. Dabei werden die Daten horizontal partitioniert auf mehrere Server. Das bedeutet jeder Server hat seinen eigenen Teil der Daten. Die Partition wird Shard genannt. Ein Shard ist also eine unabhängige Datenbank, welche auf einem Datenbank Server gehostet ist. Die Datenbank hat dementsprechend ihre eigenen Ressourcen (CPU, Speicher, etc.). Sie ist Teil eines Verbunds bzw. einer Sammlung von mehreren Datenbanken, die zusammen eine logische Datenbank darstellen. Durch das Aufteilen der Daten auf verschiedene Server wird die Last reduziert. Zudem wird der Single-Point-of-Failure (der einzelne Server mit allen Daten) eliminiert. Dabei ist das Schema der Shards immer das Gleiche, nur der Datenbestand ist unterschiedlich. Jedoch gibt es ebenfalls Szenarien, bei denen redundante Daten auf den Shards vorhanden sind. Das ist der Fall, wenn es bestimmte Daten/Datensätze gibt, die oft benötigt werden. Für diese Daten/Datensätze ist es sinnvoll sie redundant zu halten. Eine Abfrage eines weiteren Shards ist deutlich „kostenintensiver“, als minimal mehr Speicherplatzverbrauch. Die Vorteile des Shardings sind:
Hochverfügbarkeit: Das Eliminieren des Single-Point-of-Failure (SPOF) ermöglicht es Anfragen an alle Shards zu stellen, unabhängig davon ob ein anderer Shard ausgefallen ist
Verkürzung der Antwortzeiten: Durch das Aufteilen der Last auf mehrere Maschinen und das Aufteilen der Daten wird die Antwortzeit deutlich herabgesetzt
Erhöhte Write-Leistung: Das Aufteilen ermöglicht es Änderungen parallel auf jedem einzelnen Shard durchzuführen
1 Einleitung: Dieses Kapitel motiviert die Arbeit, definiert das Ziel der Analyse von Oracle Sharding und grenzt den Themenbereich von anderen Technologien und Drittanbietern ab.
2 Grundlagen: Hier werden zentrale theoretische Konzepte wie OLTP, das CAP-Theorem, ACID-Eigenschaften, NoSQL-Datenbanken, sowie die spezifischen Oracle-Technologien RAC und Sharding erläutert.
3 Oracle Sharding: Dieser Hauptteil beschreibt die Vorbereitung, den technischen Aufbau einer Sharding-Umgebung und führt einen detaillierten Vergleich zu Oracle RAC sowie NoSQL-Datenbanken durch.
4 Schlussbetrachtung: Das Abschlusskapitel fasst die Ergebnisse der Arbeit zusammen, zieht ein Fazit über die Eignung von Oracle Sharding und gibt einen Ausblick auf die zukünftige Entwicklung.
Oracle Sharding, horizontale Skalierung, OLTP, Oracle RAC, NoSQL, Cassandra, MongoDB, Datenbankpartitionierung, Shard Catalog, Global Data Services, ACID, CAP-Theorem, Hochverfügbarkeit, Lastverteilung, Datenbankadministration
Die Arbeit untersucht das Oracle-Feature „Sharding“ zur horizontalen Skalierung relationaler Datenbanken und analysiert dessen Potenzial und Einsatzszenarien im Vergleich zu anderen Technologien.
Die zentralen Themen sind die Architektur verteilter Datenbanksysteme, die Implementierung von Sharding, der Vergleich mit Oracle RAC sowie der Abgleich mit NoSQL-Konzepten wie Cassandra und MongoDB.
Das Hauptziel ist die Erstellung einer Entscheidungsmatrix, die Entscheidern und Datenbankadministratoren hilft, die Einsatzmöglichkeiten von Oracle Sharding fundiert zu beurteilen.
Die Arbeit nutzt eine literaturbasierte Analyse und einen technischen Vergleich der Datenbankarchitekturen, ergänzt durch eine praktische Dokumentation des Aufbaus einer Sharding-Umgebung.
Der Hauptteil befasst sich detailliert mit den Anforderungen an Applikationen und Hardware, der Schritt-für-Schritt-Installation und Konfiguration einer Sharded Database sowie einem umfassenden technologischen Vergleich.
Wichtige Begriffe sind Oracle Sharding, Skalierbarkeit, Hochverfügbarkeit, ACID, OLTP und der Vergleich zwischen relationalen und NoSQL-Datenbanken.
Das CAP-Theorem dient als theoretischer Rahmen, um die Kompromisse zwischen Konsistenz, Verfügbarkeit und Partitionstoleranz bei den untersuchten verteilten Datenbanken einzuordnen.
Während Oracle RAC auf einem Shared-Everything-Ansatz basiert, nutzt Oracle Sharding eine Shared-Nothing-Architektur, bei der die Datenbank horizontal in unabhängige, partitionierte Shards aufgeteilt wird.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

