Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© 2012 TravelTainment Einführung in NoSql-Datenbanken und der Vergleich zu relationalen Datenbanken Alexey Sibirtsev.

Ähnliche Präsentationen


Präsentation zum Thema: "© 2012 TravelTainment Einführung in NoSql-Datenbanken und der Vergleich zu relationalen Datenbanken Alexey Sibirtsev."—  Präsentation transkript:

1 © 2012 TravelTainment Einführung in NoSql-Datenbanken und der Vergleich zu relationalen Datenbanken Alexey Sibirtsev

2 © 2012 TravelTainment Ablauf  Einleitung  NoSql-Eigenschaften  Brewer‘s Theorem  Konsistenz in NoSql-Datenbanken  Datenbanktypen  Key-Value Datenbanken  Graphenorientierte Datenbanken  Dokumentorientierte Datenbanken  Spaltenorientierte Datenbanken  Fazit/Ausblick

3 © 2012 TravelTainment Einleitung  1998: Erste Erwähnung des NoSql-Begriffes von Carlo Strozzi, gemeint als „No Sql“  2009: Neudefinition des Begriffes als „Not Only Sql“  Woher kommt die Popularität?  Unternehmen mit bis zu 1000 Mitarbeitern lagern ca. 3.8 Petabyte Daten  Der Datenzuwachs eines solchen Unternehmens beträgt 40 Prozent pro Jahr  Täglich entstehen 2.5 Quintillionen Byte (= 2*10^5 Petabyte)  90% der Daten, die aktuell im Umlauf sind, entstanden in den letzten 2 Jahren  Abhängigkeit und Vernetzung der Daten nimmt zu (z.B. durch soziale Netzwerke) Einleitung Eigenschaften Brewser‘s Theorem BASE-Modell

4 © 2012 TravelTainment Einleitung  Wieso sind relationale Datenbanken nicht mehr so gut geeignet?  Werden mit einer wachsenden Datenmenge schnell langsamer  Prüfung der korrekten Datenstrukturen  Bildung von Relationen zwischen den Daten  Komplex vernetzte Daten sind schwer darzustellen  Unterteilen in viele Tabellen wird notwendig  Zusammenführen vieler Tabellen ist zeitaufwendig Einleitung Eigenschaften Brewser‘s Theorem BASE-Modell

5 © 2012 TravelTainment NoSql-Eigenschaften  Verzicht auf ein festes Schema  Keine Relationen oder feste Datenstrukturen vorhanden  Speicherung der Daten wird flexibler gestaltet  Verzicht auf die Abfragesprache SQL  Kein allgemeiner NoSql-Standard vorhanden  Kommunikationsschnittstellen werden in der jeweiligen Implementierung zur Verfügung gestellt  Ausfalltoleranz, Verfügbarkeit und horizontale Skalierbarkeit  Datenbanken werden als verteilte Systeme implementiert Einleitung Eigenschaften Brewser‘s Theorem BASE-Modell

6 © 2012 TravelTainment Brewer‘s Theorem  Tritt bei verteilten Systemen in Kraft  Beschreibt den Zusammenhang zwischen drei wichtigen Eigenschaften in solchen Systemen  Consistency (Konsistenz): Gleiche Daten auf jedem Client  Availability (Verfügbarkeit): Ständige Verfügbarkeit und Erreichbarkeit des Systems  Partition Tolerance (Ausfalltoleranz): Korrekte Funktionsweise bei Ausfall von Verbindungen oder Servern  Nur zwei dieser Eigenschaften sind in einem verteilten System erfüllbar! Eigenschaften Brewser‘s Theorem BASE-Modell Datenbanktypen

7 © 2012 TravelTainment Brewer‘s Theorem  Wieso sind nur zwei Eigenschaften erfüllbar?  Ein Beispiel:  Ausfalltolleranz: Ein verteiltes System mit redundanten Daten wird benötigt  Konsistenz: Datensätze müssen bei Aktualisierungen auf allen Servern gesperrt werden  Dieses Sperren ist zeitaufwändig -> Verfügbarkeit kann nicht mehr erreicht werden! Eigenschaften Brewser‘s Theorem BASE-Modell Datenbanktypen

