Feature highlights.

RethinkDB is a persistent, industrial-strength key-value store with full support for the Memcached protocol.

Powerful technology

  • Ten times faster on solid-state
  • Linear scaling across cores
  • Fine-grained durability control
  • Instantaneous recovery on power failure

Supported core features

  • Point queries
  • Atomic increment/decrement
  • Arbitrary atomic operations
  • Append/prepend operations
  • Values up to 10MB in size
  • Pipelining support
  • Row expiration support
  • Multi-GET support

What protocols does RethinkDB support?

RethinkDB currently is fully compatible with the Memcached protocol, allowing you to seamlessly drop RethinkDB behind any application that uses the Memcached protocol for its cache or backing data store.

More protocols will be added in future versions of RethinkDB.

Can I use RethinkDB even if I don't have solid-state drives in my infrastructure?

While RethinkDB performs best on dedicated commodity hardware that has a multicore processor and is backed by solid-state storage, it will still deliver a performance advantage both on rotational drives and in the cloud.

Read our performance report for more details.

Get more questions answered by reading the FAQ.

Performance and scalability.

Linear scaling across cores.

RethinkDB achieves linear scalability on multicore machines by eliminating contention between cores. Distributing data across cores also allows RethinkDB to take full advantage of NUMA machines. See the performance numbers on multicore machines.

Ten times faster on solid-state.

RethinkDB is up to ten times faster than competing solutions that run on solid-state drives. We test dozens of storage systems in our lab, and our transformation engine ensures the drive is always performing at peak efficiency. See the difference these innovations make to the performance on SSDs and on rotational drives for I/O-bound workloads.

Performance results are readily available.

We strive to measure and report performance in a clear, informative, and statistically sound manner. We measure more than a dozen workloads that span different usage patterns and hardware configurations, and publish a full performance report for every version of RethinkDB.

Low latency.

In most scenarios, RethinkDB operates in a sub-millisecond latency range. When higher throughput is required, the latency profile is still within reasonable bounds. See the latency histograms for more details.

Tens of thousands of concurrent connections.

RethinkDB supports tens of thousands of concurrent connections due to its sophisticated event system. See the results of the concurrency benchmark for more details.

Operates at memory speeds if active dataset fits in RAM.

RethinkDB operates at memory speeds on very large databases, as long as data in the most frequently accessed blocks fits in RAM. See the benchmarking results for a canonical database workload for more details.

Administration and operations.

Support for the Memcached protocol.

Any application or client library written for Memcached will continue to work with RethinkDB, without modification. Deploying RethinkDB is a drop-in process; any instance running a Memcached-compatible product can be replaced by RethinkDB without any hassle.

Advanced support for raw block devices.

RethinkDB supports access to raw block devices to eliminate the 1% - 10% overhead associated with file system access. RethinkDB's own consistency checks eliminate the need for a filesystem and its lengthy verification procedures following power failure.

Advanced configuration.

RethinkDB's performance is excellent out of the box, but we allow a high degree of control over the database internals. We expose various configuration options like block size, garbage collection policies, parallelism control, and much more.

Automatic partitioning across disks.

RethinkDB allows data to be split across multiple files or block devices. In unpredictable storage systems (e.g. some RAID controllers or Amazon EBS), this ensures that a single volume's performance constraints will not impact overall performance.

Data extraction features.

Any data stored in RethinkDB can be extracted to an open-format file. Extracted data can be restored to any Memcached-compatible instance, even if data integrity is compromised.

Industrial-strength.

Support for large databases.

RethinkDB maintains performance for databases that far exceed the amount of RAM on a system.

Low memory overhead.

RethinkDB uses 40% less memory per page of data than many competing solutions. Since less memory is being used for bookkeeping, more data can be cached, further improving performance.

Instantaneous recovery on power failure.

In the case of power failure, RethinkDB immediately recovers and starts responding to queries, without lengthy verification and consistency checks. The unique data layout techniques we use guarantee fault-tolerance and data consistency.

Fine-grained durability control.

Choose between minimal durability guarantees for absolute peak performance, or strong durability guarantees for the assurance that data will always be committed to disk. See how performance is affected by various durability modes.

Data integrity verification.

RethinkDB ships with tools that allow database administrators to ensure the consistency and correctness of production instances during tasks like data recovery.

Data recovery features.

In the case of partial failure of the underlying storage system, RethinkDB provides tools to recover available data from the storage device.