Software Alternatives, Accelerators & Startups

RethinkDB VS Redis

Compare RethinkDB VS Redis and see what are their differences

RethinkDB logo RethinkDB

The open-source database for the realtime web

Redis logo Redis

Redis is an open source in-memory data structure project implementing a distributed, in-memory key-value database with optional durability.
  • RethinkDB Landing page
    Landing page //
    2021-10-13
  • Redis Landing page
    Landing page //
    2022-10-19

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

RethinkDB features and specs

  • Real-time Capabilities
    RethinkDB offers built-in real-time capabilities that allow applications to subscribe to data changes. This makes it ideal for building real-time applications like live dashboards, multiplayer games, or collaborative tools.
  • Flexible Query Language
    RethinkDB's query language, ReQL, is highly flexible and allows for complex queries. It supports operations such as joins, aggregations, and transformations directly within the database.
  • Distributed Database
    RethinkDB is designed to be distributed from the ground up. It can automatically replicate data and distribute queries across multiple machines to improve scalability and fault tolerance.
  • Web-based Administration
    RethinkDB provides a user-friendly web-based administration interface that simplifies database management and monitoring. This interface makes it easier for developers and system administrators to manage their databases.
  • JSON Data Model
    RethinkDB uses JSON as its data model, which makes it easy to store and work with structured data. This can be especially beneficial for web developers who are used to working with JSON data.

Possible disadvantages of RethinkDB

  • Limited Ecosystem
    Compared to more established databases like MySQL or MongoDB, RethinkDB has a smaller ecosystem. This means fewer third-party tools, libraries, and community support are available.
  • Stalled Development
    After the company behind RethinkDB shut down in 2016, the development slowed significantly. Although the project was later open-sourced and the community keeps it alive, the updates and new features are not as frequent.
  • Learning Curve
    While ReQL is powerful, it can have a steep learning curve for developers who are new to RethinkDB or who are more familiar with SQL or other NoSQL query languages.
  • Resource Intensive
    RethinkDB can be more resource-intensive compared to some other databases. It may require more RAM and CPU resources to achieve optimal performance, which can be a consideration for resource-constrained environments.
  • Fewer Enterprise Features
    RethinkDB lacks some enterprise-level features such as advanced security options, comprehensive backup solutions, and robust user management compared to other database systems like MongoDB or PostgreSQL.

Redis features and specs

  • Performance
    Redis is an in-memory data store, which allows it to provide extremely fast read and write operations. This makes it ideal for applications requiring real-time interactions.
  • Data Structures
    Redis offers a variety of data structures, such as strings, hashes, lists, sets, and sorted sets. This flexibility helps developers manage data more efficiently in different scenarios.
  • Scalability
    Redis supports horizontal scalability with features like clustering and partitioning, allowing for easy scaling as your application grows.
  • Persistence
    Though primarily an in-memory store, Redis provides options for data persistence, such as RDB snapshots and AOF logs, enabling data durability across reboots.
  • Pub/Sub Messaging
    Redis includes a built-in publish/subscribe messaging system, which can be used to implement real-time messaging and notifications.
  • Simple API
    Redis has a simple and intuitive API, which can speed up development time and make it easier to integrate Redis into various application stacks.
  • Atomic Operations
    Redis supports atomic operations on data structures, reducing the complexity of concurrent programming and making it easier to maintain data consistency.

Possible disadvantages of Redis

  • Memory Usage
    Being an in-memory data store, Redis can become expensive in terms of memory usage, especially when working with large datasets.
  • Data Persistence Limitations
    While Redis offers data persistence, it is not as robust as traditional databases. There can be data loss in certain configurations, such as when using asynchronous persistence methods.
  • Complexity in Scaling
    Although Redis supports clustering, setting up and managing a Redis cluster can be complex and may require significant DevOps expertise.
  • Single-threaded Nature
    Redis operates on a single-threaded event loop, which can become a bottleneck for certain workloads that could benefit from multi-threading.
  • Limited Query Capabilities
    Compared to traditional relational databases, Redis offers limited querying capabilities. Complex queries and joins are not supported natively.
  • License
    As of Redis 6 and higher, the Redis modules are under the Server Side Public License (SSPL), which may be restrictive for some use cases compared to more permissive open-source licenses.

RethinkDB videos

Mike Glukhovsky - RethinkDB Year in Review 2015

More videos:

  • Review - RethinkDB for Windows: developer preview
  • Review - Michael Glukhovsky - Advancing the realtime web with RethinkDB

Redis videos

What is Redis? | Why and When to use Redis? | Tech Primers

More videos:

  • Review - Improve your Redis developer experience with RedisInsight, Redis Labs
  • Review - Redis Labs "Why NoSQL is a Safe Bet"
  • Review - Redis Enterprise Overview with Yiftach Shoolman - Redis Labs
  • Review - Redis system design | Distributed cache System design
  • Review - What is Redis and What Does It Do?
  • Review - Redis Sorted Sets Explained

Category Popularity

0-100% (relative to RethinkDB and Redis)
Databases
15 15%
85% 85
NoSQL Databases
11 11%
89% 89
Relational Databases
100 100%
0% 0
Key-Value Database
0 0%
100% 100

User comments

Share your experience with using RethinkDB and Redis. For example, how are they different and which one is better?
Log in or Post with

Reviews

These are some of the external sources and on-site user reviews we've used to compare RethinkDB and Redis

RethinkDB Reviews

