Datenmanagement in verteilten Umgebungen Flashcards

1
Q

Was ist Big Data?

A

Umfangreiche Datenbestände, die mit herkömmlichen
Softwarewerkzeugen kaum mehr zu bewältigen sind.

Die Daten sind meistens unstrukturiert und
stammen aus den unterschiedlichsten Quellen ( Mitteilungen aus sozialen Netzwerken, E Mails, elektronische Archiven mit Multimedia Inhalten, Anfragen aus Suchmaschinen, Dokumentsammlungen von Content Management Systemen, Kursentwicklungen von Börsenplätzen, Bestell Kauf und Bezahlvorgänge elektronischer Shops etc)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind die 5 V Eigenschaften von Big Data?

A

Volume: Es handelt sich um sehr große Datenbestände, häufig im Zetabytebereich 1 Zetabyte entspricht 10 21 Bytes)

Variety: Die Daten weisen einen unterschiedlichen Strukturierungsgrad auf

Velocity: Die Daten müssen häufig in Echtzeit verarbeitet oder analysiert werden

Value: Die in den Daten enthaltenen Informationen bergen ein Potenzial zur Steigerung des
Unternehmenswerts durch ein vermehrtes Informationskapital

Veracity: Die Datenanalyseverfahren müssen an den relativ geringen Strukturierungsgrad der Daten angepasst werden. Häufig stoßen klassische statistische Auswertungsverfahren an ihre Grenzen, sodass moderne Verfahren, beispielsweise des maschinellen Lernens erforderlich sind, um wertvolles Wissen aus den Daten zu extrahieren

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist das Problem der Verwaltung von Datenbestände mit den 5 V Eigenschaften?

A

Die Verarbeitung von Datenbeständen mit diesen Eigenschaften stellt Unternehmen vor Herausforderungen, da Datenbestände dieser Größe häufig nicht mehr effizient in einem zentralen Datenbanksystem handhabbar sind:

Zugleich stellt die analytische Auswertung solcher großen Datenbestände einen zunehmend bedeutsamen Wettbewerbsfaktor dar, da viele strategische Managementprozesse oder ganze Geschäftsmodelle auf die auf diese Weise gewonnen Erkenntnisse basieren können:

Deshalb muss die betriebliche Datenmanagementstrategie an die Eigenschaften solcher Datensätze angepasst werden, wenn ein entsprechender betrieblicher Anwendungsfall vorliegt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was sind die Gründe zur Notwendigkeit von verteiltem Datenmanagement?

A

Massive Steigerung der Leistungsfähigkeit von Hardware

Rasante Zunahme der Anzahl digitaler Endgeräte

Vermehrter Einsatz von Big Data und IoT Anwendungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Welche Skalierungen gibt es für Datenmanagementsysteme?

A

Vertikale Skalierung:
Vergrößerung der Kapazitäten eines zentralen Datenmanagementsystems

Horizontale Skalierung:
Verteilung der Datenbasis auf sehr viele dezentrale Datenmanagementkomponenten.

Ab einer bestimmten Datenmenge stößt vertikale Skalierung an ihre technischen Grenzen ->
für Big Data ist horizontale Skalierung erforderlich.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was passiert bei der vertikalen Skalierung (scale-up)?

A

Eine zentrale Datenbank wird erweitert

Eine Zunahme der Hardwarekapazitäten einer zentralistischen Datenbank zu setzen, da diese ab einem bestimmten Punkt unverhältnismäßig teuer wird und das zentrale DBMS zwangsläufig an seine
technischen Kapazitätsgrenzen stößt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was passiert bei der horizontalen Skalierung (scale-out)?

A

Ein dezentrales Netzwerk aus Datenbanken wird erweitert.

die Aufteilung der Datenbasis über zahlreiche Datenbanken, die unabhängig voneinander auf verschiedenen über das Internet verbundenen Servern (Knoten) betrieben werden.

Die Aufteilung der Datenbasis auf mehrere, unabhängig voneinander arbeitende Datenbanksysteme führt dazu, dass es kein zentrales DBMS mehr gibt, welches eine permanente Konsistenzsicherung der verwalteten Datenbasis gewährleisten kann
-> CAP Theorem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was beweist das CAP Theorem?

A

