Nobody wants to develop a software application that successfully fulfills the requirements of every Agile user story, only to watch their enterprise application fail miserably during the non-functional requirements stage when a stress test puts a real-life load on the application. Avoiding performance problems -- whether it's during the initial deployment or after the application has been in production for years -- is always a noble quest, which is why more and more software architects are looking for good opportunities to solve their data-access problems with NoSQL.
Solving the runtime performance problem
"We recently benchmarked 1.5 million operations per second on a single cloud server," said Cameron Peron, vice president of marketing at Redis Labs. The vendor delivers solutions such as Redis Cloud and Redis Labs Enterprise Cluster, both of which are built around Redis, a popular, open source, NoSQL database. So whether the goal is to support a conglomeration of devices that perform real-time analytics via the Internet of Things or simply provide efficient caching of user data on the UI tier, a NoSQL software is going to provide faster performance than whatever currently might slow down the current request-response cycle.
Adopting a NoSQL software like Cassandra, MongoDB or Redis to solve non-functional problems isn't a big secret any more. "We see growth pretty much everywhere. Without hosted offering, we see a tremendous amount of growth from Internet enterprises that are using cloud services like Amazon and Heroku," said Peron. But beyond the hosted offerings, Peron is seeing significant adoption from Fortune 500 companies that like the idea of using on-premises offerings that can be hosted in local data centers and in virtual private clouds.
Addressing the popularity of Redis
So why is Redis becoming so popular? One of the key reasons is the fact that Redis is driven by a large and passionate open source community. "The Redis open source community is its own separate force," said Peron. "It's an independent community that is run primarily by the founder, Salvatore Sanfilippo." But the open source nature of Redis doesn't make it particularly unique in the NoSQL world, as both Cassandra and MongoDB have a similar heritage.
Functionally speaking, Redis Labs provides mechanisms for solving many of the runtime challenges that tend to arise when it comes time to scale, cluster and expand. "Redis is an in-memory database. In order to scale beyond a single machine requires knowledge of clustering and many other things," said Peron. But with Redis Labs support, scaling out, managing servers and ensuring continuity across multiple nodes, which might be distributed across many geographically diverse locations, is addressed. "Our offerings are fully managed, and they also allow developers to have an infinitely scalable database."
To hear the full interview between Peron and TheServerSide, please download the associated podcast.