Database Reference
In-Depth Information
4 Redis - ein kluger Key-Value Store
Nachdem in den letzten beiden Folgen unserer NoSQL-Reihe die Schwergewichte
CouchDB und MongoDB erklärt wurde, folgt nun ein Blick auf das Schweizer Taschenmes-
ser Redis. Redis bezeichnet sich selbst als “open source advanced key-value store”. Im Her-
zen also nur ein simpler Speicher, begeistert Redis aber durch die Tatsache, dass nicht nur
einfache String gespeichert, sondern Datenstrukturen wie Hashes, Lists und Sets angelegt
und zahlreiche Operationen darauf ausgeführt werden können. Gepaart mit Persistenz und
Replikation ist es ein interessanter weiterer Vertreter der NoSQL-Bewegung.
Als Teil dieses Shortcuts ist schon einmal klar, was Redis nicht ist: eine SQL-Datenbank.
Während herkömmliche SQL-basierte Datenbanken mehr oder weniger dem klassischen
Schema der Tabellen, Spalten und Fremdschlüsseln folgen, ist auf dem Gebiet von NoSQL
eher Anarchie angesagt. Hier gibt es nicht DAS NoSQL-Schema. So ist das Thema Sche-
malosigkeit nicht nur bezogen auf die Daten, die nicht durch ein Tabellenschema definiert
werden müssen, sondern auch auf die Vielzahl von Ausprägungen von NoSQL-Datenban-
ken. Nehmen wir nur die beiden Vertreter CouchDB und MongoDB, die viele Ähnlichkeiten
haben (JSON als Datenformat, Map/Reduce als Möglichkeit der Datenabfrage), aber auch
wesentliche Unterschiede in der Art der Datenpersistenz und dem Umfang an Funktionen.
Wie oder was ist nun Redis? Redis ist, im Vergleich zu Dokumentorientierten Datenbanken
wie CouchDB und MongoDB, ein reiner KeyValue-Speicher. Hier können die Daten anhand
eines Keys gespeichert und abgerufen werden. Es gibt im Unterschied zu dokumentbasierten
Datenbanken keine Möglichkeiten, Daten außer über den Key zu suchen oder zu filtern.
Aufgrund der Tatsache, dass alle Daten und Operationen im RAM statt finden, kann Redis
als schneller Cache-Speicher für Daten genutzt werden, zusätzlich aber auch durch die Per-
sistenz ein replizierbarer Server für Datenstrukturen darstellen. Redis bietet außer einfachen
Strings auch eine Auswahl an Datenstrukturen wie Hashes, Listen und Sets, die in der einen
oder anderen Form in jeder Programmiersprache vorkommen, erweitert diese aber durch ei-
ne Vielzahl von Operationen.
Durch die Tatsache, dass alles im RAM passiert, liegt die Obergrenze aller Daten, die Redis
schnell verwalten kann bei dem verfügbaren Speicher. In den neueren Versionen gibt es zu-
sätzlich auch die Möglichkeit, „virtuellen Speicher“ zu definieren, der dann die Beschrän-
kung der Maschine aufhebt.
Was ist ein Key-Value Store
Search WWH ::




Custom Search