05 - db Flashcards
Welche verschiedenen Datenbanktypen werden heute von den Cloud Providern unterstützt?
Relationale Datenbanken (SQL), NoSQL Datenbanken (Key-Value Stores, Document Stores, Column-Family Stores, Graph Databases), In-Memory Datenbanken, Time Series Datenbanken, Ledger Datenbanken
Beispiele für NoSQL-Datenbanken sind DynamoDB und DocumentDB.
Welche Vorteile hat man beim Betrieb von relationalen Datenbanken in der Cloud?
Einfacher skalierbar, Pay-as-you-go, Weniger Operatinglast, Snapshot/Restore Funktionalität, Teilweise Serverless möglich, HA-Setup as a Service, Lizenzkosten inkludiert/BYOL möglich
BYOL steht für Bring Your Own License.
Was ist Data Gravity und warum ist das wichtig?
Data Gravity beschreibt das Phänomen, dass Daten andere Services und Applikationen ‘anziehen’.
Je mehr Daten an einem Ort sind, desto mehr Services werden dorthin gezogen, da Latenz und Durchsatz eine wichtige Rolle spielen.
Was sind Beispiele für AC/AP/CP-Systeme im CAP-Theorem?
CP: MongoDB, AP: Cassandra, AC: Traditionelle relationale Datenbanken
CP steht für Konsistenz über Verfügbarkeit, AP für Verfügbarkeit über Konsistenz.
Warum ist im CAP-Theorem P nicht ignorierbar in der Cloud?
Partition Tolerance is mandatory in distributed systems.
Netzwerkpartitionierungen sind unvermeidbar in verteilten Systemen, daher muss P immer berücksichtigt werden.
Warum sind ACID-Datenbanken direkt vom CAP-Theorem betroffen?
ACID-Datenbanken erfordern strikte Konsistenz (C), was in einem verteilten System mit der Verfügbarkeit (A) konkurriert, wenn Netzwerkpartitionierungen auftreten (P).
Sie müssen sich daher zwischen C und A entscheiden.
Welche NoSQL-Datenbanken sind geeignet um JSON-Files abzulegen und was bieten sie für Features?
DocumentDB, DynamoDB
Beide bieten: Schemafrei, Horizontale Skalierbarkeit, Verschiedene Konsistenzmodelle.
Warum ist es sinnvoller, Dokumente auf AWS in DocumentDB als in DynamoDB abzulegen?
DocumentDB ist speziell für Dokumente optimiert und bietet: Genestete JSON-Strukturen können direkt abgefragt werden, MongoDB-kompatible Schnittstellen, Bessere Unterstützung für komplexe Dokumentenstrukturen, Vollständig gemanagt.
Nennen Sie ein Szenario, in welchem Sie Redis, eine NoSQL-Datenbank und ein relationales System kombinieren müssen.
E-Commerce System: Redis für Session Management und Caching, NoSQL (DynamoDB) für Warenkorb und Produktkatalog, Relationales System (RDS) für Kundendaten und Transaktionen.
Was besagt das CAP-Theorem?
Ein verteiltes System kann nur zwei der folgenden drei Eigenschaften gleichzeitig garantieren: Consistency, Availability, Partition Tolerance.
In der Cloud ist P (Partition Tolerance) nicht optional.
Was sind die Hauptmerkmale von ACID?
Atomicity, Consistency, Isolation, Durability
Diese Merkmale sind typisch für traditionelle relationale Datenbanken.
Was sind die Hauptmerkmale von BASE?
Basically Available, Soft State, Eventually Consistent
Diese Merkmale sind typisch für NoSQL-Datenbanken.
Was sind die Hauptunterschiede zwischen ACID und BASE?
ACID priorisiert Konsistenz über Verfügbarkeit, BASE priorisiert Verfügbarkeit über Konsistenz, ACID bietet starke Garantien, BASE ist besser skalierbar.
ACID ist gut für Finanztransaktionen, BASE ist gut für soziale Medien.