eBook58 Seiten1 Stunde
Vergleich und Evaluation zwischen modernen und traditionellen Datenbankkonzepten unter den Gesichtspunkten Skalierung, Abfragemöglichkeit und Konsistenz
Von Nils Petersohn
Bewertung: 0 von 5 Sternen
()
Über dieses E-Book
Zehntausende Web-Services verwenden relationale Datenbanken, um Daten zu
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. Impleme
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. Impleme
Ähnlich wie Vergleich und Evaluation zwischen modernen und traditionellen Datenbankkonzepten unter den Gesichtspunkten Skalierung, Abfragemöglichkeit und Konsistenz
Ähnliche E-Books
Ein Orientierungssystem für Menschen mit Sehbehinderung auf Java ME: Konzeption und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenBig Data mit Hadoop und Hive: Untersuchung der Migration einer MySQL-basierten Monitoring & Data Warehouse Lösung nach Hadoop Bewertung: 0 von 5 Sternen0 BewertungenPSTricks: Grafik mit PostScript für TeX und LaTeX Bewertung: 5 von 5 Sternen5/5Selbststudium – Die Lehrmethode von morgen: Wie Lernmaterialien das Selbststudium mithilfe von hypermedialen Elementen erfolgreich machen Bewertung: 0 von 5 Sternen0 BewertungenNeokognitron und Hopfield Netz als künstliche neuronale Netze zur Mustererkennung: Theorie, computergestützte Simulation und Anwendungen Bewertung: 0 von 5 Sternen0 BewertungenPerformance- und Risikomessung bei Hedgefonds Bewertung: 0 von 5 Sternen0 BewertungenWissenschaftlicher Umgang mit den kleinen Fallzahlen in der Spitzensportforschung Bewertung: 0 von 5 Sternen0 BewertungenMETAPOST: Grafk für TeX und LaTeX Bewertung: 0 von 5 Sternen0 BewertungenPSTricks: Grafik mit PostScript für TeX und LaTeX Bewertung: 0 von 5 Sternen0 BewertungenPräsentationen mit LaTeX Bewertung: 0 von 5 Sternen0 BewertungenPython-Programmierung für Germanist:innen: Ein Lehr- und Arbeitsbuch Bewertung: 0 von 5 Sternen0 BewertungenEinführung in LaTeX: unter Berücksichtigung von pdfLaTeX, XLaTeX und LuaLaTeX Bewertung: 4 von 5 Sternen4/5Terrain Rendering mit Geometrie Clipmaps für Spiele Bewertung: 0 von 5 Sternen0 BewertungenImmobilienwertermittlung im Wandel: Eine kritische Betrachtung der neuen Wertermittlungsverordnung Bewertung: 0 von 5 Sternen0 BewertungenHaptOSM: Kostengünstige Kartenherstellung für blinde und sehbehinderte Menschen Bewertung: 0 von 5 Sternen0 BewertungenLernen im Web 2.0: das Beispiel Fremdsprachenunterricht Bewertung: 0 von 5 Sternen0 BewertungenGelingensbedingungen pädagogischer Integrationsförderung: Eine Längsschnittstudie zur Arbeit mit geflüchtetenHeranwachsenden Bewertung: 0 von 5 Sternen0 BewertungenEinführung in LaTeX Bewertung: 0 von 5 Sternen0 BewertungenFührung aus Mehrebenenperspektive: Die Anwendung der Hierarchisch Linearen Modellierung (HLM) durch die internationale empirische Führungsforschung Bewertung: 0 von 5 Sternen0 BewertungenComputerspiele für Gamer mit Sehschwäche: Konzept für standardisierte Implementierung Bewertung: 0 von 5 Sternen0 BewertungenBusiness Rules – Geschäftsregeln: Konzepte, Modellierungsansätze, Softwaresysteme Bewertung: 0 von 5 Sternen0 BewertungenDas Erfüllbarkeitsproblem SAT: Algorithmen und Analysen Bewertung: 0 von 5 Sternen0 BewertungenExperimente mit Cypress-PSoC-Mikrocontrollern: Implementierung analoger Filter Bewertung: 0 von 5 Sternen0 BewertungenSOA in der Praxis: System-Design für verteilte Geschäftsprozesse Bewertung: 4 von 5 Sternen4/5Text Mining und dessen Implementierung Bewertung: 0 von 5 Sternen0 BewertungenSzenariobasierte Evaluation von Open Source ESBs zum Einsatz in einer Cloud-basierten Softwareinfrastruktur Bewertung: 0 von 5 Sternen0 BewertungenEvaluation sportwissenschaftlicher Unterstützungsleistungen im Spitzensport am Beispiel der Leichtathletik Bewertung: 0 von 5 Sternen0 BewertungenModerne Workflow-Programmierung mit ABAP® Objects: Handbuch für Entwickler Bewertung: 0 von 5 Sternen0 BewertungenDer attributive Genitiv und seine Alternativformen in der Familiensprache Bewertung: 0 von 5 Sternen0 Bewertungen
Informationstechnologie für Sie
Knigge für Softwarearchitekten. Reloaded Bewertung: 0 von 5 Sternen0 BewertungenZertifizierung für Softwarearchitekten: Ihr Weg zur iSAQB-CPSA-F-Prüfung Bewertung: 0 von 5 Sternen0 BewertungenBlockchain: Praktische Anwendungen, Praktisches Verständnis Bewertung: 0 von 5 Sternen0 BewertungenErfolgreich bewerben in der IT - die besten Praxistipps von A wie (Anschreiben) bis Z (wie Zeugnis) Bewertung: 0 von 5 Sternen0 BewertungenAndroid-Entwicklung für Einsteiger - 20.000 Zeilen unter dem Meer: 2. erweiterte Auflage Bewertung: 0 von 5 Sternen0 BewertungenBusiness-Intelligence-Lösungen für Unternehmen Bewertung: 0 von 5 Sternen0 BewertungenAgiles Requirements Engineering und Testen Bewertung: 0 von 5 Sternen0 BewertungenKompaktes Managementwissen: Die Grunstruktur agiler Prozesse Bewertung: 0 von 5 Sternen0 BewertungenEinplatinencomputer - ein Überblick Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Vergleich und Evaluation zwischen modernen und traditionellen Datenbankkonzepten unter den Gesichtspunkten Skalierung, Abfragemöglichkeit und Konsistenz
Bewertung: 0 von 5 Sternen
0 Bewertungen
0 Bewertungen0 Rezensionen
Buchvorschau
Vergleich und Evaluation zwischen modernen und traditionellen Datenbankkonzepten unter den Gesichtspunkten Skalierung, Abfragemöglichkeit und Konsistenz - Nils Petersohn
Gefällt Ihnen die Vorschau?
Seite 1 von 1