Redis to Cassandra Migrations
Redis is a high performance, key-value “in-memory” datastore. This database is typically used for applications where performance and flexibility are more critical than persistence and absolute data integrity. This makes an application running on Redis to be fast but with some caveats to be sure. First, as a purely in-memory datastore, you are limited to using a volume of data that the RAM of your system can handle. Also, with regard to data integrity, if mitigating corruption of your data is paramount Redis would be an unusual option. With Apache Cassandra these issues are avoided: you can use Cassandra in-memory, you can also scale to an almost limitless degree; and, handle and store data volumes that would be difficult with Redis – especially with multiple data centers. Cassandra’s peer-to-peer architecture also ensures that there is ‘no single point of failure’ in the case of the loss of a server, which is difficult with Redis’ master-slave architecture. These are just some of the reasons that businesses have moved from Redis to Cassandra as their NoSQL solution.
Use Cases and Migration Resources
Software Projects’ internet marketing and web development solutions moved from Redis to Cassandra to store all of their customer e-commerce data for long archival and real-time analytics thanks to its linear scalability, consistent throughput, no single point of failure and ability to never ever corrupt data on failure.
Instagram’s move from Redis to Cassandra initially due to memory limitations paid off big and opened up opportunities to improve reliability, scalabity and througput.
The Disqus discussion platform is in use on many major websites across the web and when they needed a database that could handle their data growth – billions of records – they turned from Redis to Cassandra to power their analytics and content recommendation engine.
Globo, the Internet arm of the largest media conglomerate in Latin America, needed a solution to their DVR platform that could scale. Additionally, they wanted a database they could count on having their data available even in a server failure; in less than 6 months made the move from Redis to Apache Cassandra.
Mass Relevance helps bring their customers social media content to television and their websites and when they needed a data store to handle their high volume of data growth, as well as gain multi datacenter support, they moved from Redis to Cassandra.
Fashiolista’s fashion focused social networking platform moved off of Redis and onto Cassandra for a much lower cost of ownership, greater performance and a rich user community.
Surespot started gaining traction and needed a way to be ready to scale at a price a bootstrapped startup could afford. The encryption messaging mobile application migrated their user data including chat messages and public keys to Cassandra.
Ultravisual needed a way to increase the speed of requests for user feeds on their visual publishing platform and chose Cassandra over Redis due to its ability to easily add capacity, a minimal concern about data partitioning, and overall cost.
PROS Big Data software offerings include a sales analysis recommendation engine running on Apache Cassandra after evaluating against other databases including Redis. PROS uses Cassandra as a distributed database for low latency, high throughput services that handle real time workloads comprising of hundreds of updates per second and tens of thousands of reads per second.
Instagram at Redis - this slideshare offers direct insight into the how and why Instagram decided to move from Redis to Cassandra.
Cassandra at Instagram - if you would like to hear from one of the developers (Rick Branson) at Instagram about their Redis to Cassandra migration, watch the video.