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

Slides:



Advertisements
Ähnliche Präsentationen
Datenbankdesign mit ACCESS.
Advertisements

Hauptseminar NoSQL ElasTraS und CloudTPS
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Eine dynamische Menge, die diese Operationen unterstützt,
Datenbanken Einführung.
Objekt – Relationales – Modell Tomasz Makowski IN
Dr. Brigitte Mathiak Kapitel 9 Physische Datenorganisation (ganz kurz)
PC-Cluster.
Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur
Das Entity-Relationship-Modell
Motivation Richard Göbel.
DOM (Document Object Model)
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SQL als Abfragesprache
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Architektur von Netzwerken
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Vortrag: Ingo Gensch, Mathias Reich am:
Datenbankentwurfsprozess
Flache Datenstrukturen in der Operationsdokumentation.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Relationale Datenbankmodelle
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
Einführung in die Programmierung
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Sesame Florian Mayrhuber
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
Allgemeines zu Datenbanken
(D.h. „Hallo MausFans!“ auf Japanisch).
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (1/14)
Replikation und Synchronisation
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Von Isabelle Spörl und Simon Schausberger
verstehen planen bearbeiten
Big Data Semantic Web: RDF Information Retrieval
MS Office Access 2007 UM für INI. Sie haben viele Daten? Entscheiden Sie sich für Access. Access verarbeitet Daten, und zwar alle Arten von Daten: Kundenkontakte,
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
Cloud Computing Klausur an der Hochschule Karlsruhe - Technik und Wirtschaft Sommersemester 2014, Dienstag, , 14:00 Uhr Name: ___________________.
Vorlesung #2 Das relationale Modell (Teil 1)
Datenbanken im Web 1.
Topic Maps: Personal Brain
Zürcher Fachhochschule Einführung in Big Data I Kurt Stockinger 1.
HYPERLINK WAS IST DAS WEB 2.0? SEMANTIC WEB.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Binärbäume.
© 2012 TravelTainment Einführung in NoSql-Datenbanken und der Vergleich zu relationalen Datenbanken Alexey Sibirtsev.
Vergleich von MongoDB und Redis im Hinblick auf ihre potentielle Eignung zur Messdatenerfassung und -auswertung Seminararbeit Im Studiengang Scientific.
© 2012 TravelTainment Einführung in NoSQL-Datenbanken und deren Klassifizierung Von Patrick Becker.
MapReduce programming model Astrid Rheinländer & Stefan Bethge
Aufgabe 1: Begriffswelt
Von Wietlisbach, Lenzin und Winter
Datenbanksystem Von Anna und Robin.
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Datenbanken Von Zoe und Carem.
Präsentation von Darleen und Michèle
Datenbanken Von Jan und Cedric.
Datenbanken Von Amed und Alicia.
Von Franziska und Robine
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

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

© 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

© 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

© 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

© 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

© 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

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

© 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

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

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

© 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

© 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

© 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

© 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

© 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;

© 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;

© 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

© 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

© 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

© 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

© 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

© 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

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

© 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 (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 (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 )

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