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