Verteilte Systeme und ACID/BASIS Eigenschaften

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Welche der folgenden Datenbanktypen ist kein Document Store?

  • CouchDB
  • Redis (correct)
  • Informix
  • MongoDB

Welches der folgenden Merkmale ist ein Vorteil von Document Stores?

  • Schema sind verpflichtend
  • Dokumente müssen identische Felder enthalten
  • Beziehungen zwischen Tabellen sind zwingend
  • Einfaches Hinzufügen neuer Felder (correct)

Welche der folgenden Datenbanken ist ein Beispiel für einen Graph-Datenspeicher?

  • Hadoop
  • Cassandra
  • Neo4j (correct)
  • MongoDB

Was beschreibt die horizontale Skalierung in Bezug auf weiche Konsistenz?

<p>Erhöhung der Verfügbarkeit durch mehr Daten (C)</p> Signup and view all the answers

Welche Aussage über Key-Value Stores ist korrekt?

<p>Sie speichern Daten als Schlüssel-Wert-Paare. (A)</p> Signup and view all the answers

Was ist ein typisches Merkmal eines Document Stores?

<p>Unstrukturierte Informationen können gespeichert werden (C)</p> Signup and view all the answers

Wie wird ein Key-Value Store typischerweise verwendet?

<p>Zur Zuordnung eines Werts zu einem Schlüssel (A)</p> Signup and view all the answers

Welche der folgenden Datenbanken ist ein Beispiel für einen Wide Column Store?

<p>Cassandra (A)</p> Signup and view all the answers

Was beschreibt das ACID-Prinzip in klassischen Datenbanken?

<p>Transaktionen sind entweder vollständig oder gar nicht ausgeführt. (A)</p> Signup and view all the answers

Welche Eigenschaft beschreibt 'Eventually consistent' in NoSQL-Datenbanken?

<p>Daten werden irgendwann auf alle relevanten Knoten kopiert. (B)</p> Signup and view all the answers

Welches der folgenden Merkmale ist in der Regel nicht Teil von NoSQL-Datenbanken?

<p>SQL-Kompatibilität (C)</p> Signup and view all the answers

Wie wird die Konsistenz in einem BASE-Modell beschrieben?

<p>Weich und flexibel. (D)</p> Signup and view all the answers

Welche Aussage trifft auf die Isolation in ACID zu?

<p>Transaktionen werden unabhängig voneinander ausgeführt. (D)</p> Signup and view all the answers

Welche der folgenden Aussagen stellt einen Vorteil der NoSQL-Datenbanken dar?

<p>Einfache Entwicklung. (D)</p> Signup and view all the answers

Wie beschreibt das BASE-Modell die Datenverfügbarkeit?

<p>Sie ist bedingt und nicht konstant. (D)</p> Signup and view all the answers

Was stellt eine Herausforderung bei der Verwendung von NoSQL-Datenbanken dar?

<p>Einheitlichkeit bei Transaktionen. (D)</p> Signup and view all the answers

Was ist ein Hauptmerkmal von spaltenorientierten Datenbanken?

<p>Daten werden in Spalten gespeichert. (D)</p> Signup and view all the answers

Welches dieser Beispiele gehört nicht zu den Wide Column Stores?

<p>MySQL (C)</p> Signup and view all the answers

Was ist ein Vorteil der spaltenorientierten Speicherung?

<p>Effiziente Berechnung über große Datenmengen für bestimmte Abfragen. (D)</p> Signup and view all the answers

Welches Programmiermodell wurde von Google entwickelt, um große Datenmengen zu verarbeiten?

<p>Map/Reduce (B)</p> Signup and view all the answers

Was beschreibt den 'Map'-Prozess im Map/Reduce-Modell?

<p>Das Erfassen von Daten aus verschiedenen Quellen. (D)</p> Signup and view all the answers

Welches dieser Merkmale ist charakteristisch für zeilenorientierte Datenbanken?

<p>Die Struktur ähnelt einem Karteikartensystem. (C)</p> Signup and view all the answers

Was ist eine typische Anwendung von Map/Reduce?

<p>Verarbeitung und Analyse großer Datenmengen. (D)</p> Signup and view all the answers

Wie wird der 'Reduce'-Prozess im Map/Reduce-Modell beschrieben?

<p>Vereinigen von Zählungen aus verschiedenen Quellen. (B)</p> Signup and view all the answers

Welche der folgenden Datenbanktypen sind als eingebettete Datenbanken bekannt?

<p>dbm (B)</p> Signup and view all the answers

Welches Merkmal beschreibt nicht die Graph-Datenbanken?

<p>Zugriff über Relationen (D)</p> Signup and view all the answers

Was charakterisiert Cassandra als spaltenorientierte Datenbank?

<p>Daten in Spaltenfamilien (C)</p> Signup and view all the answers

Welche Anwendung ist besonders geeignet für Graph-Datenbanken?

