Friday, November 2, 2012

VMware expands Redis open source in-memory data store programming options


The Redis in-memory data store update adds support for scripting and bit-wise operations



Redis, an open source in-memory data store maintained by VMware, has been upgraded to be more stabile and make more judicious use of memory, two traits that should make it more appealing for enterprise deployments.

"Redis 2.6 is more mature than Redis 2.4 in many ways, and users will have a better overall experience," said Salvatore Sanfilippo in an email interview. Sanfilippo is a VMware open-source developer who authored Redis.

"We already see that Cloud Foundry users love Redis for its simplicity of use. We anticipate this will only increase with Redis 2.6," Sanfilippo wrote, referring to how VMware offers the data store as part of its Cloud Foundry PaaS (platform as a service) offering.

One of a growing number of NoSQL databases, Redis is an advanced key store, one that can accept keys in a wide range of formats, including strings, hashes, lists and other formats. Because of the unique trait, Redis allows complex operations to be executed on the server, minimising the workloads on less-efficient clients.

"Redis is particularly suited for tasks where there is a very high load in general, and especially for very write-heavy workloads, where the data set size is in a range suitable to be stored in-memory," Sanfilippo wrote. "Because the Redis data model is different and exposes an API to manipulated fundamental data structures, there are problems that are simpler to model with Redis."

One job that Redis is particularly well suited for is real-time analysis of data, Sanfilippo said. The Redis data store, which is usually run entirely in memory, can easily work in conjunction with another on-disk data store that would hold a much larger collection of data.

"Just as PostgreSQL was the basis for so many leading analytic relational DBMS', Redis is being adapted for a variety of NoSQL-style products," said database industry analyst Curt Monash. In addition to real-time analysis, Redis is also frequently used as a caching layer, like "memcache on steroids," Sanfilippo said, and even as a messaging system. "Both types [of applications] depend on writing data quickly into simple data structures," Monash added.

The new features with the Redis 2.6 release offer a wider range of capabilities to help in these duties. For this release, significant parts of the Redis core engine were rewritten.

No comments: