While it has been proven time and time again that open source databases and technology are ideal for startups and application developers due, in large, to the potentially unlimited contributors that aid in perfecting the code, when it comes time to choose a database within that open source software, what makes one stand out over the other?
Yiftach Shoolman, CTO of Garantia Data, which is the provider of enterprise-class Redis Cloud and Memcached Cloud services, has provided some insight on the NoSQL, open source database, Redis, and why it stands out as a great tool for new applications and startups.
Open source Redis is one of the top three databases used by new applications today. According to a survey of database users by 451 Research, Redis adoption is projected to increase from 11.3 percent to 15.9 percent in 2015. It is clear that Redis is taking off as a leading in-memory database solution, but what is it, exactly, that makes Redis so attractive to startups and application developers alike?
Redis’ popularity is due, largely, to its combination of high-performance, attractive data types, and commands that simplify application development. As new companies and applications emerge, they demand scalable high-performance databases to keep up with the exponential growth of their data.
Redis’ unique characteristics have resulted in tremendous adoption rates—making it a database of choice for many leading companies. For example, Pinterest uses Redis for the “follower graph,” which is a breakdown of who is following whom and Twitter uses Redis for its home timeline. Redis is especially well suited to new companies and applications for several key reasons.
Redis is entirely served from RAM, which makes it faster than any other datastore (most of which are served from disk) by an order of magnitude. Furthermore, it has a simple, single-process, event-driven design, meaning it does not have to deal with lock mechanisms like other databases do, which hinder performance for many applications. The diagram below presents benchmark tests carried out for several leading databases.
Simplified application development
Developing new applications with Redis is way simpler, more intuitive and faster than other databases, including MySQL. Redis has a rich set of data structures, which are very similar to those of today’s high level programming languages that are increasingly used by application developers. The code used to build the data structures of Redis, like sets, lists, sorted lists, etc., allows users to perform really complex tasks very easily. It also offers transactions that allow users to plan multiple commands, making it thread-safe.
With Redis, developers do far less damage to the concepts of their programs, resulting in faster development, improved code quality and more beautiful code. This, combined with its top performance, it’s no wonder why Redis’ popularity is soaring.