<p>Soziale Netzwerke (A)</p> Signup and view all the answers

Welche Aussage über die Skalierung von Graph-Datenbanken ist korrekt?

<p>Knoten können in mehrere Subgraphen aufgeteilt werden. (C)</p> Signup and view all the answers

Welches der folgenden Elemente gehört nicht zur Kategorie der In-Memory-Datenbanken?

<p>Berkeley DB (A)</p> Signup and view all the answers

Was ist eine typische Verwendung von Graph-Datenbanken?

<p>Management von komplexen Beziehungen zwischen Entitäten (B)</p> Signup and view all the answers

Welches der folgenden Merkmale beschreibt nicht Redis?

<p>Sichert Daten nur im Arbeitsspeicher (A)</p> Signup and view all the answers

Was ist ein Hauptmerkmal eines Datenlagers?

<p>Speicherung aller Datenarten (B)</p> Signup and view all the answers

Welches der folgenden Systeme kann als Datenlager betrachtet werden?

<p>Apache Hadoop (A)</p> Signup and view all the answers

Was sind Vorteile eines klassischen relationalen DBMS?

<p>Konsistenzanforderungen unterstützt durch die Datenbank (C)</p> Signup and view all the answers

Was beschreibt die Mächtigkeit der Abfragen in relationalen DBMS?

<p>Komplexe Abfragen über mehrere Tabellen (B)</p> Signup and view all the answers

Ein Nachteil von Datenlagern ist:

<p>Ihre nicht optimierte Abfragegeschwindigkeit für spezifische Muster (C)</p> Signup and view all the answers

Was ist ein typisches Merkmal eines relationalen DBMS?

<p>Standardisierte Schnittstellen und einheitliches relationales Datenmodell (D)</p> Signup and view all the answers

Warum wird es weniger wichtig sein, ob Rechenleistung und Parallelität optimiert sind?

<p>Da Rechenleistung und Parallelität günstiger werden (D)</p> Signup and view all the answers

Was beschreibt ACID im Kontext eines relationalen DBMS?

<p>Ein Konzept zur Sicherstellung der Datenkonsistenz (A)</p> Signup and view all the answers

Flashcards are hidden until you start studying

Study Notes

Verteilte Systeme

  • In verteilten Systemen sind Netzwerkpartitionen unumgänglich
  • Gleichzeitig können Konsistenz und Verfügbarkeit nicht erreicht werden

ACID-Eigenschaften

  • Atomizität (Abgeschlossenheit)
    • Sequenz von Datenoperationen wird entweder vollständig oder gar nicht ausgeführt
    • Konsistenz bedeutet, dass eine Sequenz von Datenoperationen nach Beendigung einen konsistenten Datenzustand hinterlässt
  • Konsistenz
    • Konsistenter Datenzustand -> Sequenz von Operationen -> konsistenter Datenzustand
  • Isolation (Trennung)
    • Nebenläufige Datenoperationen beeinflussen sich gegenseitig nicht
  • Dauerhaftigkeit
    • Dauerhafte Speicherung nach (erfolgreichem) Abschluss

BASE-Eigenschaften

  • Basically Available (Grundsätzlich Verfügbar)
    • Die meisten Daten sind die meiste Zeit verfügbar
  • Soft state (Weicher Zustand)
    • Die Datenbank bietet eine entspannte Sicht auf die Daten hinsichtlich der Konsistenz
  • Eventually consistent (Letztendlich Konsistent)
    • Daten werden schließlich an alle relevanten Knoten kopiert
    • Es gibt jedoch keine Anforderung, dass alle Knoten jederzeit identische Kopien aller Daten haben.
    • Letztendlich, nach einer möglichst kurzen Zeitspanne, haben alle Teile eines verteilten Systems wieder die gleiche Sicht auf die Daten.

Vergleich: BASE vs. ACID

  • BASE
    • Weiche Konsistenz
    • Verfügbarkeit
    • Best effort (Bestes Bemühen)
    • Approximationen (Annäherungen)
    • Einfache Entwicklung
    • Schneller
  • ACID
    • Harte Konsistenz
    • Isolation
    • Commit
    • Verfügbarkeit akzeptabel
    • Komplexe Entwicklung (Schema)
    • Sicherer

NoSQL-Eigenschaften

  • Selten ACID
  • Eingeschränkte Transaktionen
  • Kein Join
  • Kein SQL
  • Schemafrei
  • Skaliert horizontal
  • Replikation

Vorteile von NoSQL

  • Horizontale Skalierung mit weicher Konsistenz
    • Mehr Daten
  • Horizontale Skalierung mit harter Konsistenz
    • Mehr Durchsatz und höhere Verfügbarkeit

Kategorisierung von NoSQL-Datenbanken

  • Document Stores
    • MongoDB, CouchDB
  • Key-Value-Stores
    • Apache Hadoop, Riak, Redis, Membase, Amazon Dynamo
  • Graph
  • Wide Column Stores

