Datenmanagement in verteilten Umgebungen Flashcards
Was ist Big Data?
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)
Was sind die 5 V Eigenschaften von Big Data?
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
Was ist das Problem der Verwaltung von Datenbestände mit den 5 V Eigenschaften?
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
Was sind die Gründe zur Notwendigkeit von verteiltem Datenmanagement?
Massive Steigerung der Leistungsfähigkeit von Hardware
Rasante Zunahme der Anzahl digitaler Endgeräte
Vermehrter Einsatz von Big Data und IoT Anwendungen
Welche Skalierungen gibt es für Datenmanagementsysteme?
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.
Was passiert bei der vertikalen Skalierung (scale-up)?
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
Was passiert bei der horizontalen Skalierung (scale-out)?
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
Was beweist das CAP Theorem?
Beweist die Unvereinbarkeit von Konsistenzsicherung (ACID) und permanenter Verfügbarkeit bei verteilten (horizontal skalierten) Datenmanagement.
Welche Eigenschaften eines verteilten DMS sind erwünscht?
Consistency
Availability
Partition tolerance
Was ist ein Beispiel dass ACID bei vert. Systemen nicht eingehalten werden kann?
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
Wieviele CAP Eigenschaften können gleichzeitig in einem DMS gewährleistet werden?
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
Was ist Konsistenz im CAP Theorem?
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
Was ist Verfügbarkeit (Availability) im CAP Theorem?
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
Was ist Ausfalltoleranz (Partition tolerance) im CAP Theorem?
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.
Was ist das BASE Paradigma?
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.
Was sind die drei Elemente des BASE Paradigmas?
Basic Availability
Soft State
Eventual Consistency
Was ist Basic Availability?
Die grundlegende Verfügbarkeit der gesamten Datenbasis ist gewährleistet, obwohl diese über zahlreiche Knoten in einem großen Rechnernetzwerk verteilt ist
Was ist Soft State?
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
Was ist Eventual Consistency?
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.
Wie ist BASE verglichen mit ACID?
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
Was sind die Unterschiede zwischen ACID & BASE bei Architektur?
ACID: Zentraler Datenbankserver
BASE: viele Server in dezentraler Netzwerkstruktur
Was sind die Unterschiede zwischen ACID & BASE bei Skalierung?
ACID: Vertikale Skalierung
BASE: Horizontale Skalierung
Was sind die Unterschiede zwischen ACID & BASE bei CAP Eigenschaften?
ACID: Availability & Consistency (AC)
BASE: Availability & Partition Tolerance (AP)
Was sind die Unterschiede zwischen ACID & BASE bei Konsistenzgarantie?
ACID: Konsistenz muss stets sichergestellt sein
BASE: Konsistenz wird ggf. nachträglich hergestellt