DBMS > Datomic vs. HarperDB vs. PouchDB vs. RocksDB vs. UniData,UniVerse
System Properties Comparison Datomic vs. HarperDB vs. PouchDB vs. RocksDB vs. UniData,UniVerse
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Datomic Xexclude from comparison | HarperDB Xexclude from comparison | PouchDB Xexclude from comparison | RocksDB Xexclude from comparison | UniData,UniVerse Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | 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. | JavaScript DBMS with an API inspired by CouchDB | Embeddable persistent key-value store optimized for fast storage (flash and RAM) | MultiValue database and application server with SQL mapping layer and meta database capabilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Document store | Document store | Key-value store | Multivalue DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.datomic.com | www.harperdb.io | pouchdb.com | rocksdb.org | www.rocketsoftware.com/products/rocket-multivalue-application-development-platform/rocket-unidata | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.datomic.com | docs.harperdb.io/docs | pouchdb.com/guides | github.com/facebook/rocksdb/wiki | docs.rocketsoftware.com/bundle?cluster=true&labelkey=unidata&labelkey=prod_unidata | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Cognitect | HarperDB | Apache Software Foundation | Facebook, Inc. | Rocket Software | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2017 | 2012 | 2013 | 1985 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.0.7180, July 2024 | 3.1, August 2021 | 7.1.1, June 2019 | 9.4.0, June 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial limited edition free | commercial free community edition available | Open Source | Open Source BSD | commercial | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Java, Clojure | Node.js | JavaScript | C++ | C | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | Linux OS X | server-less, requires a JavaScript environment (browser, Node.js) | Linux | AIX HP-UX Linux Solaris Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | dynamic schema | schema-free | schema-free | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes JSON data types | no | no | optional | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes | yes | yes via views | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like data manipulation statements | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | JDBC ODBC React Hooks RESTful HTTP/JSON API WebSocket | HTTP REST only for PouchDB Server JavaScript API | C++ API Java API | Java API JPA JDBC ODBC OLE DB Proprietary protocol RESTful HTTP API SOAP-based API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Clojure Java | .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 | JavaScript | C C++ Go Java Perl Python Ruby | .Net Basic U2 Basic C Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes Transaction Functions | Custom Functions since release 3.1 | View functions in JavaScript | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | By using transaction functions | no | yes | yes U2 Basic | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none But extensive use of caching in the application peers | A table resides as a whole on one (or more) nodes in a cluster | Sharding with a proxy-based framework, named couchdb-lounge | horizontal partitioning | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none But extensive use of caching in the application peers | yes the nodes on which a table resides can be defined | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | yes | Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Eventual Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | Atomic execution of specific operations | no | yes | ACID configurable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes using external storage systems (e.g. Cassandra, DynamoDB, PostgreSQL, Couchbase and others) | yes, using LMDB | yes by using IndexedDB, WebSQL or LevelDB as backend | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes recommended only for testing and development | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Access rights for users and roles | no | no | Access rights according to SQL-standard and operating system based | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Datomic | HarperDB | PouchDB | RocksDB | UniData,UniVerse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Nubank released the licenses of its Datomic database Lucas Cavalcanti on Using Clojure, Microservices, Hexagonal Architecture and Public Cloud at Nubank Nubank acquires US company; PayPal studies cryptocurrencies Zoona Case Study Brazilian challenger Nubank acquires firm behind Clojure and Datomic provided by Google News | HarperDB Attracts Significant Growth Investment from Serent Capital DoD Successfully Deploys Commercial AI Solutions for COD Project Defense Innovation Unit Issues Success Memo to HarperDB for its Common Operation Database Prototype Wilson Sonsini Advises Serent Capital on Significant Growth Investment in HarperDB HarperDB Receives Growth Investment from Serent Capital provided by Google News | Create Offline Web Apps Using Service Workers & PouchDB Getting Started with PouchDB Client-Side JavaScript Database Building an Offline First App with PouchDB provided by Google News | AMD EPYC vs. Intel Xeon Cascadelake With Facebook's RocksDB Database Pliops Unveils Accelerated Key-Value Store That Boosts RocksDB Performance by 20x at OCP Global Summit Did Rockset Just Solve Real-Time Analytics? Meta’s Velox Means Database Performance Is Not Subject To Interpretation Facebook’s MyRocks Truly Rocks! provided by Google News | Unidata inks 3-year Lazio sponsorship deal Unidata uses Jetstream to make geoscience data available to science community Bahrain Business: UniData implements major ‘smart classroom’ project Sparkle and Unitirreno Partner to Land New Subsea Cable in Genoa UniData implements a milestone Smart Class Room project at The Asian School provided by Google News |
Share this page