Vergleich und Evaluation zwischen modernen und traditionellen Datenbankkonzepten unter den Gesichtspunkten Skalierung, Abfragemöglichkeit und Konsistenz (eBook)
86 Seiten
Diplomica Verlag
978-3-8428-0679-5 (ISBN)
speichern und auszulesen. Im Vergleich zu modernen Konzepten können relationale Datenbanken als wichtigster Stellvertreter für "traditionelle Technologien'' bezeichnet werden. Wenn man als Entwickler zu Seiten wie Google.com, Facebook.com, Amazon.com, Digg.com, Ebay.com, Yahoo.com, Twitter.com oder Dawanda.com surft, wird meist angenommen, dass eine verteilte relationale Datenbank verwendet wird. Die Annahme ist zu 50% richtig, jedoch ist die Datenhaltung meist nicht relational. Diese Großunternehmen verwalten mehrere hundert Gigabytes, bis hin zu 100.000 Gigabyte an Daten, und mussten in den letzten sechs Jahren Lösungen finden, um erfolgreich diese riesigen Datenmengen zu beherrschen. Google erfand vor ca. sieben Jahren ein Verfahren, um Datenmengen im Petabytebereich zu beherrschen. Facebook entwickelte selbst eine Datenbanktechnologie, um die Posteingänge von Benutzern verfügbar zu machen, Twitter.com adaptiert diese Technologie für andere Zwecke. Amazon.com entwickelte "Dynamo'', um Hochverfügbarkeit für deren weltgrößte E-Commerce Plattform zu schaffen. Diese und andere Eigenentwicklungen entstanden aus der Notwendigkeit heraus, riesige Datenmengen bzw. Datenbanken hoch verfügbar, konsistent und skalierbar zu machen.
Seit den letzten drei Jahren sind alternative "Open-Source-Implementierungen'' dieser Entwicklungen entstanden. Die Veröffentlichung der Konzepte und Technologien führten zu einer ganzen Bewegung namens "NoSQL''. Sind diese Konzepte vorteilhafter, um eine bessere und für Entwickler einfachere Skalierung, Abfragemöglichkeit und Datenkonsistenz in einem hochverfügbaren Datenbanksystem, zu gewährleisten? Wie werden komplexe Abfragen in modernen und traditionellen verteilten Systemen gemacht und wie werden diese ausgeführt? Speziell stellt sich die Frage, ob das MapReduce Verfahren ein vollständiger Ersatz für SQL ist. Für welche Einsatzzwecke sind beide besonders gut geeignet und für welche weniger?
Ausgewählte Konzepte moderner, verteilter Datenbanksysteme sind zentrale Bestandteile dieser Arbeit. Dazu werden die Eigenschaften Verfügbarkeit, Konsistenz und Skalierbarkeit in den verteilten Systemen ausführlicher beschrieben, um zu analysieren, ob gegenüber relationalen Datenbanken Vorteile und Nachteile dieser Eigenschaften existieren. Ergebnisse dieser Aufgabenstellung sollen Chancen und Risiken von modernen Datenbanken aufdecken. Key-Value-Stores sind die einfachsten Vertreter moderner Datenbanken. "Riak'' wird in dieser Arbeit als Implementierung moderner Konzepte benutzt. "MySQL'' soll als Vertreter für relationale Datenbanken verwendet werden da dieser Vertreter eine weit verbreitete Open-Source-Implementierung von relationalen Datenbanken ist. Andere Datenbankkonzepte/Datenbanken werden in dieser Arbeit nicht behandelt. Dazu zählen unter anderem objektorientierte, objektrelationale, hierarchische, spaltenorientierte und graphenorientierte Datenbankformen, sowie Repräsentanten von relationalen Datenbanken, wie "db2'', "Sybase'' oder "Oracle'', da diese nicht Open-Source sind.
Das konsistente Hashfunktionsverfahren wird zuerst kurz erläutert, um theoretische Grundlagen für die Implementierung moderner und traditioneller Skalierungsmethoden zu legen. Danach werden, im Kontext moderner Datenbanktechnologien, wichtige theoretische Konzepte zur Skalierung erläutert. Dazu werden die drei wichtigsten Eigenschaften verteilter Systeme definiert und in Zusammenhang gebracht (Verfügbarkeit, Konsistenz und Partitionstoleranz). Dementsprechend wird das Prinzip "letztendliche Konsistenz'' vorgestellt, welches eine zentrale Rolle bei modernen verteilten Systemen darstellt. Weiterhin wird das MapReduce-Verfahren konzeptionell vorgestellt. Es wird aus zwei Perspektiven betrachtet: Filterung von Daten durch benutzerdefinierte Funktionen anhand eines Beispiels und in diesem Zusammenhang die Ausführung des Verfahrens in verteilten Systemen. Implementierungen dieser theoretischen Ansätze werden in diesem Kapitel aufgelistet. Eine detaillierte Beschreibung von "Key-Value-Stores'' (KVS) wird im nächsten Kapitel bereitgestellt. KVS sind die einfachste Form von modernen Datenbanken, an denen sich die grundlegenden Konzepte abstrakt beschreiben lassen. "Riak'' ist ein wichtiger Vertreter für moderne Datenbanken und KVS. Die theoretischen Grundlagen der drei zentralen Eigenschaften verteilter System werden an dieser direkten Implementierung gefestigt und erweitert. Dem folgt eine kurze Vorstellung von relationalen Datenbanken. Dabei wird ausschließlich auf Möglichkeiten zur Skalierung eingegangen. Im letzten Kapitel werden zuerst beide Datenbanktechnologien hinsichtlich der Skalierung, Konsistenz, Verfügbarkeit und Komplexität verglichen. Weiterhin findet ein Vergleich zwischen MapReduce und SQL bzw. "benutzerdefinierten Funktionen'' anhand von Einsatzmöglichkeiten, Stabilität und Komplexität statt. Der Vergleich von MySQL und Riak erfolgt durch eine Analyse der Abfragemöglichkeiten mittels Stored Procedures und MapReduce anhand mehrerer Beispiele. Hierbei sollen die zentralen Fragestellungen beantwortet werden. Abschließend werden die Ergebnisse zusammengefasst und bewertet.
Nils M. Petersohn B.Sc., wurde 1983 in Leipzig geboren. Bereits während des Abiturs belegte der Autor zahlreiche Ihm in Deutschland und in Amerika verfügbaren Informatikkurse. Das Studium der Wirtschaftsinformatik befriedigte seine Wissbegierde nicht und er entschied sich, zu einem Studium der reinen Informatik, welches er im Herbst 2010 erfolgreich beendete. Mehr als ein Dutzend industrieller Softwareprojekte prägten seinen Erfahrungsschatz ausgiebig während des Studiums. So entstanden in den letzten 4-5 Jahren mehrere geschäftskritische Anwendungen die u.a. auf performante Datenhaltung basieren.
| Erscheint lt. Verlag | 30.7.2011 |
|---|---|
| Zusatzinfo | 11 Abb. |
| Sprache | deutsch |
| Themenwelt | Mathematik / Informatik ► Informatik |
| Schlagworte | consistent hashing • Datenbank • Datenbankabfrage • eventually consistent • MapReduce • NoSQL • riak |
| ISBN-10 | 3-8428-0679-5 / 3842806795 |
| ISBN-13 | 978-3-8428-0679-5 / 9783842806795 |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
Größe: 2,3 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich