Datenbanksysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2015/16.

Ähnliche Dokumente
Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

NoSQL. Was Architekten beachten sollten. Dr. Halil-Cem Gürsoy adesso AG. SEACON 2012 Hamburg

NoSQL. Prof. Dr. Ingo Claßen. Einführung. Kategorisierung von NoSQL-Systemen. Verteilung. Konsistenz. Literatur

Datenbanksysteme Kapitel 6: Neue Konzepte der Datenbanktechnologie

Big Data Management Thema 14: Cassandra

RavenDB, schnell und skalierbar

NoSQL-Datenbanken. Kapitel 1: Einführung. Lars Kolb Sommersemester Universität Leipzig 1-1

Kapitel 4 Teil 2 NoSQL-Datenbanksysteme

Datenbanksysteme Kapitel 6: Neue Konzepte der Datenbanktechnologie

Überblick und Vergleich von NoSQL. Datenbanksystemen

Stefan Edlich, Achim Friedland, Jens Hampe, Benjamin Brauer. NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken ISBN:

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

Verteilte Systeme. Replikation & Konsistenz I. Prof. Dr. Oliver Haase

Algorithmen des Internets

Systeme II 13. Woche Data Centers und Verteiltes Hashing

Datenbanken und Datenbanktypen Tag 1 : Kapitel 1. Christian Inauen. Lernziele. Entwicklung der Datenbanken.

NoSQL-Datenbanken. Kapitel 1: Einführung. Dr. Anika Groß Sommersemester Universität Leipzig 1-1

Eine Einführung in Apache CouchDB. Java-Forum Stuttgart 2011

Big Data & Analytics Nationaler Akademietag, Fulda Referent: Meinhard Lingo

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE

SimpleVOC-Yetanother. Bausteine für eine Key/Value- Datenbank

Oracle Big Data Technologien Ein Überblick

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Einführung in CouchDB

Algorithmen. Consistent Hashing Bloom Filter MapReduce. Distributed Hash Tables. Einführung 1

Inhaltsverzeichnis. Stefan Edlich, Achim Friedland, Jens Hampe, Benjamin Brauer, Markus Brückner. NoSQL

NoSQL Andere Wege in der Speicherung von Geodaten?

Non-Standard-Datenbanken Von NoSQL zu NewSQL

Thomas Matzner Berater für Systemanalyse Couchbase. Java User Group München

NoSQL-Databases. Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck,

Darko Križić. NoSQL Datenbanken

Soziotechnische Informationssysteme

1 Einführung Die Grundlagen Praxis 1 das Kassenbuch (zentraler CouchDB-Server) Praxis 2 das Kassenbuch als CouchApp...

The R(E)volution of Data Stores

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS NoSQL. Dr. Christian Senger.

NoSQL. Einblick in die Welt nicht-relationaler Datenbanken. Christoph Föhrdes. UnFUG, SS

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik

Skalierbare Webanwendungen

Apache Cassandra, wieso brauche ich das?

Anfragesprachen für Big Data Zusmmenfassung zum Vortrag im Oberseminar: Datenbanksysteme - Aktuelle Trends

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

anwendungen programmieren Datenbank entwerfen & Implementierung Analyse bis zur SQL- NoSQL-Datenbanken Uwe Klug Mit einer Einführung in 2.

NoSQL. Hintergründe und Anwendungen. Andreas Winschu

Auf einen Blick. 1 Einführung Die Grundlagen Praxis 1 - das Kassenbuch. (zentraler CouchDB-Server) 139

Institut für Verteilte Systeme

Neues aus der nicht-, semi- und relationalen Welt

NoSQL Datenbanken am Beispiel von HBase. Daniel Georg

2. Architektur verteilter Datenbanksysteme

Rein relationale DB in Prod? Datenbanken in produktiven Einsatz? SQL + NoSQL DB in Prod? (MongoDB, Redis, CouchDB, Cassandra)

5.1 Verteilung von Aktualisierungshinweisen

Aufbau eines Clusters mit der NoSQL- Datenbank MongoDB auf Basis von Einplatinencomputern

Konsistenzproblematik bei der Cloud-Datenspeicherung

NoSQL & Big Data. NoSQL Databases and Big Data. NoSQL vs SQL DBs. NoSQL DBs - Überblick. Datenorientierte Systemanalyse. Gerhard Wohlgenannt

NoSQL Databases and Big Data

Informationssysteme für Ingenieure

ISBN: Herstellung: Diplomica Verlag GmbH, Hamburg, 2011

NoSQL Datenbanken. Seminar:Software as a Service, Cloud-Computing und aktuelle Entwicklungen Dozent: Dipl. Inf. Andreas Göbel

Einführung in die Informatik II

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002

Integriertes Seminar Datenbanken und Informationssysteme. Was sind Peer-to-Peer Systeme? Wie kann man diese effizient nutzen?

Stefan Edlich Achim Friedland Jens Rampe Benjamin Brauer. NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken HANSER

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Polyglot Persistence und NoSQL

Hochverteilte Datenhaltung im Internet

Oracle Big Data Technologien Ein Überblick

Aktuelle SE Praktiken für das WWW

Persönlichkeiten bei bluehands

Überblick. Replikation Motivation Grundlagen Aktive Replikation Passive Replikation. c td VS (SS16) Replikation 6 1

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

SQL- & NoSQL-Datenbanken. Speichern und Analysen von großen Datenmengen

Verteilte Systeme Kapitel 8: Replikation und Konsistenz

Verteilte Systeme: Web Services

Schneller als Hadoop?

REST Services in APEX Anwendungen nutzen

Enterprise JavaBeans Überblick

Soziotechnische Systeme Sommer Soziotechnische Informationssysteme. 8. SQL und NoSQL. Die gute alte Zeit. (c) Peter Sturm, Universität Trier 1

Transaktionen. Michael Löwe 04/15/16. FHDW Hannover, Freundallee 15, Hannover address:

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?

SQL oder NoSQL: Das ist die Frage! Oracle NoSQL Database

Hochverfügbare Webanwendungen mit Apache Cassandra. msg systems ag, 26. November 2014

Unified-E Standard WebHttp Adapter

Continuous Database Design

Informatik II, SS 2014

FEBE Die Frontend-Backend-Lösung für Excel

Rolf Wanka Sommersemester Vorlesung

Fast Analytics on Fast Data

SODA Die Datenbank als Document Store Rainer Willems Oracle Deutschland B.V. & Co. KG Dreieich Schlüsselworte

Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz

Dateisysteme und Datenverwaltung in der Cloud

Dokumentenorientierte Datenbanken - MongoDB

Web Technologien NoSQL Datenbanken

NoSQL-Datenbanken. Kapitel 2: Key-Value Stores. Lars Kolb Sommersemester Universität Leipzig 2-1

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Wiederholung VU Datenmodellierung

Festplatte klonen: Tutorial

Charakteristika und Vergleich von SQL- und NoSQL- Datenbanken

6.1.2 Sequentielle Konsistenz (Lamport 1979)

TAV Übung 3. Übung 3: Verteilte Datenhaltung

Transkript:

Datenbanksysteme Wintersemester 2015/16 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de

MapReduce, Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 2 / 35

MapReduce, Was steckt hinter? ˆ Beobachtung/Hypothese: Es gibt kein one-size-fits-all Datenbanksystem! ˆ = Not Only SQL (nicht unbedingt no SQL) ˆ Steht als Bezeichner für eine Vielzahl von nicht traditionellen Datenmanagement-Systemen, die stark auf die Anwendung zugeschnitten sind: - Key-Value-Datenbanken - Graph-Datenbanken - Dokument-Datenbanken Überblick gibt es unter: http://nosql-database.org/ Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 3 / 35

MapReduce, Charakteristika von Systemen ˆ Kein relationales Datenmodell ˆ System sind ausgelegt horizontal zu skalieren (scale out), also Daten und Datenverarbeitung über mehrere Maschinen zu verteilen. ˆ Kein Schema oder nur sehr lose beschrieben. ˆ Einfache API (normalerweise keine Unterstützung von SQL): CRUD (create, read, update, delete). ˆ Üblicherweise keine ACID Semantik. Stattdessen: BASE ;) ˆ Oftmals sind diese System open-source. Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 4 / 35

MapReduce, : Key/Value Datenbanken ˆ Speichern von Key-Value Paaren ˆ Values können komplexe(re) Datentypen sein ˆ Beispiele von Systemen: Amazon Dynamo, Redis, Voldemort ˆ Zugriff via CRUD-Operationen: Create, Read, Update, Delete ˆ Einige Systeme unterstützen auch mächtigere/komplexere Anfragetypen. Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 5 / 35

MapReduce, Beispiel: Key-Value-Store: Redis ˆ Online Tutorial: http://try.redis.io Get und Set SET name Datenbankanwendung GET name Datenbankanwendung Operationen auf Listen LPUSH meineliste a LPUSH meineliste b LLENGTH 2 LRANGE meineliste 0 1 b, a Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 6 / 35

MapReduce, Dokumenten Datenbanken { "firstname":"john", "lastname":"smith", "age":25, "address":{ "street":"21 2nd Street", "city":"new York", "state":"ny", "postalcode":10021 ˆ Speichern JSON (Javascript }, Object Notation), siehe Beispiel "phonenumbers":[ links, oder XML Dokumente { "type":"home", ˆ Systeme: MongoDB oder "number":"212 555-1234" CouchDB }, { "type":"fax", "number":"646 555-4567" } ] Prof. Dr.-Ing. S. Michel TU Kaiserslautern } Datenbanksysteme, WS 15/16 7 / 35

MapReduce, Beispiel: MongoDB ˆ Online Tutorial: http://try.mongodb.org var student = {name:'jim', scores:[75,99,87.2]}; db.lecture.store(student); db.lecture.find(); --liefert alle Eintraege db.lecture.find({name:'jim'}); --spezielle Suche db.users.update({name:'johnny'},{name:'cash', languages:['english']}); ˆ MongoDB unterstützt MapReduce http: //docs.mongodb.org/manual/tutorial/map-reduce-examples/ Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 8 / 35

MapReduce, Übersicht VL Im Folgenden schauen wir uns an Konsistenz von Replikaten in Verteilten Systemen Wie können Daten auf Server platziert/abgebildet werden Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 9 / 35

MapReduce, CAP Theorem ˆ Ein System kann nicht gleichzeitig die folgenden drei Eigenschaften unterstützen: - Consistency (Konsistenz) - Availability (Verfügbarkeit) - Partition Tolerance (Daten/verarbeitung verteilt auf mehrere Maschinen) C C+A P A C+P A+P http://webpages.cs.luc.edu/~pld/353/gilbert_lynch_brewer_ proof.pdf Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 10 / 35

MapReduce, Consistent + Available ˆ Beispiel: Traditionelle (zentralisierte) Datenbanksysteme C C+A A Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 11 / 35

MapReduce, Partition Tolerant + Available ˆ Beispiel: Domain Name Service (DNS) P A A+P Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 12 / 35

MapReduce, Consistent + Partition Tolerant ˆ Beispiel: Verteilte Datenbanken mit verteiltem Locking/Commit C C+P P Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 13 / 35

MapReduce, Und nun? Ohne P geht es nicht ˆ Es sind große Datenmengen zu verarbeiten Horizontale Skalierung D.h. das System muss Partitionierung der Daten/Verarbeitung auf verschiedene Maschinen unterstützen. ˆ Also ist P gegeben. Was ist nun zu tun? C C+A A C+P A+P P Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 14 / 35

MapReduce, Und nun? Ohne P geht es nicht ˆ Es sind große Datenmengen zu verarbeiten Horizontale Skalierung D.h. das System muss Partitionierung der Daten/Verarbeitung auf verschiedene Maschinen unterstützen. ˆ Also ist P gegeben. Was ist nun zu tun? Abwägung (Tradeoff) zwischen Konsistenz und Verfügbarkeit. C C+A P A C+P A+P Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 14 / 35

MapReduce, BASE Basically Available Soft State Eventual Consistency http://www.allthingsdistributed.com/2008/12/eventually_consistent.html Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 15 / 35

MapReduce, Idee Tradeoff zwischen Consistency und Availability. ˆ Repliziere Daten, d.h. mehrere Versionen pro Datensatz ˆ Replikate werden auf Maschinen verteilt ˆ Sende Updates an alle Replikate aber warte nicht auf Acknowledgement. ˆ Lesen Daten von Teilmenge der Replikate. ˆ D.h. sehr effizient aber nicht unbedingt garantiert konsistent (man kann alte Antworten erhalten) ˆ Erst nach einiger Zeit konsistent (wenn alle Replikate aktualisiert wurden): Eventual Consistency Bemerkung zu Consistency ˆ Consistency hier anders definiert als im DB-Kontext (in ACID). ˆ Hier, generell um Konsistenz von Replikaten (Kopien) einzelner Datenobjekte; dem Erzwingen bzw. nicht Erzwingen von garantierter Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 16 / 35