Beweist die Unvereinbarkeit von Konsistenzsicherung (ACID) und permanenter Verfügbarkeit bei verteilten (horizontal skalierten) Datenmanagement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Eigenschaften eines verteilten DMS sind erwünscht?

A

Consistency

Availability

Partition tolerance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist ein Beispiel dass ACID bei vert. Systemen nicht eingehalten werden kann?

A

Verteilte Datenmanagementsysteme, die sich durch eine hohe Verfügbarkeit auszeichnen, speichern ihre Datenbasis in der Regel redundant auf verschiedenen Servern, sodass die Synchronisation von Änderungen an der Datenbasis zu einer Zeitverzögerung führen können.

Liegt die potenzielle Länge dieses Synchronisationsintervalls oberhalb der erforderlichen maximalen Antwortzeit des Systems, so kann es vorkommen, dass Anwendungssysteme auf eine veraltete oder anderweitig inkonsistente Kopie
der Datenbasis zugreifen, was eine Verletzung der in Kapitel 2 eingeführten ACID Eigenschaft darstellt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wieviele CAP Eigenschaften können gleichzeitig in einem DMS gewährleistet werden?

A

In einem Datenmanagementsystem können jeweils nur zwei der drei Eigenschaften Konsistenz. Verfügbarkeit und Ausfalltoleranz gewährleistet werden.

Insbesondere kann ein massiv verteiltes Datenhaltungssystem nicht gleichzeitig uneingeschränkte Konsistenzerhaltung und Verfügbarkeit garantieren

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist Konsistenz im CAP Theorem?

A

Wenn eine Transaktion auf einer verteilten Datenbank mit replizierten Knoten Daten verändert, erhalten alle lesenden Transaktionen den aktuellen Zustand,
egal über welchen Knoten sie zugreifen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist Verfügbarkeit (Availability) im CAP Theorem?

A

Ein ununterbrochener Betrieb des Datenmanagementsystems ist sichergestellt.

Wenn ein Anwendungssystem auf das Datenmanagementsystem zugreift, erhält es dementsprechend akzeptable Antwortzeiten, unabhängig vom Zeitpunkt des Zugriffs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was ist Ausfalltoleranz (Partition tolerance) im CAP Theorem?

A

Fällt ein Knoten in einem replizierten Rechnernetzwerk
oder eine Verbindung zwischen einzelnen Knoten aus, so hat das keinen Einfluss auf das Gesamtsystem.

Zudem lassen sich jederzeit Knoten ohne Unterbruch des Betriebs einfügen oder wegnehmen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist das BASE Paradigma?

A

Wie das CAP Theorem zeigt, ist es nicht möglich, die konsistenzsichernden Eigenschaften des ACID Paradigmas bei verteilten Datenmanagementsystemen zu garantieren.

Stattdessen wurde in den 2000 er Jahren ein alternatives Konzept zur Konsistenzsicherung vorgeschlagen, welches in Abgrenzung zu ACID mit BASE tituliert wurde und sich an den Anforderungen für hochverteilte und hochverfügbare Datenverwaltung orientiert, wo die Verarbeitung sehr großer Datenmengen in hoher Geschwindigkeit Vorrang vor uneingeschränkter Sicherstellung von Transaktionssicherheit und permanenter Konsistenzerhaltung hat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was sind die drei Elemente des BASE Paradigmas?

A

Basic Availability

Soft State

Eventual Consistency

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was ist Basic Availability?

A

Die grundlegende Verfügbarkeit der gesamten Datenbasis ist gewährleistet, obwohl diese über zahlreiche Knoten in einem großen Rechnernetzwerk verteilt ist

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was ist Soft State?

A

Aufgrund der fehlenden sofortigen Konsistenz kann sich der Zustand (state) der Datenbasis, auf die ein Anwendungssystem zugreift, im Laufe der Zeit ändern, obwohl zwischenzeitlich keine Änderungsoperationen durch Anwendungssysteme angestoßen worden sind

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Was ist Eventual Consistency?

A

Es existieren zwar Mechanismen zur Konsistenzerhaltung innerhalb des Systems, d h zur Angleichung der unterschiedlichen Kopien der Datenbasis.

