Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© 2015 TravelTainment NoSQL – Eine Alternative zu relationalen Datenbanken Dominik Schmitz.

Ähnliche Präsentationen


Präsentation zum Thema: "© 2015 TravelTainment NoSQL – Eine Alternative zu relationalen Datenbanken Dominik Schmitz."—  Präsentation transkript:

1 © 2015 TravelTainment NoSQL – Eine Alternative zu relationalen Datenbanken Dominik Schmitz

2 © 2015 TravelTainment 2 | NoSQL – Eine Alternative zu relationalen Datenbanken Inhalt  Einleitung  Theoretische Grundlagen  MapReduce  CAP-Theorem  Alternatives Konsistenzmodell: BASE  Die wichtigsten NoSQL-Datenbanktypen  Key/Value-Datenbanken  Spaltenorientierte Datenbanken  Dokumentenorientierte Datenbanken  Graphenorientierte Datenbanken  Schlusswort

3 © 2015 TravelTainment 3 | NoSQL – Eine Alternative zu relationalen Datenbanken Einleitung  Not only SQL, nicht im Sinne von kein SQL  Erste DB mit NoSQL spezifischen Ansätzen bereits 1979  BerkeleyDB und Lotus Nodes aus den 80er Jahren noch heute populär  Die heute verbreiteten Systeme wie Cassandra, Redis, MongoDB, Hypertable und CouchDB entstanden im Zeitraum von 2006 bis 2009  Nach wie vor erscheinen neue Implementationen für neue Anwendungsfälle

4 © 2015 TravelTainment 4 | NoSQL – Eine Alternative zu relationalen Datenbanken Motivation Große Datenmengen sind zu verarbeiten und die vertikale Skalierung der Hardware reicht nicht mehr aus WEB 2.0 Relationale Datenbanken mit Indizierung sind nicht für jeden Anwendungsfall die beste Wahl, siehe Key/Value-Speicherung oder die Speicherung von Graphen Anwendungsfall- spezifische Datenstrukturen

5 © 2015 TravelTainment 5 | NoSQL – Eine Alternative zu relationalen Datenbanken Inhalt  Einleitung  Theoretische Grundlagen  MapReduce  CAP-Theorem  Alternatives Konsistenzmodell: BASE  Die wichtigsten NoSQL-Datenbanktypen  Key/Value-Datenbanken  Spaltenorientierte Datenbanken  Dokumentenorientierte Datenbanken  Graphenorientierte Datenbanken  Schlusswort

6 © 2015 TravelTainment 6 | NoSQL – Eine Alternative zu relationalen Datenbanken MapReduce  Framework welches 2004 von Google Inc. eingeführt wurde  Zur parallelen Verarbeitung großer Datenmengen  Entwickler stellt Anwendungsfallspezifische Map- und Reduce-Funktionen zur Verfügung

7 © 2015 TravelTainment 7 | NoSQL – Eine Alternative zu relationalen Datenbanken MapReduce

8 © 2015 TravelTainment 8 | NoSQL – Eine Alternative zu relationalen Datenbanken CAP-Theorem  Web 2.0 Unternehmen waren unzufrieden mit der horizontalen Skalierung der relationalen Systeme  Lösungen der Hersteller waren nicht zufriedenstellend  Konsistenzmodell ACID verhindert eine effektive horizontale Skalierung

9 © 2015 TravelTainment 9 | NoSQL – Eine Alternative zu relationalen Datenbanken CAP-Theorem  Vorgestellt durch Eric Brewer im Jahr 2000 Types

10 © 2015 TravelTainment 10 | NoSQL – Eine Alternative zu relationalen Datenbanken CAP-Theorem

11 © 2015 TravelTainment 11 | NoSQL – Eine Alternative zu relationalen Datenbanken Alternatives Konsistenzmodell: BASE  Basically Available, Soft State, Eventually Consistent  Verfügbarkeit ist zentrales Thema  Umsetzung durch Eventually Consistency  ACID und BASE bilden die Extrema eines Konsistenzspektrums  Spektrum bietet viele Möglichkeiten für die Entwickler

12 © 2015 TravelTainment 12 | NoSQL – Eine Alternative zu relationalen Datenbanken Inhalt  Einleitung  Theoretische Grundlagen  MapReduce  CAP-Theorem  Alternatives Konsistenzmodell: BASE  Die wichtigsten NoSQL-Datenbanktypen  Key/Value-Datenbanken  Spaltenorientierte Datenbanken  Dokumentenorientierte Datenbanken  Graphenorientierte Datenbanken  Schlusswort

13 © 2015 TravelTainment 13 | NoSQL – Eine Alternative zu relationalen Datenbanken Key/Value-Datenbanken  Basierend auf einem Schlüssel/Wert-Schema  Schlüssel besteht aus einer strukturierten oder zufälligen Zeichenkette  Schlüssel kann anhand eines definierten Musters die Daten in Namensräume und Datenbanken unterteilen  Wert kann je nach Implementation den Datentyp String, aber auch Listen, Sets oder Hashes zur Verfügung haben

14 © 2015 TravelTainment 14 | NoSQL – Eine Alternative zu relationalen Datenbanken Key/Value-Datenbanken ProContra Bessere SkalierbarkeitDirekte Suche nach einem Wert nicht möglich O(1) für Lese- und Schreiboperationen Keine komplexen Abfrage- möglichkeiten Keine Schemaerweiterungen notwendig