Document Stores

  • Idee
    • Zusammengehörige Daten werden strukturiert in einem Dokument gespeichert.
  • Vorteile
    • Struktur der Daten kann unterschiedlich sein, keine Schemen (Programmierung)
    • Keine Relationen zwischen Tabellen
    • Dokumente können gleiche oder unterschiedliche Schlüssel mit beliebigen Werten besitzen
    • Einfaches Hinzufügen neuer Felder.
  • Beispiele
    • Cassandra (Apache, Java, JSON Format)
    • CouchDB (Apache, JSON über REST/HTTP, eingeschränkte ACID-Eigenschaften)
    • Informix (IBM, RDBMS mit JSON)
    • MongoDB (MongoDB, Inc, C++, GNU AGPL)
    • RavenDB (Hibernating Rhinos LTD, C#, Javascript)

Key/Value Stores

  • Idee
    • Konzept der Konfigurationsdateien
    • Zuordnung eines Werts zu einem Schlüssel (z.B.: ip=172.16.59.252)
  • Vorteile
    • Schneller Zugriff, hohe Datenmengen
    • Wert: String, Integer, Liste, Menge usw.
    • Relationen  Programmierung
    • Verteilung auf mehrere kleinere Server
  • Beispiele
    • In-Memory-Variante/On-Disk-Versionen
    • Embedded-Datenbanken (Unix) dbm, gdbm und Berkley DB
    • Redis
      • Strings, Listen, Sets
    • Cassandra
      • Spaltenorientiert (spezielle Listen, z.B. Verkaufszahlen) und key-value Ansatz
      • Apache Projekt aus Facebook entstanden
      • Spaltenfamilien, ständig ändernde Datenmengen
    • Riak, Membase

Graph-Datenbanken

  • Netz aus miteinander mit Hilfe von Kanten verbundenen Knoten
  • Kanten mit Bezeichnern erweitert -> Netz mit Bedeutung zwischen den Verbindungen (Semantic Web)
  • Skalierung
    • Herkömmliche Datenbanken -> keine Suchen über Relationen (Relationstypen)
    • Daten auf mehrere Server
      • Möglicherweise Knoten in zwei Subgraphen aufspalten
  • Einsatz
    • Komplex vernetzte Daten (entspricht vielen Join-Operationen)
    • GIS-Anwendungen (Geographic Information System)
      • Navigation zwischen zwei Orten
    • Soziale Netze
      • Wer kennt wen?
      • Über welche Wege stehen zwei Entitäten (Knoten) in Beziehung

Wide Column Stores (Spaltenorientiert)

  • Speicherung von Daten mehrerer Einträge in Spalten anstatt in Zeilen
  • Spalten mit ähnlichen oder verwandten Inhalten -> „Column Family“ (analog Tabelle)
  • Es gibt keine logische Struktur in der Column Family.
  • Millionen von Spalten -> Wide Columns
  • Beispiele
    • Cassandra, Apache Hbase, Amazon SimpleDB

Zeilen- vs. Spaltenorientierte Datenbanken

  • Zeilenorientierte Datenbanken
    • Entsprechen einem Karteikartensystem
    • Berechnung über alle Karteikarten
  • Spaltenorientierte Datenbanken
    • Gleichartigen Informationen stehen auf einer Karte

Map/Reduce

  • Programmiermodell von Google entwickelt
  • Verteilte und parallele Verarbeitung großer Mengen strukturierter und unstrukturierter Daten
  • Divide-and-Conquer-Ansatz = verteilte Berechnungen über große Rechnercluster

Daten-See (Data Lake)

  • Speichert alle Arten von Daten
  • Ermöglicht Abfragen über die gesamte Sammlung
  • Systeme wie Apache Hadoop und S3 könnten als Daten-Seen betrachtet werden
  • Daten-Seen sind wahrscheinlich nicht für bestimmte Abfragemuster optimiert
  • Verlassen sich auf eher brutale Strategien
  • Rechenleistung und Parallelisierung werden günstiger

Vorteile klassischer relationaler DBMS

  • Reife des Systems
    • Seit vier Jahrzehnten am Markt
  • Kompatibilität
    • Standardisierte Schnittstellen, einheitliches relationales Datenmodell
    • Klare Trennung von der Anwendung
  • Konsistenzerfordernisse
    • Absichern der Datenkonsistenz (Transaktionssicherheit oder Fremdschlüsselbeziehungen) wird von der Datenbank selbst unterstützt
  • Mächtigkeit der Abfragen
    • Komplexe Abfragen fassen verschiedene Tabellen zusammen
    • Filtern, gruppieren und sortieren
    • Wenig Applikationscode

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

NoSQL-Teil1.pptx

More Like This

Use Quizgecko on...
Browser
Browser