Da diese jedoch möglicherweise langsamer sind als die Zugriffszeiten von Anwendungssystemen, ist es möglich, dass ein Anwendungssystem zwischenzeitlich einen inkonsistenten Zustand der Datenbasis zu
sehen bekommt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Wie ist BASE verglichen mit ACID?

A

Verglichen mit den strikten ACID Eigenschaften wirken die Zusagen des BASE Paradigmas sehr schwach und wenig zufriedenstellend.

Dabei muss jedoch berücksichtigt werden, dass Anwendungssysteme die auf das BASE Paradigma basieren, auch dann gut funktionieren, wenn Teile der
Datenbasis inkonsistent oder veraltet sind.

Beispielsweise spielt es in einer webbasierten Anwendung wie einem Webshop oder einer Suchmaschine keine gewichtige Rolle, ob stets die neusten und aktuellsten Daten innerhalb von Sekunden zugänglich gemacht werden können, sondern vielmehr, dass das System hohe Auslastung verträgt und trotzdem verfügbar bleibt.

Es wird also unmittelbar deutlich, dass die Wahl des Datenmanagementansatzes zwingend an die strategischen Ziele angepasst werden muss, die mithilfe der angeschlossenen Anwendungssysteme erreicht werden sollen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Was sind die Unterschiede zwischen ACID & BASE bei Architektur?

A

ACID: Zentraler Datenbankserver

BASE: viele Server in dezentraler Netzwerkstruktur

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Was sind die Unterschiede zwischen ACID & BASE bei Skalierung?

A

ACID: Vertikale Skalierung

BASE: Horizontale Skalierung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Was sind die Unterschiede zwischen ACID & BASE bei CAP Eigenschaften?

A

ACID: Availability & Consistency (AC)

BASE: Availability & Partition Tolerance (AP)

24
Q

Was sind die Unterschiede zwischen ACID & BASE bei Konsistenzgarantie?

A

ACID: Konsistenz muss stets sichergestellt sein

BASE: Konsistenz wird ggf. nachträglich hergestellt

25
Q

Was sind die Unterschiede zwischen ACID & BASE bei Zugriffschnittstelle?

A

ACID: meist SQL

BASE: häufig REST basierte Schnittstelle

26
Q

Was sind die Unterschiede zwischen ACID & BASE bei Datenidentifikation?

A

ACID: Primärschlüsselattribute

BASE: globale Identifikatoren z.B. URI

27
Q

Was sind die Unterschiede zwischen ACID & BASE bei Indexunterstützung?

A

ACID: Indexe auf beliebigen Attributen

BASE: Indexe nur auf Schlüsselattributen

28
Q

Für was bildet das BASE Paradigma meist die Grundlage?

A

Für NoSQL Datenbanken

29
Q

Was sind Eigenschaften von NoSQL DB?

A

Horizontale Skalierbarkeit

Schwache oder keine Schemarestriktionen

Ausfallsicherheit durch Datenreplikation

Herstellerabhängige Zugriffsschnittstellen

BASE Konsistenzmodell

30
Q

Was führte zum Aufkommen von NoSQL DB?

A

Im späten 20 Jahrhundert, als das Web noch unbekannt war oder nur statische HTML Dokumente umfasste, waren relationale DBMS lange Zeit uneingeschränkter Marktführer im Bereich des digitalen Datenmanagements.

Durch das Aufkommen moderner Webtechnologien und der zunehmenden Popularität von REST basierten Systemen stießen diese jedoch zunehmend an ihre Grenzen, wenn es darum ging, tausende oder gar Millionen von Anfragen zu verarbeiten oder einen Datenbestand im Bereich der Petabytes 1 Petabyte entspricht 1 024 Terabyte oder 1 048 576 Gigabyte) zu verwalten.

Diese Entwicklungen führten zum Aufkommen eines neuen, von zentralistischen SQL basierten DBMS verschiedenen Ansatz zur Datenverwaltung, der heutzutage in der Literatur als NoSQL bezeichnet wird

31
Q

Welche Kategorien von NoSQL DB gibt es?

A

Key Value Stores

Wide Column Stores

Dokumentendatenbanken

Graphdatenbanken

32
Q

Was ist ein Key-Value Store?

A

Der einfachste Ansatz zur strukturierten Speicherung von Daten besteht in der Zuordnung der einzelnen Datensätze zu einem entsprechenden Schlüsselwert Ein einzelner Datensatz wird dabei als „ Wert“ (Value) zu einem Schlüssel (Key) aufgefasst, wobei der Schlüssel
vergleichbar mit dem ID Schlüssel im Relationenmodell ist.

