Redis vs Cassandra - a quick comparison of two NoSQL databases
In this article, we will have a quick review to point out some key differences between Cassandra and Redis, two well-known NoSQL databases.
What is it?
- Redis is an in-memory data structure store, used as database, cache and message broker.
- Cassandra is a wide-column store based on ideas of BigTable and DynamoDB.
Both Redis and Cassandra are open source NoSQL databases.
Who is behind it?
- Redis is developed and sponsored by Redis Labs
- Cassandra is Apache top-level project, originally developed by Facebook
License:
- Redis: BSD
- Cassandra: Apache
Implementation language:
- Redis was written in C and C++ while Cassandra was written in Java.
SQL compatibility:
- Redis store the data as a key-value pair which normally not supported any SQL like language.
- Cassandra can hold huge data in a tabular format which support HiveQL, a SQL-like language.
Database model:
- Cassandra follows big table like features, it holding column or column families for the list of data.
- Redis doesn’t have column concept, it stored data as key-value pair always.
Supported languages:
- Redis supports almost any languages that you can think of:
- C
- C#
- C++
- Clojure
- Crystal
- D
- Dart
- Elixir
- Erlang
- Fancy
- Go
- Haskell
- Haxe
- Java
- JavaScript (Node.js)
- Lisp
- Lua
- MatLab
- Objective-C
- OCaml
- Pascal
- Perl
- PHP
- Prolog
- Pure Data
- Python
- R
- Rebol
- Ruby
- Rust
- Scala
- Scheme
- Smalltalk
- Swift
- Tcl
- Visual Basic
- Cassandra supports a few languages:
- C#
- C++
- Clojure
- Erlang
- Go
- Haskell
- Java
- JavaScript
- Perl
- PHP
- Python
- Ruby
- Scala
Replication methods:
- Redis uses the proper Master-slave replication and Multi-master replication.
- Cassandra uses selectable replication factor.
When to use?
You should consider based on these criteria:
- Cassandra has been a preferred option for situations that require a lot of writing. It’s also a better solution when considering Fault Tolerance as it follows the proper Hadoop architecture.
- On the other hand, Redis is always used for frequently and rapidly changed data on both read and write, or when you need Key Value relationship implementation.
Need a good GUI Tool for Redis or Cassandra? Try TablePlus, a modern, native GUI client for multiple databases. It’s free anyway.
Not on Mac? Download TablePlus for Windows.
On Linux? Download TablePlus for Linux
Need a quick edit on the go? Download TablePlus for iOS.