DBMS > BoltDB vs. HarperDB vs. Immudb vs. RethinkDB
System Properties Comparison BoltDB vs. HarperDB vs. Immudb vs. RethinkDB
Please select another system to include it in the comparison.
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | BoltDB Xexclude from comparison | HarperDB Xexclude from comparison | Immudb Xexclude from comparison | RethinkDB Xexclude from comparison | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An embedded key-value store for Go. | HarperDB takes the "stack" out of "tech stack" by combining an ultra-fast document-style data store, in-memory cache, real-time message broker, and your application components into a single distributed technology. | An open source immutable (append-only) database with cryptographic verification which makes it tamper-resistant and fully auditable. | DBMS for the Web with a mechanism to push updated query results to applications in realtime. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Document store | Key-value store | Document store | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Relational DBMS | Spatial DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/boltdb/bolt | www.harperdb.io | github.com/codenotary/immudb immudb.io | rethinkdb.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.harperdb.io/docs | docs.immudb.io | rethinkdb.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | HarperDB | Codenotary | The Linux Foundation since July 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 2017 | 2020 | 2009 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.1, August 2021 | 1.2.3, April 2022 | 2.4.1, August 2020 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source MIT License | commercial free community edition available | Open Source Apache Version 2.0 | Open Source Apache Version 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Go | Node.js | Go | C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BSD Linux OS X Solaris Windows | Linux OS X | BSD Linux macOS Solaris Windows z/OS | Linux OS X Windows | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | dynamic schema | schema-free | schema-free | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes JSON data types | yes string, binary, float, bool, date, geometry | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support Some form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT. | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like data manipulation statements | SQL-like syntax | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC ODBC React Hooks RESTful HTTP/JSON API WebSocket | gRPC protocol PostgreSQL wire protocol | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go | .Net C C# C++ ColdFusion D Dart Delphi Erlang Go Haskell Java JavaScript (Node.js) Lisp MatLab Objective C Perl PHP PowerShell Prolog Python R Ruby Rust Scala Swift | .Net Go Java JavaScript (Node.js) Python | C community-supported driver C# community-supported driver C++ community-supported driver Clojure community-supported driver Dart community-supported driver Erlang community-supported driver Go community-supported driver Haskell community-supported driver Java official driver JavaScript (Node.js) official driver Lisp community-supported driver Lua community-supported driver Objective-C community-supported driver Perl community-supported driver PHP community-supported driver Python official driver Ruby official driver Scala community-supported driver | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | Custom Functions since release 3.1 | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | no | Client-side triggers through changefeeds | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | A table resides as a whole on one (or more) nodes in a cluster | Sharding | Sharding range based | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | yes the nodes on which a table resides can be defined | Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | Immediate Consistency | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes | Atomic execution of specific operations | ACID | Atomic single-document operations | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes MVCC based | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes, using LMDB | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Access rights for users and roles | yes users and table-level permissions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendorWe invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and servicesWe invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BoltDB | HarperDB | Immudb | RethinkDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Meet some database management systems you are likely to hear more about in the future What I learnt from building 3 high traffic web applications on an embedded key value store. 4 Instructive Postmortems on Data Downtime and Loss Roblox’s cloud-native catastrophe: A post mortem How to Put a GUI on Ansible, Using Semaphore Grafana Loki: Architecture Summary and Running in Kubernetes provided by Google News HarperDB Attracts Significant Growth Investment from Serent Capital Defense Innovation Unit Issues Success Memo to HarperDB for its Common Operation Database Prototype DoD Successfully Deploys Commercial AI Solutions for COD Project Serent Capital invests in software firm HarperDB HarperDB Receives Growth Investment from Serent Capital provided by Google News A Step by Step Guide to immudb — the open source immutable database immudb (immutable database) ‘tamper-proof’ database ImmuDB and Codenotary: It's a database, but the company isn't Immudb: Open-source database, built on a zero trust model How Open-Source Database immudb Plans to Handle All That Metaverse Data provided by Google News An introduction to building realtime apps with RethinkDB Stripe acquires team behind NoSQL database startup RethinkDB How to Use RethinkDB with Node.js Applications How to deploy RethinkDB using Docker Installing and Using RethinkDB on Ubuntu provided by Google News |
Share this page