15 © 2015 TravelTainment 15 | NoSQL – Eine Alternative zu relationalen Datenbanken Spaltenorientierte Datenbanken ProduktIDProduktNameProduktPreis 1Smartphone500 2Fahrrad200 3Fußball20  Daten werden Spaltenweise gespeichert, was zu einer anderen physischen Datenorganisation führt  In einem relationalen Modell werden die Attributwerte reihenorientiert gespeichert 1, Smartphone, 500; 2, Fahrrad, 200; 3, Fußball, 20;  Bei den Spaltenorientierten Datenbanken werden die Daten hingegen nach ihrer Spalte sortiert 1, 2, 3; Smartphone, Fahrrad, Fußball; 500, 200, 20;

16 © 2015 TravelTainment 16 | NoSQL – Eine Alternative zu relationalen Datenbanken Spaltenorientierte Datenbanken ProContra Physische DatenanordnungEinfügen von neuen Datensätzen ist komplizierter Selbe Datentypen einfacher zu komprimieren Häufiges Einfügen neuer Datensätze behindert gleichzeitige Lesezugriffe  In einem relationalen Modell werden die Attributwerte reihenorientiert gespeichert 1, Smartphone, 500; 2, Fahrrad, 200; 3, Fußball, 20;  Bei den Spaltenorientierten Datenbanken werden die Daten hingegen nach ihrer Spalte sortiert 1, 2, 3; Smartphone, Fahrrad, Fußball; 500, 200, 20;

17 © 2015 TravelTainment 17 | NoSQL – Eine Alternative zu relationalen Datenbanken Dokumentenorientierte Datenbanken  Speicherung der Daten in Dokumenten  Dokumente sind strukturierte Zusammenstellungen von Daten, z.B. JSON

18 © 2015 TravelTainment 18 | NoSQL – Eine Alternative zu relationalen Datenbanken Dokumentenorientierte Datenbanken ProContra Zusammengehörige Daten werden zusammen gespeichert Lesen und Speichern erfordert manuelle Kontrolle Durch Speicherung im JSON- Format kann man prinzipiell alle Daten persistieren Keine Datenbankfunktionen wie Constraints oder Trigger für solche Kontrollen verfügbar

19 © 2015 TravelTainment 19 | NoSQL – Eine Alternative zu relationalen Datenbanken Graphenorientierte Datenbanken  Ermöglicht die Speicherung stark vernetzter Informationen  Werden besonders von sozialen Netzwerken wie Facebook und Twitter genutzt  Ein Graph besteht aus Knoten und Kanten  Knoten repräsentieren Entitäten mit bestimmen Eigenschaften  Kanten zeigen die Relationen zwischen diesen

20 © 2015 TravelTainment 20 | NoSQL – Eine Alternative zu relationalen Datenbanken Graphenorientierte Datenbanken ProContra Performante Algorithmen zur Suche in Graphen und Traversierung der Kanten existieren bereits Keine standardmäßige Abfragesprache vorhanden, wodurch man auf die API des Herstellers angewiesen ist Suche bleibt unabhängig von der Größe stets performant, da keine JOIN-Operationen notwendig sind Vorteile bei falschem Anwendungsfall nicht mehr gültig

21 © 2015 TravelTainment 21 | NoSQL – Eine Alternative zu relationalen Datenbanken Inhalt  Einleitung  Theoretische Grundlagen  MapReduce  CAP-Theorem  Alternatives Konsistenzmodell: BASE  Die wichtigsten NoSQL-Datenbanktypen  Key/Value-Datenbanken  Spaltenorientierte Datenbanken  Dokumentenorientierte Datenbanken  Graphenorientierte Datenbanken  Schlusswort

22 © 2015 TravelTainment 22 | NoSQL – Eine Alternative zu relationalen Datenbanken Schlusswort  Das kontinuierlich wachsende Datenvolumen im Web 2.0 erforderte Alternativen im Vergleich zu den relationalen Systemen  Das MapReduce Verfahren und die Aussage des CAP Theorem sind entscheidend für ein performantes verteiltes Datenbanksystem  Die vier Hauptdatenbanktypen im Bereich NoSQL mit den facettenreichen Implementationen, sowie die bestehenden relationalen Systeme bieten für nahezu jeden Anwendungs- fall eine optimale Lösung

23 © 2015 TravelTainment 23 | NoSQL – Eine Alternative zu relationalen Datenbanken Fragen?

24 © 2015 TravelTainment 24 | NoSQL – Eine Alternative zu relationalen Datenbanken Quellen 1. Stefan Edlich, Achim Friedland, Jens Hampe, Benjamin Brauer, Markus Brückner NoSQL – Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2. Auflage) 2. NoSQL Overview Unter (abgerufen am ) 3. NoSQL – Wikipedia https://en.wikipedia.org/wiki/NoSQL (abgerufen am ) 4. NoSQL – Grundlagen BASE, CAP, Consistent Hashing, Eventually Consistent, Map Reduce, Skalierbarkeit und verteilte Datenbanken koeln.de/wikis/wiki_db/index.php?n=Category.Grundlagen (abgerufen am ) 5. Joe Celko Complete Guide to NoSQL 6. Graphendatenbanken – Wikipedia https://de.wikipedia.org/wiki/Graphdatenbank (abgerufen am ) 7. Dokumentenorientierte Datenbank de/wikis/wiki_db/index.php?n=Datenbanken.DokumentenorientierteDatenbank (abgerufen am ) 8. Key/Value-Datenbanksysteme de/wikis/wiki_db/index.php?n=Datenbanken.KeyValueSysteme (abgerufen am ) 9. Spaltenorientierte Datenbanksysteme index.php?n=Datenbanken.SpaltenorientierteDatenbank (abgerufen am )

25 © 2015 TravelTainment 25 | NoSQL – Eine Alternative zu relationalen Datenbanken Vielen Dank!


Herunterladen ppt "© 2015 TravelTainment NoSQL – Eine Alternative zu relationalen Datenbanken Dominik Schmitz."

Ähnliche Präsentationen


Google-Anzeigen