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</p> Signup and view all the answers

    Welche Aussage über Key-Value Stores ist korrekt?

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

    Was ist ein typisches Merkmal eines Document Stores?

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

    Wie wird ein Key-Value Store typischerweise verwendet?

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

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

    <p>Cassandra</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.</p> Signup and view all the answers

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

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

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

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

    Wie wird die Konsistenz in einem BASE-Modell beschrieben?

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

    Welche Aussage trifft auf die Isolation in ACID zu?

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

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

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

    Wie beschreibt das BASE-Modell die Datenverfügbarkeit?

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

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

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

    Was ist ein Hauptmerkmal von spaltenorientierten Datenbanken?

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

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

    <p>MySQL</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.</p> Signup and view all the answers

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

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

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

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

    Welches dieser Merkmale ist charakteristisch für zeilenorientierte Datenbanken?

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

    Was ist eine typische Anwendung von Map/Reduce?

    <p>Verarbeitung und Analyse großer Datenmengen.</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.</p> Signup and view all the answers

    Welche der folgenden Datenbanktypen sind als eingebettete Datenbanken bekannt?

    <p>dbm</p> Signup and view all the answers

    Welches Merkmal beschreibt nicht die Graph-Datenbanken?

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

    Was charakterisiert Cassandra als spaltenorientierte Datenbank?

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

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

    <p>Soziale Netzwerke</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.</p> Signup and view all the answers

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

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

    Was ist eine typische Verwendung von Graph-Datenbanken?

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

    Welches der folgenden Merkmale beschreibt nicht Redis?

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

    Was ist ein Hauptmerkmal eines Datenlagers?

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

    Welches der folgenden Systeme kann als Datenlager betrachtet werden?

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

    Was sind Vorteile eines klassischen relationalen DBMS?

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

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

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

    Ein Nachteil von Datenlagern ist:

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

    Was ist ein typisches Merkmal eines relationalen DBMS?

    <p>Standardisierte Schnittstellen und einheitliches relationales Datenmodell</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</p> Signup and view all the answers

    Was beschreibt ACID im Kontext eines relationalen DBMS?

    <p>Ein Konzept zur Sicherstellung der Datenkonsistenz</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