Podcast
Questions and Answers
Welche der folgenden Datenbanktypen ist kein Document Store?
Welche der folgenden Datenbanktypen ist kein Document Store?
- CouchDB
- Redis (correct)
- Informix
- MongoDB
Welches der folgenden Merkmale ist ein Vorteil von Document Stores?
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?
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?
Was beschreibt die horizontale Skalierung in Bezug auf weiche Konsistenz?
Welche Aussage über Key-Value Stores ist korrekt?
Welche Aussage über Key-Value Stores ist korrekt?
Was ist ein typisches Merkmal eines Document Stores?
Was ist ein typisches Merkmal eines Document Stores?
Wie wird ein Key-Value Store typischerweise verwendet?
Wie wird ein Key-Value Store typischerweise verwendet?
Welche der folgenden Datenbanken ist ein Beispiel für einen Wide Column Store?
Welche der folgenden Datenbanken ist ein Beispiel für einen Wide Column Store?
Was beschreibt das ACID-Prinzip in klassischen Datenbanken?
Was beschreibt das ACID-Prinzip in klassischen Datenbanken?
Welche Eigenschaft beschreibt 'Eventually consistent' in NoSQL-Datenbanken?
Welche Eigenschaft beschreibt 'Eventually consistent' in NoSQL-Datenbanken?
Welches der folgenden Merkmale ist in der Regel nicht Teil von NoSQL-Datenbanken?
Welches der folgenden Merkmale ist in der Regel nicht Teil von NoSQL-Datenbanken?
Wie wird die Konsistenz in einem BASE-Modell beschrieben?
Wie wird die Konsistenz in einem BASE-Modell beschrieben?
Welche Aussage trifft auf die Isolation in ACID zu?
Welche Aussage trifft auf die Isolation in ACID zu?
Welche der folgenden Aussagen stellt einen Vorteil der NoSQL-Datenbanken dar?
Welche der folgenden Aussagen stellt einen Vorteil der NoSQL-Datenbanken dar?
Wie beschreibt das BASE-Modell die Datenverfügbarkeit?
Wie beschreibt das BASE-Modell die Datenverfügbarkeit?
Was stellt eine Herausforderung bei der Verwendung von NoSQL-Datenbanken dar?
Was stellt eine Herausforderung bei der Verwendung von NoSQL-Datenbanken dar?
Was ist ein Hauptmerkmal von spaltenorientierten Datenbanken?
Was ist ein Hauptmerkmal von spaltenorientierten Datenbanken?
Welches dieser Beispiele gehört nicht zu den Wide Column Stores?
Welches dieser Beispiele gehört nicht zu den Wide Column Stores?
Was ist ein Vorteil der spaltenorientierten Speicherung?
Was ist ein Vorteil der spaltenorientierten Speicherung?
Welches Programmiermodell wurde von Google entwickelt, um große Datenmengen zu verarbeiten?
Welches Programmiermodell wurde von Google entwickelt, um große Datenmengen zu verarbeiten?
Was beschreibt den 'Map'-Prozess im Map/Reduce-Modell?
Was beschreibt den 'Map'-Prozess im Map/Reduce-Modell?
Welches dieser Merkmale ist charakteristisch für zeilenorientierte Datenbanken?
Welches dieser Merkmale ist charakteristisch für zeilenorientierte Datenbanken?
Was ist eine typische Anwendung von Map/Reduce?
Was ist eine typische Anwendung von Map/Reduce?
Wie wird der 'Reduce'-Prozess im Map/Reduce-Modell beschrieben?
Wie wird der 'Reduce'-Prozess im Map/Reduce-Modell beschrieben?
Welche der folgenden Datenbanktypen sind als eingebettete Datenbanken bekannt?
Welche der folgenden Datenbanktypen sind als eingebettete Datenbanken bekannt?
Welches Merkmal beschreibt nicht die Graph-Datenbanken?
Welches Merkmal beschreibt nicht die Graph-Datenbanken?
Was charakterisiert Cassandra als spaltenorientierte Datenbank?
Was charakterisiert Cassandra als spaltenorientierte Datenbank?
Welche Anwendung ist besonders geeignet für Graph-Datenbanken?
Welche Anwendung ist besonders geeignet für Graph-Datenbanken?
Welche Aussage über die Skalierung von Graph-Datenbanken ist korrekt?
Welche Aussage über die Skalierung von Graph-Datenbanken ist korrekt?
Welches der folgenden Elemente gehört nicht zur Kategorie der In-Memory-Datenbanken?
Welches der folgenden Elemente gehört nicht zur Kategorie der In-Memory-Datenbanken?
Was ist eine typische Verwendung von Graph-Datenbanken?
Was ist eine typische Verwendung von Graph-Datenbanken?
Welches der folgenden Merkmale beschreibt nicht Redis?
Welches der folgenden Merkmale beschreibt nicht Redis?
Was ist ein Hauptmerkmal eines Datenlagers?
Was ist ein Hauptmerkmal eines Datenlagers?
Welches der folgenden Systeme kann als Datenlager betrachtet werden?
Welches der folgenden Systeme kann als Datenlager betrachtet werden?
Was sind Vorteile eines klassischen relationalen DBMS?
Was sind Vorteile eines klassischen relationalen DBMS?
Was beschreibt die Mächtigkeit der Abfragen in relationalen DBMS?
Was beschreibt die Mächtigkeit der Abfragen in relationalen DBMS?
Ein Nachteil von Datenlagern ist:
Ein Nachteil von Datenlagern ist:
Was ist ein typisches Merkmal eines relationalen DBMS?
Was ist ein typisches Merkmal eines relationalen DBMS?
Warum wird es weniger wichtig sein, ob Rechenleistung und Parallelität optimiert sind?
Warum wird es weniger wichtig sein, ob Rechenleistung und Parallelität optimiert sind?
Was beschreibt ACID im Kontext eines relationalen DBMS?
Was beschreibt ACID im Kontext eines relationalen DBMS?
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.
Related Documents
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.