12 Best Open-source Database Backend Server and Google Firebase Alternatives
RethinkDB is an open-source real-time database engine for creating modern reactive apps. It features a rich dashboard with real-time analytics and graphs, data explorer, simple learning curve, rich data models and queries with Geospatial queries support, and a large set of administration tools.The official binary packages for RethinkDB are available for: Ubuntu, Debian,...
Source: medevel.com
9 Best MongoDB alternatives in 2019
RethinkDB is the open-source, scalable DBMS system. It helps you to makes real-time building apps dramatically easier. This DBMS tool offers a flexible query language, intuitive operations, monitoring APIs, and is easy to set up and learn.
Source: www.guru99.com

Redis Reviews

Redis Alternative for App Performance | Gigaspaces
Redis offers a RESTful API for accessing data stored within its in-memory technology data structures. This API provides a simple and efficient way to interact with Redis, enabling developers to leverage its capabilities seamlessly in their applications. Developers also need to manage the Redis cached data lifecycle, it’s the application responsibility to store the data &...
Are Free, Open-Source Message Queues Right For You?
A notable challenge with Redis Streams is that it doesn't natively support distributed, horizontal scaling. Also, while Redis is famous for its speed and simplicity, managing and scaling a Redis installation may be complex for some users, particularly for persistent data workloads.
Source: blog.iron.io
Redis vs. KeyDB vs. Dragonfly vs. Skytable | Hacker News
1. Redis: I'll start with Redis which I'd like to call the "original" key/value store (after memcached) because it is the oldest and most widely used of all. Being a long-time follower of Redis, I do know it's single-threaded (and uses io-threads since 6.0) and hence it achieves lesser throughput than the other stores listed above which are multi-threaded, at least to some...
Memcached vs Redis - More Different Than You Would Expect
Remember when I wrote about how Redis was using malloc to assign memory? I lied. While Redis did use malloc at some point, these days Redis actually uses jemalloc. The reason for this is that jemalloc, while having lower peak performance has lower memory fragmentation helping to solve the framented memory issues that Redis experiences.
Top 15 Kafka Alternatives Popular In 2021
Redis is a known, open-source, in-memory data structure store that offers different data structures like lists, strings, hashes, sets, bitmaps, streams, geospatial indexes, etc. It is best utilized as a cache, memory broker, and cache. It has optional durability and inbuilt replication potential. It offers a great deal of availability through Redis Sentinel and Redis Cluster.

Social recommendations and mentions

Based on our record, Redis seems to be a lot more popular than RethinkDB. While we know about 214 links to Redis, we've tracked only 12 mentions of RethinkDB. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.

RethinkDB mentions (12)

  • Ask HN: How Can I Make My Front End React to Database Changes in Real-Time?
    Throwing RethinkDB in the mix as well. https://rethinkdb.com/. - Source: Hacker News / about 1 year ago
  • You forget RethinkDB, it's a shame
    I've been poking around, testing and breaking database servers for a long time (more than 20 years today). But a few years ago I came across a jewel, the grail, one of the best solutions available. Under the radar, shunned for whatever reason, RethinkDB is nonetheless one of the finest database server projects I've ever tested. - Source: dev.to / about 2 years ago
  • Ask HN: Anyone Using RethinkDB in Production?
    RethinkDB[0] looks like a "too good to be true" type of database. Anyone using it in production? What is your experience like? What are the pros and cons? [0] https://rethinkdb.com. - Source: Hacker News / about 2 years ago
  • Help wanted for a project idea - A multi-room live chat experience, similar to Twitch chat's functionality
    Since you’re not new to the field you might want to peek https://rethinkdb.com/ since it got picked up as an open source project. Source: over 2 years ago
  • Python, the usefulness of "dataclass"
    A Data Objects represents data which can be saved inside a database. This concept is in the heart of SQLAlchemy, but as the name should be obvious: it's for SQL Database (in general). Today, there are now document databases too (like MongoDB, ArangoDB, RethinkDB that I love so much, or even PostgreSQL). So, a "data" is like a "structured and typed document" that you save "as is". That's not the same paradigm, not... - Source: dev.to / almost 3 years ago
View more

Redis mentions (214)

  • RisingWave Turns Four: Our Journey Beyond Democratizing Stream Processing
    Real-time serving: Many push processed data into low-latency serving layers like Redis to power applications needing instant responses (think fraud detection, live recommendations, financial dashboards). - Source: dev.to / 13 days ago
  • Setup a Redis Cluster using Redis Stack
    Redis® Cluster is a fully distributed implementation with automated sharding capabilities (horizontal scaling capabilities), designed for high performance and linear scaling up to 1000 nodes. . - Source: dev.to / about 1 month ago
  • Modern Web Development Sucks? How PostgreSQL Can Replace Your Tech Stack
    Instead of spinning up Redis, use an unlogged table in PostgreSQL for fast, ephemeral storage. - Source: dev.to / about 2 months ago
  • How to Increase API Performance
    Caching helps minimize backend strain, reduce delays, and handle more requests, which translates to better scalability, smoother user interactions, and smarter resource use. Tools like Redis and Varnish have shown impressive results in high-demand API setups [1]. - Source: dev.to / 2 months ago
  • Consuming paginated API using periodic Celery task in a Django Application
    We are using redis as our broker. You can opt for RabbitMQ which is supported out-of-box by celery. - Source: dev.to / 3 months ago
View more

What are some alternatives?

When comparing RethinkDB and Redis, you can also consider the following products

MongoDB - MongoDB (from "humongous") is a scalable, high-performance NoSQL database.

CouchDB - HTTP + JSON document database with Map Reduce views and peer-based replication

ArangoDB - A distributed open-source database with a flexible data model for documents, graphs, and key-values.

Apache Cassandra - The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance.

PostgreSQL - PostgreSQL is a powerful, open source object-relational database system.

memcached - High-performance, distributed memory object caching system