Sowohl der Schlüssel als auch der Datensatz können intern auch komplexere Strukturen aufweisen, deren Handhabung dann jedoch durch das Anwendungssystem erfolgen muss, das auf die Datenbank zugreift.

Key Value Stores sind die schnellsten und effizientesten Datenspeicher hinsichtlich ihrer Kapazität und
Zugriffsgeschwindigkeit, allerdings bieten sie keinerlei Mechanismen für die Definition von Datenschemata oder die Formulierung komplexer Abfragen (z B Verbünde, Aggregatfunktionen) an, sodass diese Funktionalität falls nötig direkt in den jeweiligen Anwendungssystemen implementiert werden muss

33
Q

Was ist Wide Column Store?

A

Die Datenstruktur der Wide Column Stores ist inspiriert durch tabellarische Datenverwaltung, wie sie beispielsweise in Tabellenkalkulationsprogrammen (z B Microsoft Excel) vorkommt.

Konkret besteht der Unterschied zu den Key Value Stores darin, dass zu einem Schlüssel beliebig viele Datensätze erfasst werden können.

Diese werden häufig intern noch einmal nach bestimmten Kriterien angeordnet, verkettet oder gruppiert Somit stellen die Wide Column Stores in gewisser Weise ein hybrides Modell zwischen einfachen Key Value Stores und relationalen Datenbanken dar

34
Q

Was zeigt sich im Vergleich von NoSQL DB und Graphdatenbanken?

A

Graphdatenbanken mehr Funktionalität aber skalieren schlechter

35
Q

Was sind Dokumentendatenbanken?

A

Dokumentendatenbanken (document stores) speichern Daten in Form von strukturierten Datensammlungen ..„ bedeutet in diesem Zusammenhang, dass die Daten zwar serialisiert als lesbarer Text vorliegen, dieser Text jedoch einer bestimmten Syntax genügen muss.

Dabei kann es sich z B um das im folgenden Abschnitt behandelte JSON Format (JavaScript Object Notation) oder auch um eine Serialisierung der in Kapitel 5
betrachteten RDF Dateien handeln.

Gegenüber einfachen Key Value Stores haben
Dokumentendatenbanken den Vorteil, dass ihr DBMS die Struktur der zu speichernden Daten zumindest auf syntaktischer Ebene überprüfen kann und dass einige der verwendeten Formate (z B XML, JSON, RDF) auch die Definition eines Schemas zulassen, wobei entsprechende Konsistenzprüfungen allerdings durch das auf die Daten zugreifende Anwendungssystem
erfolgen müssen.

Aufgrund der Organisation der Daten in Form von strukturierten Dokumenten können Sie außerdem komplexere Anfragen auswerten und eignen sich besonders für die Speicherung von großen oder komplexen Aggregaten

36
Q

Was sind Graphdatenbanken?

A

Die bereits aus Kapitel 5 bekannten Graphdatenbanken stellen ebenso einen Vertreter der NoSQL Datenbanken dar.

Sie unterscheiden sich allerdings insofern von den
anderen oben gelisteten Ansätzen, als dass sie eine umfangreiche Strukturierung der Daten
entsprechend dem in Kapitel 5 behandelten Graphenmodell zulassen, welches sich besonders
zur Modellierung von Beziehungen zwischen verschiedenen Entitäten eignet.

Dadurch können sie deutlich komplexere Anfragen effizient auswerten und unterstützen häufig sogar logische Inferenz (d h logische Schlussfolgerungen) auf der Datenbasis Insbesondere, wenn die Graphdatenbank das in Kapitel 5 behandelte Konzept des Property Graphen unterstützt, sind auch
Schemadefinitionen und Überprüfung von (strukturellen und referenziellen) Konsistenzbedingungen möglich

37
Q

Was ist Aggregatoriertierung?

A

Heißt dass pro Schlüsselwert eine Datengruppe (Aggregat) gespeichert wird, die aus vielen zusammengehörigen Datensätzen bestehen kann.

38
Q

Wie ist die Aggregatorientierung pro NoSQL Kategorie?

A

