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.
- 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)