Warakorn - Fotolia
Data latency demands on an interactive Web platform led one startup to opt for the Redis Cloud NoSQL database server.
The startup, Spot.IM, enables websites to add real-time chat in order to engage users. Running on Amazon Web Services, Spot.IM's platform is written in Ruby on Rails. The startup employed a Redis NoSQL database management system for an application that especially needs to curb latency.
The service must nimbly scale up and down, often handling a very large number of requests, according to Ishay Green, CTO at Spot.IM, based in Tel Aviv, Israel.
The company's growing data demands were such that Green and his colleagues decided to move to a NoSQL database, rather than a SQL one. In this case, the choice was to field a hybrid cloud system employing Redis Labs Enterprise Cluster and Redis Cloud from Redis Labs Inc., of Tel-Aviv and Mountain View, Calif.
Although Redis is freely available as an open source offering, Green said Spot.IM opted for Redis Labs' commercial version because of its ease of configuration, high availability and scalability.
Everything is about latency
He said Spot.IM, which counts Entertainment Weekly, CGSociety and others as users, seeks minimal latency, so the transition from webpage viewing to interactive dialog appears to be seamless. "Everything is about latency today," Green said.
He said he is using the Redis Labs' NoSQL database to serve 400,000 to 1 million user requests a day to and from third-party websites, with the expectation to be able to handle more than 1 billion page requests per month. "The basic idea is that our main database acts like a cache -- in real time," Green said, adding that he has yet to encounter limits with Redis Cloud scalability. "It allows me to scale to infinity."
A similar motivation to keep up with rapid data surges and multiple user sessions is behind many sites' shifts from full-fledged SQL databases to built-for-purpose NoSQL engines that, like Redis, focus on a type of key-value store that supports high-speed operations.
Roots of Redis
The Redis database started life underlying a Web application built by Italian developer Salvatore Sanfilippo, who carried the work forward as an open source effort at Pivotal Labs and VMware. Sanfilippo recently joined Redis Labs as the lead for open source Redis development.
Redis, an in-memory database, provides advanced caching, a trait that has proved useful for Web applications. Although it is often categorized among key-value NoSQL stores, it is not a conventional key-value implementation, in that it is specially tuned to support common data structures, such as strings, lists and hashes.
Redis achieves considerable data processing speed -- the company has discussed performance as high as 1.5 million operations per second -- in some part due to its being written in C, according to Leena Joshi, vice president for product marketing at Redis Labs. The software continues to be updated, she noted. Like other NoSQL players, Redis Labs recently forged a connector to the Apache Spark analytics engine, which could enhance Redis utility in analytics-oriented applications.
"Customers often start with the software because of its fast caching capabilities," she said. "But they come to find its support of data persistence, fault tolerance and high-availability aspects is important, as well."
Operational database management
As Web applications have grown, the open source Redis database has demonstrated market traction, joining NoSQL luminaries, such as MongoDB and Cassandra, in the top 10 of DB-Engines' ranking of database management system popularity.
Analyst group Gartner recently cited Redis Labs' server version of the Redis database among the top performers, where transaction volumes and peak rates are important. Gartner looked at Redis Labs and other players as part of its October 2015 report on operational database management systems meant to deal with multiple data formats and Internet-scale usage.
Green cited the commercial software's ability to scale automatically as an advantageous feature versus an open source Redis version that he described as limited to a single-thread model. That the scaling comes automatically as part of Redis Cloud frees up time for development team members to address other tasks, he added.
Look at Redis in its competitive NoSQL context
Find out more in our guide to NoSQL databases