Verteilte Systeme und ACID/BASIS Eigenschaften
40 Questions
0 Views

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

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

Description

Teste dein Wissen über verteilte Systeme und die grundlegenden Eigenschaften von Datenbanken, einschließlich ACID und BASE. Verstehe, wie Konsistenz und Verfügbarkeit in diesen Systemen verwaltet werden und die Unterschiede zwischen diesen Paradigmen. Das Quiz hilft dir, die theoretischen Grundlagen zu festigen.

More Like This

Use Quizgecko on...
Browser
Browser