8 © 2012 TravelTainment Brewer‘s Theorem  Verteilte relationale Datenbanken:  Konsistenz steht im Vordergrund  ACID-Prinzipien müssen befolgt werden  Realisierung der anderen Eigenschaft über hochwertige und leistungsfähige Hardware (vertikale Skalierung)  Kostenintensiv!  Verteilte NoSql-Datenbanken:  Ausfalltolleranz und Verfügbarkeit stehen im Vordergrund  Häufige Verwendung bei Internetanwendungen (z.B: Online-Shops)  Gewinnverlust, wenn ein Systemausfall vorliegt oder die Verfügbarkeit nicht vorhanden ist  Verzicht auf die Konsistenz und somit auf das ACID- Konsistenzmodell Eigenschaften Brewser‘s Theorem BASE-Modell Datenbanktypen

9 © 2012 TravelTainment Konsistenz in NoSql-Datenbanken  BASE-Konsistenzmodell (Basically Available, Soft State, Eventually Consistent):  Daten wechseln zwischen einem konsistenten und einem inkonsistenten Zustand  Die Daten sind nur zu bestimmten Zeitpunkten für alle Clients konsistent  Konkurrierender Zugriff wird über das Multiversion Concurrency Control Verfahren geregelt  Ersatz für die Sperren, die in relationalen Datenbanken verwendet werden  Versionierung von Datensätzen  Es liegt immer eine Version des Datensatzes bereit Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

10 © 2012 TravelTainment Die wichtigsten NoSql-Datenbanktypen Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

11 © 2012 TravelTainment Key-Value-Datenbanken  Mit assoziativen Feldern aus der Programmierung vergleichbar  Ein Wert wird einem Schlüssel zugewiesen  Der Wert kann eine komplexe Datenstruktur (z.B. eine Liste oder ein assoziatives Feld darstellen)  On-Disk und In-Memory Varianten:  On-Disk: Speicherung der Daten auf der Festplatte  In-Memory: Speicherung der Daten im Arbeitsspeicher Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

12 © 2012 TravelTainment Key-Value-Datenbanken  Vorteile:  Schnelle Zugriffszeiten von O(1)  Im Gegensatz zu relationalen Datenbanken sind die Zugriffszeiten unabhängig von der Datenmenge  Gute horizontale Skalierbarkeit  Verwendung einer Hash-Funktion, um einen Server zu einem Schlüssel zu bestimmen -> Zeitersparnis  Nachteile:  Umständlich nach einem Wert zu suchen  Zusätzliche Verweise vom Wert auf den Schlüssel und somit wechselseitige Beziehungen wären nötig  Datenverlust schnell möglich, falls ein Schlüssel versehentlich überschrieben wird Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

13 © 2012 TravelTainment Graphenorientierte Datenbanken  Bereits seit den 60er Jahren bekannt  Sollten ursprünglich als Allzweckdatenbanksystem dienen  Vom einfacheren relationalen Ansatz verdrängt worden  Steigendes Interesse an diesen Datenbanken, da die graphenstrukturen im Internet wachsen  Vor allem für soziale Netzwerke (z.B. Twitter) brauchbar  Bestehen aus Knoten und Kanten Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

14 © 2012 TravelTainment Graphenorientierte Datenbanken  Vorteile:  Bilden reale Netzwerkstrukturen (z.B. soziales Geflecht aus Freunden und Bekannten) direkt ab und erleichtern somit das Verständnis für diese  Die Suche bleibt unabhängig von der Größe der Netzwerkstruktur stets performant  Gleiche Zeit für einen Kantenschritt  Verzicht auf die rechenintensiven JOIN-Operationen  Verwendung von Algorithmen aus der Graphentheorie, um die Performance zu verbessern  Nachteile:  Einsatz wird komplex, falls für einen unpassenden Anwendungsfall verwendet  Nutzbarkeit komplizierter  Keine einfach verständliche Abfragesprache, die in allen Graphendatenbanken gilt Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