MapReduce, Veranschaulichung Inkonsistenz ˆ Client schickt Schreibanweisung an Manager ˆ Dieser schickt Schreibanweisung an alle Replikate. ˆ Zeitstempel (im einfachsten Fall) beschreibt Zeitpunkt des Schreibens. ˆ Und schickt Acknowledgement zurück an Client sobald garantiert W Replikas aktualisiert wurden. Maschinen mit Replikas des Datenobjekts Manager write Client Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 17 / 35

MapReduce, Veranschaulichung Inkonsistenz (2) ˆ Client schickt Leseanweisung an Manager. ˆ Dieser leitet Anweisung an R Replikas. D.h. von N existierenden Replikaten werden R gelesen. ˆ Antworten werden an Client weiter geleitet. Maschinen mit Replikas des Datenobjekts Manager read Client Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 18 / 35

MapReduce, Veranschaulichung Inkonsistenz: Read ˆ N = 7 Replikate ˆ W = 3 und R = 2 ˆ Grün markiert sind Replikate, die die neue Version des Objekts besitzen Maschinen mit Replikas des Datenobjekts Manager read Client Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 19 / 35

MapReduce, Veranschaulichung Inkonsistenz: Read - OK ˆ N = 7 Replikate ˆ W = 3 und R = 2 ˆ Grün markiert sind Replikate, die die neue Version des Objekts besitzen Maschinen mit Replikas des Datenobjekts read read Manager read Client Alles super! Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 20 / 35

MapReduce, Veranschaulichung Inkonsistenz: Read - OK ˆ N = 7 Replikate ˆ W = 3 und R = 2 ˆ Grün markiert sind Replikate, die die neue Version des Objekts besitzen Maschinen mit Replikas des Datenobjekts readread Manager read Client Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 21 / 35

MapReduce, Veranschaulichung Inkonsistenz: Read - OK ˆ N = 7 Replikate ˆ W = 3 und R = 2 ˆ Grün markiert sind Replikate, die die neue Version des Objekts besitzen Maschinen mit Replikas des Datenobjekts readread Manager read Immer noch alles super! Zeitstempel (o.ä.) bestimmt neueste Version. Client Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 21 / 35

MapReduce, Veranschaulichung Inkonsistenz: Read - Nicht Korrekt ˆ N = 7 Replikate ˆ W = 3 und R = 2 ˆ Grün markiert sind Replikate, die die neue Version des Objekts besitzen Maschinen mit Replikas des Datenobjekts read read Manager read Client Alte Version gelesen! Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 22 / 35

MapReduce, Write- bzw. Read-Optimized Strong Consistency Wir möchten ein System, wie zuvor beschrieben, so konfigurieren, dass es jederzeit konsistent ist. Write-Optimized Read-Optimized Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 23 / 35

MapReduce, Write- bzw. Read-Optimized Strong Consistency Wir möchten ein System, wie zuvor beschrieben, so konfigurieren, dass es jederzeit konsistent ist. Write-Optimized ˆ W=1, R=N ˆ Beim Lesen finden wir garantiert die zuletzt geschriebene Version. Read-Optimized ˆ R=1, W=N ˆ Da alle Knoten die aktuelle Version haben, reicht es von einem Knoten zu lesen. Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 23 / 35

MapReduce, Eventual Consistency und Konfigurationen Konfiguration: R + W > N ˆ In diesem Fall kann garantiert werden, dass immer die aktuelle Version gelesen wird. ˆ Da sich die Mengen der aktualisierten Replikate und die der angefragten Replikate überlappen müssen! Konfiguration: R + W N ˆ In diesem Fall liegt Eventual Consistency vor. Eventual Consistency ˆ Eventual (auf Deutsch: letztendlich) Consistency beschreibt, dass nach einer gewissen Zeit alle Replikate aktualisiert sind. Aber ab dem Schreibvorgang bis zu diesem Zeitpunkt ist nicht garantiert, dass Lesevorgänge die zuvor geschriebene Version sehen. Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 24 / 35

MapReduce, Abbildung von Daten auf Knoten Gegeben Daten mit Schlüsseln 13, 34, 11, 9 und Hashfunktion f(k) := 17 k mod m Für m = 4 Knoten 0 1 13, 9 2 34 3 11 Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 25 / 35

