DBMS > EventStoreDB vs. HarperDB vs. Oracle Berkeley DB vs. PouchDB vs. STSdb
System Properties Comparison EventStoreDB vs. HarperDB vs. Oracle Berkeley DB vs. PouchDB vs. STSdb
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | EventStoreDB Xexclude from comparison | HarperDB Xexclude from comparison | Oracle Berkeley DB Xexclude from comparison | PouchDB Xexclude from comparison | STSdb Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Industrial-strength, open-source database solution built from the ground up for event sourcing. | Ultra-low latency distributed database with an intuitive REST API supporting NoSQL and SQL (including joins). Deployment of functions and databases simultaneously with a consolidated node-level architecture. | Widely used in-process key-value store | JavaScript DBMS with an API inspired by CouchDB | Key-Value Store with special method for indexing optimized for high performance using a special indexing method | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Event Store | Document store | Key-value store supports sorted and unsorted key sets Native XML DBMS in the Oracle Berkeley DB XML version | Document store | Key-value store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.eventstore.com | www.harperdb.io | www.oracle.com/database/technologies/related/berkeleydb.html | pouchdb.com | github.com/STSSoft/STSdb4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | developers.eventstore.com | docs.harperdb.io/docs | docs.oracle.com/cd/E17076_05/html/index.html | pouchdb.com/guides | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Event Store Limited | HarperDB | Oracle originally developed by Sleepycat, which was acquired by Oracle | Apache Software Foundation | STS Soft SC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2017 | 1994 | 2012 | 2011 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 21.2, February 2021 | 3.1, August 2021 | 18.1.40, May 2020 | 7.1.1, June 2019 | 4.0.8, September 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source | commercial free community edition available | Open Source commercial license available | Open Source | Open Source GPLv2, commercial license available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Node.js | C, Java, C++ (depending on the Berkeley DB edition) | JavaScript | C# | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux Windows | Linux OS X | AIX Android FreeBSD iOS Linux OS X Solaris VxWorks Windows | server-less, requires a JavaScript environment (browser, Node.js) | Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | dynamic schema | schema-free | schema-free | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes JSON data types | no | no | yes primitive types and user defined types (classes) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes only with the Berkeley DB XML edition | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes via views | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like data manipulation statements | yes SQL interfaced based on SQLite is available | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC ODBC React Hooks RESTful HTTP/JSON API WebSocket | HTTP REST only for PouchDB Server JavaScript API | .NET Client API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .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 Figaro is a .Net framework assembly that extends Berkeley DB XML into an embeddable database engine for .NET others Third-party libraries to manipulate Berkeley DB files are available for many languages C C# C++ Java JavaScript (Node.js) 3rd party binding Perl Python Tcl | JavaScript | C# Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | Custom Functions since release 3.1 | no | View functions in JavaScript | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes only for the SQL API | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | A table resides as a whole on one (or more) nodes in a cluster | none | Sharding with a proxy-based framework, named couchdb-lounge | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes the nodes on which a table resides can be defined | Source-replica replication | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | Atomic execution of specific operations | ACID | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes, using LMDB | yes | yes by using IndexedDB, WebSQL or LevelDB as backend | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EventStoreDB | HarperDB | Oracle Berkeley DB | PouchDB | STSdb | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Meet HarperDB, Winner of the Startups of the Year in Denver Startups of the Year 2023: Meet HarperDB - A Database and Application Development Platform Jaxon Repp on HarperDB Distributed Database Platform Unlocking immersive golfing experiences with AWS Wavelength | Amazon Web Services A sharper HarperDB, connectivity done auspiciously provided by Google News | ACM recognizes far-reaching technical achievements with special awards Margo I. Seltzer | Berkman Klein Center Database Trends Report: SQL Beats NoSQL, MySQL Most Popular -- ADTmag What You Need to Know About NoSQL Databases How to store financial market data for backtesting provided by Google News | Building an Offline First App with PouchDB — SitePoint Create Offline Web Apps Using Service Workers & PouchDB — SitePoint 3 Reasons To Think Offline First Getting Started with PouchDB Client-Side JavaScript Database — SitePoint Offline-first web and mobile apps: Top frameworks and components provided by Google News |
Share this page