DBMS > BoltDB vs. HBase vs. Immudb vs. InfinityDB vs. SurrealDB
System Properties Comparison BoltDB vs. HBase vs. Immudb vs. InfinityDB vs. SurrealDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | BoltDB Xexclude from comparison | HBase Xexclude from comparison | Immudb Xexclude from comparison | InfinityDB Xexclude from comparison | SurrealDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An embedded key-value store for Go. | Wide-column store based on Apache Hadoop and on concepts of BigTable | An open source immutable (append-only) database with cryptographic verification which makes it tamper-resistant and fully auditable. | A Java embedded Key-Value Store which extends the Java Map interface | A fully ACID transactional, developer-friendly, multi-model DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Wide column store | Key-value store | Key-value store | Document store Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/boltdb/bolt | hbase.apache.org | github.com/codenotary/immudb immudb.io | boilerbay.com | surrealdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | hbase.apache.org/book.html | docs.immudb.io | boilerbay.com/infinitydb/manual | surrealdb.com/docs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation Apache top-level project, originally developed by Powerset | Codenotary | Boiler Bay Inc. | SurrealDB Ltd | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 2008 | 2020 | 2002 | 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 2.3.4, January 2021 | 1.2.3, April 2022 | 4.0 | v1.1.1, January 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source MIT License | Open Source Apache version 2 | Open Source Apache Version 2.0 | commercial | Open Source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | 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 | Java | Go | Java | Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BSD Linux OS X Solaris Windows | Linux Unix Windows using Cygwin | BSD Linux macOS Solaris Windows z/OS | All OS with a Java VM | Linux macOS Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free, schema definition possible | schema-free | yes nested virtual Java Maps, multi-value, logical ‘tuple space’ runtime Schema upgrade | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | options to bring your own types, AVRO | yes all Java primitives, Date, CLOB, BLOB, huge sparse arrays | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | yes | no manual creation possible, using inversions based on multi-value capability | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | SQL-like syntax | no | SQL-like query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Java API RESTful HTTP API Thrift | gRPC protocol PostgreSQL wire protocol | Access via java.util.concurrent.ConcurrentNavigableMap Interface Proprietary API to InfinityDB ItemSpace (boilerbay.com/docs/ItemSpaceDataStructures.htm) | GraphQL RESTful HTTP API WebSocket | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go | C C# C++ Groovy Java PHP Python Scala | .Net Go Java JavaScript (Node.js) Python | Java | Deno Go JavaScript (Node.js) Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | yes Coprocessors in Java | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding | Sharding | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | Multi-source replication Source-replica replication | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | Immediate Consistency or Eventual Consistency | Immediate Consistency | Immediate Consistency READ-COMMITTED or SERIALIZED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no manual creation possible, using inversions based on multi-value capability | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes | Single row ACID (across millions of columns) | ACID | ACID Optimistic locking for transactions; no isolation for bulk loads | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | 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 Control Lists (ACL) for RBAC, integration with Apache Ranger for RBAC & ABAC | no | yes, based on authentication and database rules | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | HBase | Immudb | InfinityDB | SurrealDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloudera's HBase PaaS offering now supports Complex Transactions Why is Hadoop not listed in the DB-Engines Ranking? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | 4 Instructive Postmortems on Data Downtime and Loss Grafana Loki: Architecture Summary and Running in Kubernetes Roblox’s cloud-native catastrophe: A post mortem How to Put a GUI on Ansible, Using Semaphore provided by Google News | Best Practices from Rackspace for Modernizing a Legacy HBase/Solr Architecture Using AWS Services | Amazon Web ... Less Components, Higher Performance: Apache Doris instead of ClickHouse, MySQL, Presto, and HBase HBase: The database big data left behind What Is HBase? (Definition, Uses, Benefits, Features) HydraBase – The evolution of HBase@Facebook provided by Google News | Codenotary Releases immudb v1.9DOM Codenotary brings its immutable database to the cloud Codenotary launches cloud version of 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 provided by Google News | Meet Tobie Morgan Hitchcock, CEO & Co-Founder Of SurrealDB Cloud, privacy and AI: Trends defining the future of data and databases SurrealDB raises $6M for its database-as-a-service offering New Investment: Lago – Matt Turck Introducing SurrealDB: A Quantum Leap in Database Technology provided by Google News |
Share this page