15 © 2012 TravelTainment Dokumentorientierte Datenbanken  Arbeiten mit Dokumenten statt mit Tabellen  Dokumente sind keine „Textdateien“, sondern Sammelcontainer  Ein solcher Sammelcontainer enthält Schlüssel-Wert- Paare  Der Wert darf auch nicht atomare Inhalte, wie ein Feld oder eine Datei beinhalten  Die Schlüssel sind innerhalb des Dokuments eindeutig Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

16 © 2012 TravelTainment Dokumentorientierte Datenbanken  Vorteile:  Freiheit für den Benutzer, da jedes Dokument verschiedene Schlüssel enthalten kann  Speicherung und Darstellung der Daten in dem JSON- Format  Arbeiten mit zusammenhängenden Daten wird erleichtert  Zusammenhängende Daten werden geschlossen in Dokumenten gespeichert  Es müssen nicht zunächst viele Tabellen zusammengeschlossen werden  Nachteile:  Prüfung der Plausibilität muss auf die Anwendungsebene verlagert werden Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

17 © 2012 TravelTainment Spaltenorientierte Datenbanken  Grundlegend anderes Speicherprinzip als bei relationale Datenbanken  Datensätze werden spaltenweise abgespeichert  Column Families statt Tabellen  Haben keine Struktur  Können beliebig viele Spalten enthalten Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

18 © 2012 TravelTainment Spaltenorientierte Datenbanken  Beispiel einer Mitarbeiterliste:  Speicherung in einer relationalen Datenbank:  1, Muster, 30000; 2, Testperson, 32000;  Speicherung in einer spaltenorientierten Datenbank:  1, 2; Muster, Testperson; 30000, 32000; Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick MitarbeiterIDNameJahresgehalt 1Muster Testperson32000

19 © 2012 TravelTainment Spaltenorientierte Datenbanken  Vorteile:  Schnellere Durchführung von Analysen, die meistens über eine einzige Spalte stattfinden  Relationale Datenbank:  Spalte jedes Datensatzes muss einzeln abgerufen werden -> viele sequentielle Lesezugriffe auf den Arbeitsspeicher  Spaltenorientierte Datenbank:  Spalte muss einmal ermittelt werden -> danach Iteration durch den zugehörigen Arbeitsspeicher  Speicherersparnis:  Keine Speicherreservierung für leere Einträge  Gleiche Datentypen nebeneinander, somit bessere Ablage im Speicher  Verwendung von Komprimierungsverfahren, da gleiche Datentypen nebeneinander (z.B. Zusammenfassung von Sequenzen) Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

20 © 2012 TravelTainment Spaltenorientierte Datenbanken  Nachteile:  Schlechter Umgang mit Ad-Hoc Abfragen  Flexible Abfragen, die beliebige Daten zurückgeben können. Die Struktur der Datenbank spielt bei diesen Abfragen keine Rolle  Datenbankstruktur muss an die später verwendeten Datenbankabfragen angepasst werden  Schlechtere Flexibilität Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

21 © 2012 TravelTainment Fazit/Ausblick  Nicht standardisiert -> Schreckt viele Unternehmen von der Verwendung ab  Große Unternehmen (z.B. Amazon, Google) setzen NoSql-Datenbanken erfolgreich ein  Nicht für alle Anwendungsfälle gedacht  Viel Potential für neue Fortschritte und Ideen:  Multiversion Concurrency Control Verfahren  MapReduce Verfahren Brewser‘s Theorem BASE-Modell Datenbanktypen Fazit/Ausblick

22 © 2012 TravelTainment Fragen?

23 © 2012 TravelTainment Vielen Dank!


Herunterladen ppt "© 2012 TravelTainment Einführung in NoSql-Datenbanken und der Vergleich zu relationalen Datenbanken Alexey Sibirtsev."

Ähnliche Präsentationen


Google-Anzeigen