Key Value Sotres: Struktur des Aggregats wird vollständig durch Anwendungssystem verwaltet

Wide Column Stores: Pro Datensatz steht eine Spalte zur Verfügung

Dokumentendatenbanken: Struktur des Aggregats wird in Dokumentenstruktur abgebildet

Graphdatenbanken/rel. DB: keine Aggregatorientierung

39
Q

Was sind Bedingungen für gute Eignung aggregatorientierter Datenspeicher?

A

Sinnvolle Bildung von Aggregaten aus den gegebenen Datensätzen ist möglich

Die verschiedenen Aggregate weisen ggf. eine unterschiedliche interne Struktur auf.

Es kann ein eindeutiger Schlüsselwert pro Aggregat gefunden werden

Wenn ein Aggregat abgefragt werden soll ist sein Schlüsselwert bekannt

Es müssen möglichst keine Verbünde zwischen den Aggregaten gebildet werden.

40
Q

Was sind nicht-aggregatorientierte Datenspeicher?

A

Sind dementsprechend Datenmanagementsysteme,
die nur einzelne Datensätze pro Schlüsselwert speichern.

In diese Gruppe zählen neben den Graphdatenbanken auch die traditionellen relationalen Datenbanken

41
Q

Was wird häufig verwnedet um Datenabfragen in verteilten Datenmanagementsystemen zu ermöglichen?

A

Das Map/Reduce Verfahren

42
Q

Was ist das Map/Reduce Verfahren

A

Das Map/Reduce Verfahren besteht aus zwei nacheinander ablaufenden Phasen

In der Map Phase werden zu einer Menge von Schlüsselwerten relevante Datensätze identifiziert und zusammengetragen. Dieser Vorgang kann parallel auf verschiedenen Knoten ausgeführt werden.

Die Ergebnisse in Form von Schlüsselwerten und den zugehörigen Datensätzen werden anschließend für die weitere Verarbeitung zwischengespeichert.

Die Reduce Phase beginnt, sobald die Map Phase auf allen beteiligten Knoten abgeschlossen ist und alle Zwischenergebnisse vorliegen.

In der Reduce Phase werden pro Schlüsselwert alle Datensätze zu einem (aggregierten) Datensatz zusammengefasst, sodass am Ende pro Schlüsselwert ein Ergebnis Datensatz vorliegt.
Auch diese Phase kann parallel auf verschiedenen Knoten ausgeführt werden

43
Q

Was ermöglichen Dokumentdatenbanken?

A

Die Speicherung beliebiger Datensätze in Form von eindeutig identifizierbaren Dokumenten mit fester syntaktischer Struktur

44
Q

Was sind Eigenschaften von Dokumentdatenbanken?

A

Aggregatorientierung: Zu jedem Schlüsselwert wird ein Dokument gespeichert. Länge Inhalt und Struktur des Dokument variieren beliebig.

Schemalosigkeit: Kein Mechanismus zur Definition eines Datenschemas. Struktur der Dokumente wird nur auf Syntaxebene vorgegeben.

Fehlende semantische Konsistenzprüfung: Mangels Schema kann keine Prüfung der Datenintegrität erfolgen. Geprüft wird lediglich die syntaktische Korrektheit der Dokumente.

Replikationsmechanismen: Gesamte Datenbasis oder Teile können repliziert werden. Replizierte Datenbestände werden fortlaufend synchronisiert.

45
Q

Was ist JSON?

A

Java Script Object Notation ist ein im Web Kontext beliebtes Format zur syntaktischen Strukturierung von Dokumenten.

Enthält entweder eins der Elemente:
Atomarer Wert
Array
Objekt

Durch Arrays und Objekte lassen sich JSON Dateien beliebig tief verschachteln

46
Q

Wieso wird heute eher JSON als XML verwendet?

A

weist XML allerdings den Nachteil auf, dass seine Struktur relativ komplex ist, was zum einen die Lesbarkeit für menschliche AnwenderInnen erschwert und zum anderen dazu führt, dass die Dateigröße von XML Dateien stark wächst, wenn die Daten eine komplexe Struktur aufweisen

47
Q

Welche Elemente kann ein jSON enthalten?

A