MapReduce, Abbildung von Daten auf Knoten Gegeben Daten mit Schlüsseln 13, 34, 11, 9 und Hashfunktion f(k) := 17 k mod m Für m = 4 Knoten Für m = 5 Knoten 0 0 1 13, 9 1 13 2 34 2 11 3 11 3 34, 9 4 Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 25 / 35

MapReduce, Consistent Hashing Anforderungen ˆ Nur lokales Verschieben: Wenn neue Maschinen hinzukommen oder Maschinen entfernt werden sollen Daten nur lokal neu organisiert werden. ˆ Ebenso: Lastbalancierung, d.h. Knoten bekommen gleiche Menge an Daten ab. Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 26 / 35

MapReduce, Consistent Hashing Anforderungen ˆ Nur lokales Verschieben: Wenn neue Maschinen hinzukommen oder Maschinen entfernt werden sollen Daten nur lokal neu organisiert werden. ˆ Ebenso: Lastbalancierung, d.h. Knoten bekommen gleiche Menge an Daten ab. Consistent Hashing ˆ Weise allen Knoten und Datenelementen je eine ID zu ˆ z.b. von 0 bis 63 auf zyklischem Identifier-Space ˆ Dann: Weise Daten dem nächsten Knoten mit größerer ID zu. Karger et al.: Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web. STOC 1997. Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 26 / 35

MapReduce, 63 0 Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 27 / 35

MapReduce, 62 7 Weise Knoten einen Platz auf dem Identifier-Ring zu, z.b. mittels normaler Hashfunktion. 55 43 Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 28 / 35

MapReduce, 2 Daten werden ebenfalls auf Ring platziert. 59 62 7 12 Weise Item mit key i dem Knoten mit id j zu, sodass j i und es existiert kein Knoten j mit j > j i 55 33 25 (Achtung: Spezialfall am Anfang/Ende des Rings beachten) 50 43 45 Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 29 / 35

MapReduce, Hinzfügen von Knoten 2 Knoten mit id 21 kommt neu hinzu. 59 62 7 20 12 Was muss angepasst werden? Nur der Datensatz mit key 12 muss verschoben werden. 55 33 25 Also, keine globale Reorganisation! 50 45 43 Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 30 / 35

MapReduce, Entfernen von Knoten 59 62 2 7 12 Knoten mit id 55 fällt weg, was muss getan werden? Daten mit id 50 und 45 müssen dem Knoten 62 zugewiesen werden. 55 33 20 25 Also, keine globale Reorganisation! 50 45 43 Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 31 / 35

MapReduce, Kosten für Suche (aka. Lookup) / Monotonie 62 2 7 Ausgehend von einem Knoten, wie kann man den Knoten für f(key) finden? 59 12 55 50 43 33 25 Wie kann man formal beschreiben was Consistent heißt? 45 Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 32 / 35

MapReduce, Consistent Hashing: Eigenschaften und Implementierung Monotonie Sei f(v,i) eine Hashfunktion die Schlüssel i auf einen der Knoten der Menge V abbildet. Gegeben zwei solche Mengen von Knoten, V 1 und V 2, mit V 1 V 2, dann muss gelten: f(v 2, i) V 1 f(v 1, i) = f(v 2,i) (Lineare, Logarithmische oder Konstante) Lookup-Kosten ˆ Naive Implementierung: Lineare Kosten für Suche nach Knoten für einen Schlüssel ˆ Besser: Jeder Knoten mit id i speichert Verweise auf Knoten, die für (i + 2), (i + 4), (i + 8), (i + 16),... zuständig sind. Periodische Instandhaltung. Dann: logarithmische Kosten für Suche. ˆ Oder: Jeder Knoten kenne id und Zuständigkeitsbereich aller anderen Knoten. Dann: Konstante Lookup-Kosten. Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 33 / 35

MapReduce, Ausblick ˆ Viele weitere Problemstellungen in der Verarbeitung von Daten in verteilten Systemen. ˆ Wie können Systeme ausfallsicher gemacht werden ( fault tolerance )? ˆ Wie können Ereignisse global geordnet werden? ˆ Wie können Replikate garantiert konsistent gehalten werden? ˆ Welche Abstufungen gibt es bzgl. Konsistenz aus Sicht von Anwendern oder global? ˆ... Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 34 / 35

MapReduce, http://dbis.informatik.uni-kl.de/index.php/en/teaching/ summer-2015/distributed-data-management Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbanksysteme, WS 15/16 35 / 35 VL Distributed Data Management (DDM), SoSe 2017