Grundlagen der Datenbanken

Welche Aussage beschreibt unter den als NoSQL bezeichneten Datenbanken die Eigenschaften eines Key-Value-Stores im Allgemeinen richtig?

  1. AEr kann komplexes SQL einschließlich Joins und Unterabfragen schneller verarbeiten als eine relationale Datenbank
  2. BBevor Daten geschrieben werden, müssen Namen und Typen aller Spalten streng als Schema definiert sein
  3. CEr ist auf das einfache Lesen und Schreiben eines Werts über die Angabe seines Schlüssels spezialisiert und lässt sich leicht auf mehrere Server verteilen, eignet sich aber nicht für komplexe Abfragen wie Joins
Antwort und Erläuterung anzeigen

Antwort: C. Er ist auf das einfache Lesen und Schreiben eines Werts über die Angabe seines Schlüssels spezialisiert und lässt sich leicht auf mehrere Server verteilen, eignet sich aber nicht für komplexe Abfragen wie Joins

NoSQL ist ein Sammelbegriff für Datenbanken, die keine relationalen Datenbanken sind, darunter Key-Value-, Dokument-, spaltenorientierte (Wide-Column-) und Graphdatenbanken. Ein Key-Value-Store speichert Paare aus einem Schlüssel (Bezeichner) und einem Wert und ist auf das einfache Abrufen eines Werts über die Angabe seines Schlüssels spezialisiert. Da sich die Daten leicht nach Schlüsseln aufteilen und auf mehrere Server verteilen lassen, wird er von Webdiensten mit sehr hohem Verkehrsaufkommen genutzt, etwa um Informationen zu angemeldeten Nutzern (Sitzungen) zu speichern. Andererseits ist er schwach bei der Suche nach dem Inhalt von Werten und bei komplexen Abfragen wie Joins, sodass die Anwendung dies ausgleichen muss. Viele Produkte verlangen zudem nicht, dass das Format der Werte vorab streng festgelegt wird (schemalos). Manche Produkte erlauben außerdem Eventual Consistency, bei der Änderungen nicht sofort in allen verteilten Kopien ankommen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Datenbanken

  1. Welche Beschreibung des CAP-Theorems für eine verteilte Datenbank, die Kopien der Daten auf mehreren Servern hält, ist zutreffend?
  2. Welcher Begriff der relationalen Datenbanken bezeichnet eine Zeile einer Tabelle (Relation)?
  3. Welche Bedingung muss die Spalte (oder Spaltenkombination) erfüllen, die in einer Tabelle einer relationalen Datenbank als Primärschlüssel festgelegt wird?
  4. In einer Mitarbeitertabelle (MitarbeiterNr, EMail, Name, Abteilung) sind MitarbeiterNr und EMail für jeden Mitarbeiter verschieden und nie NULL. Name und Abteilung können mit denen anderer Mitarbeiter übereinstimmen. Welche Antwort nennt alle Schlüsselkandidaten dieser Tabelle?
  5. Eine Belegungstabelle (StudentNr, KursNr, Note) hält fest, welcher Studierende welchen Kurs mit welcher Note belegt hat. Ein Studierender belegt mehrere Kurse, und ein Kurs wird von mehreren Studierenden belegt. Welcher Primärschlüssel ist für diese Tabelle geeignet, wenn sich derselbe Studierende nie zweimal für denselben Kurs anmeldet?