Atomarer Wert: Ein atomarer Wert ist eine einzelne Zeichenkette, eine einzelne Zahl oder ein boolescher Wert d h true oder false. Außerdem ist der Nullwert null
als atomarer Wert zulässig. Zur Unterscheidung dieser Typen werden Zeichenketten stets in doppelten Anführungszeichen angegeben, alle anderen Werte hingegen nicht.

Array: Ein Array ist eine Liste von Elementen Arrays werden von eckigen Klammern umgeben und die einzelnen Elemente werden mit einem Komma getrennt

Objekt: Ein Objekt ist eine Menge von Schlüssel Wert Paaren Objekte werden von geschweiften Klammern umgeben und die einzelnen Schlüssel Wert Paare werden mit einem Komma getrennt. Jedes der Schlüssel Wert Paare enthält einen Schlüssel in Form einer (mit Anführungszeichen umgebenen) Zeichenkette, gefolgt von einem Doppelpunkt und einem Element, welches den Wert des Schlüssel Wert Paares repräsentiert

48
Q

Was ist Apache Couch DB?

A

Eine Dokumentdatenbank die Dokumente im JSON Format speichert und eine HTTP basierte REST Schnittstelle für den Datenzugriff verwendet.

49
Q

Wie erfolgt das Anlegen einer Datenbank mit Apache Couch DB?

A

HTTP Befehl: PUT / products

HTTP Header: keine

HTTP Body: leer

50
Q

Wie erfolgt das Erstellen von Dokumenten in einer Datenbank mit Apache Couch DB?

A

HTTP Befehl: PUT / products /ZahlXY

HTTP Header: keine

HTTP Body: zu erstellendes JSON Dokument

51
Q

Wie erfolgt das Abfragen eines Dokuments aus einer Datenbank mit Apache Couch DB?

A

HTTP Befehl: GET / products / ZahlXY

HTTP Header: keine

HTTP Body: leer

52
Q

Wie erfolgt das Ändern eines Dokuments in einer Datenbank mit Apache Couch DB?

A

HTTP Befehl: PUT / products / ZahlXY

HTTP Header: If match: RevisionID

HTTP Body: verändertes JSON Dokument

53
Q

Wie erfolgt das Löschen eines Dokuments einer Datenbank mit Apache Couch DB?

A

HTTP Befehl: Delete / products / Zahl XY

HTTP Header: If match: Revision ID

HTTP Body: leer

54
Q

Wie können Datenabfrgaen bei Apache Couch DB durchgeführt werden die über das einfache Abrufen von Dokumenten hinaus gehen?

A

Über das Map/Reduce Verfahren

Die während der Map Phase auszuführenden Operationen werden durch die Implementierung
einer Map Funktion angegeben Dabei handelt es sich um eine sehr einfache Funktion, die in JavaScript Programmcode geschrieben wird. Dies bietet sich an, da JavaScript Programme JSON Objekte automatisch lesen und interpretieren können (daher auch der Name JavaScript Object Notation.

Die map Funktion erhält als Eingabe eine Variable namens doc die für eines der abzufragenden
Dokumente steht. Sie wird der Reihe nach für jedes Dokument der Datenbank aufgerufen. Während jeder Ausführung ruft sie die vordefinierte Funktion emit() auf, die zwei Eingabeparameter hat. Den Schlüssel der Ausgabe key und den zugehörigen Wert value.
Sowohl für den Schlüssel als auch für den Wert können beliebige JSON Elemente (also atomare Werte, Arrays und Objekte) spezifiziert werden, die aus den Feldern des abzufragenden Dokuments zusammengesetzt werden können.

Für die Reduce Phase kann neben selbst programmierten Funktionen aus einer Liste von
vordefinierten Aggregatfunktionen gewählt werden, zu denen unter anderem sum und count zählen, die analog zu den gleichnamigen SQL Funktionen fungieren. Alternativ kann auch spezifiziert werden, auf eine Reduce Funktion komplett zu verzichten. Wählt man eine Reduce Funktion aus, so aggregiert diese die Werte aus der Map Phase zu einem skalaren Wert, wobei spezifiziert werden kann, ob dies global oder separat für jeden Wert des Schlüssels geschehen
soll (letzteres entspräche GROUP BY key in SQL

55
Q

Was ist Polyglot Persistance?

A

Steht für die Kombination verschiedener Datenmanagementansätze entsprechend der betrieblichen Anforderungen