Thursday, September 12, 2019

Plug-in: Hosting Smartstore in a web farm

What does it mean to run Smartstore in a web farm?
An online shop that has a lot of visitors naturally generates many shopping carts, from which many sessions must be generated. User-defined data is stored in them, such as the customer's shopping cart. If a shop has a lot of visitors on a Black Friday, for example, this quickly leads to a large amount of data. The higher the amount of data, the slower the reading of the data and the associated loading times increase. For the customer this is an unreasonable demand, the conversion rate deteriorates and can lead to the cancellation of the purchase.

Is there a solution to circumvent this problem?
Yes, there is, and it's called REDIS. Redis (REmote DIctionary Server) is an in-memory key value database, usually referred to as a data structure server. One of the main differences between Redis and other key value databases is the ability of Redis to store and process high-level data types. These data types are basic data structures (lists, maps, sets, and sorted sets) that most developers are familiar with. The exceptional performance of Redis is suitable for solving problems that are difficult or bad to implement with traditional relational databases.

Companies using REDIS:

  • Twitter - Provides an extensive Redis cluster to save the timelines for all users.
  • Pinterest - Stores the user follower charts in a Redis cluster which stores data across hundreds of instances.
  • Github - As one of the first users of the Redis project, Github developed the Resque library and made it available as an open source version to make it easier to run background jobs that have been queued.
The combination of high level data structures, high performance and general intuitiveness allows Redis to take over the role of a Swiss army knife for data storage. Thanks to the predictability of the operations applied to the data in the database, Redis is well suited to solve problems encountered in the development of real-time systems. Redis attributes much of its performance to the fact that its data is stored in the memory at all times.

How can I get Redis and what does it cost?
Redis cannot be purchased separately, it is part of the Enterprise Edition.

The Smartstore Redis plugin contains 4 modules (i.e. Redis adapter):

  • Redis.Data-Cache (replaces the standard RAM-Cache)
  • Redis.OutputCache (replaces the standard RAM OutputCache)
  • Redis.SessionState (replaces the standard ASP.NET RAM SessionStore)
  • Redis.MessageBus (Enables server-to-server communication in a web farm)
Multi-level cache: 1st level: Server RAM - 2nd level: Redis > extremely high performance. Eliminates the disadvantage of possibly bad network latency. Significantly faster AppRestart, because the cache outlasts application restarts and zero configuration (except Redis installation itself).

Ready to get started?
Write us or try Smartstore for free. Contact sales:

Leave your comment

Comments (1)

Guest | one year ago

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.