Was bedeutet es, Smartstore in einer Webfarm zu betreiben?
Ein Onlineshop, der sehr viele Besucher hat, erzeugt natürlich auch viele Warenkörbe, woraus viele Sessions generiert werden müssen. Darin werden benutzerdefinierte Daten gespeichert, wie zum Beispiel der Warenkorb eines Kunden. Hat ein Shop z.B. an einem Black Friday viele Besucher, führt dies sehr schnell zu einer großen Menge an Daten. Je höher die Datenmenge, umso langsamer das Lesen dieser und die damit verbundenen Ladezeiten erhöhen sich. Für den Kunden ist das eine Zumutung, die Conversion Rate verschlechtert sich und kann zu Kaufabbrüchen führen.
Gibt es eine Lösung, um dieses Problem zu umgehen?
Ja, die gibt es und diese heißt REDIS. Redis (REmote DIctionary Server) ist eine speicherinterne Schlüsselwertdatenbank, die üblicherweise als Datenstrukturserver bezeichnet wird. Einer der Hauptunterschiede zwischen Redis und anderen Schlüsselwertdatenbanken ist die Fähigkeit von Redis, Datentypen auf hoher Ebene zu speichern und zu bearbeiten. Diese Datentypen sind grundlegende Datenstrukturen (Listen, Maps, Mengen und sortierte Mengen), mit denen die meisten Entwickler vertraut sind. Die außergewöhnliche Leistung von Redis eignet sich zur Lösung von Problemen, die bei der Implementierung mit herkömmlichen relationalen Datenbanken schwierig oder schlecht sind.
Unternehmen die REDIS einsetzen:
- Twitter - Bereitstellung eines umfangreichen Redis-Clusters zum Speichern der Zeitleisten für alle Benutzer.
- Pinterest - Speichert die User Follower-Diagramme in einem Redis-Cluster, in dem Daten über Hunderte von Instanzen verteilt gespeichert werden.
- Github - Als einer der ersten Anwender des Redis-Projekts hat Github die Bibliothek Resque entwickelt und als Open-Source- Version bereitgestellt, um die Ausführung von Hintergrundjobs zu vereinfachen, die in eine Warteschlange gestellt wurden.
- Redis.Data-Cache (löst den Standard-RAM-Cache ab)
- Redis.OutputCache (löst den Standard RAM-OutputCache ab)
- Redis.SessionState (löst den Standard ASP.NET RAM SessionStore ab)
- Redis.MessageBus (Ermöglicht die Server-zu-Server Kommunikation in einer Webfarm)
Kommentare (1)
Erledige den Job, bevor du überhaupt weißt, was für ein Job es ist.
Redis Enterprise lässt uns nachts ruhig schlafen. Wir sind in der Lage, eine geclusterte, replizierte Redis-Datenbank mit allen Geschwindigkeitsvorteilen und ohne die damit verbundene Angst vor "flüchtigem Speicher" zu verwalten.
Der Preis ist etwas hoch, aber da es sich um ein Enterprise-Produkt handelt, gehe ich davon aus, dass die Hauptzielgruppe große Unternehmen sind.