Vorteile und Grenzen von Key-Value-Datenbanken
NoSQL-Konzepte
Miriam Antona
Software engineer
Vorteile – sehr einfach
- Key-Value-Tupel
- Kein definiertes Schema/keine Typen
- Grundoperationen:
- Put
- fügt ein neues Key-Value-Tupel ein
- aktualisiert den Wert, wenn der Schlüssel schon existiert
- Get
- gibt den Wert zu einem Schlüssel zurück
- Delete
- entfernt einen Schlüssel und seinen Wert
- Schnelle Operationen
Vorteile – flexibel
- Erlauben Änderungen der Datentypen
userID:123 = 123456
userID:123 = "Miriam"
- Zusätzliche Attribute hinzufügen
user:457:preferences = {"language" : "en:US"}
user:457:preferences = {"language" : "en:US", "color" : "green","timezone" :"GTM-4"}
Vorteile – Informationen im Speicher
- Schnelle Reads/Writes
- Kann Daten verlieren
- Kombination aus Festplatte und In-Memory-Persistenz
Vorteile – Skalierbarkeit
- Horizontal skalierbar
- Sharding
- verteilt Datenanteile über mehrere Server
Vorteile – Skalierbarkeit
- Horizontal skalierbar
- Sharding
- verteilt Datenanteile über mehrere Server
Vorteile – Skalierbarkeit
- Horizontal skalierbar
- Sharding
- verteilt Datenanteile über mehrere Server
Vorteile – Skalierbarkeit
- Horizontal skalierbar
- Sharding
- verteilt Datenanteile über mehrere Server
Grenzen
- Suche nur nach Schlüssel
- Problem, wenn der Schlüssel unbekannt ist
- Manche Key-Value-Datenbanken haben Funktionen ergänzt
- Suche nach Wert
- sekundäre Indizes hinzufügen
- gleichzeitige Suche über mehrere Schlüssel
- Keine komplexen Abfragen
Lass uns üben!
NoSQL-Konzepte
Preparing Video For Download...