2 NOSQL Basics Flashcards
1
Q
Was ist Hashing?
A
• Beim Hashing wird ein großer Adressraum auf einen kleineren abgebildet
2
Q
Hashing: Beispiele
A
- Einordnen von Akten in Ordnern mit dem ersten Buchstaben des Nachnamens
- Prüfsumme in Strichcodes
- Inhalte vergleichbar gestalten ohne den Inhalt zu verraten - Kryptographie
- Bestimmung des Speicherorts anhand eines schnellen und kurzen Schlüssels
3
Q
Consistent Hashing: Vorteile
A
- Beim Hinzufügen oder Entfernen eines Servers muss nur geringe Anzahl von Datensätzen verschoben werden
- unterschiedliche Speicherkapazitäten von Servern können berücksichtigt werden
- Zur Erhöhung der Ausfallsicherheit des Systems können den Datensätzen mehrere Hashwerte vergeben werden
4
Q
Consistent Hashing: Beispiele von Datenbank-Systemen
A
- Amazon DynamoDB
- Riak
- Apache Cassandra
5
Q
Wie arbeitet MVCC?
A
- Multi Version Concurrency Control
- Zu einem Objekt existieren verschiedene Versionen, die zum Beispiel durch Zeitstempel oder fortlaufend erhöhte Transaktions-Nummern voneinander unterschieden werden
- Beim Lesezugriff erhalten Clients immer die aktuellste Version
- Beim Schreibzugriff wird sichergestellt, dass sich das Update auf die aktuelle Version bezieht
6
Q
MVCC: Vorteile
A
- Eine Transaktion muss niemals auf Objekte (bzw. Sperren) warten
- Ermöglicht Vielzahl an konkurrierenden Zugriffen
7
Q
MVCC: Nachteile
A
- Teilweise hohe Kosten, um viele verschiedene Versionen eines Objekts in der Datenbank zu halten
- Clients müssen Konflikte ggf. selbstständig auflösen können
8
Q
MVCC: Beispiele von Systemen
A
- CouchDB, Couchbase, HBase, OrientDB
* GIT, SVN, CVS, JBoss Infinispan
9
Q
Vector Clocks: Was ist das schwache Konsistenzkriterium und nenne ein Beispiel?
A
- Ist Ereignis A die Ursache von Ereignis B, dann ist der Zeitstempel von A kleiner als der von B
- z.B. Lamport Clocks
10
Q
Vector Clocks: Was ist das starke Konsistenzkriterium und nenne ein Beispiel?
A
- Ist der Zeitstempel von Ereignis A kleiner als der von Ereignis B, dann muss A die Ursache von B sein
- z.B. Vector Clocks