DBMS > Datomic vs. Kdb vs. Oracle Berkeley DB vs. OrientDB vs. TerarkDB
System Properties Comparison Datomic vs. Kdb vs. Oracle Berkeley DB vs. OrientDB vs. TerarkDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Datomic Xexclude from comparison | Kdb Xexclude from comparison | Oracle Berkeley DB Xexclude from comparison | OrientDB Xexclude from comparison | TerarkDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | High performance Time Series DBMS | Widely used in-process key-value store | Multi-model DBMS (Document, Graph, Key/Value) | A key-value store forked from RocksDB with advanced compression algorithms. It can be used standalone or as a storage engine for MySQL and MongoDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Time Series DBMS Vector DBMS | Key-value store supports sorted and unsorted key sets Native XML DBMS in the Oracle Berkeley DB XML version | Document store Graph DBMS Key-value store | Key-value store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.datomic.com | kx.com | www.oracle.com/database/technologies/related/berkeleydb.html | orientdb.org | github.com/bytedance/terarkdb | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.datomic.com | code.kx.com | docs.oracle.com/cd/E17076_05/html/index.html | www.orientdb.com/docs/last/index.html | bytedance.larkoffice.com/docs/doccnZmYFqHBm06BbvYgjsHHcKc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Cognitect | Kx Systems, a division of First Derivatives plc | Oracle originally developed by Sleepycat, which was acquired by Oracle | OrientDB LTD; CallidusCloud; SAP | ByteDance, originally Terark | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2000 kdb was released 2000, kdb+ in 2003 | 1994 | 2010 | 2016 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.0.7180, July 2024 | 3.6, May 2018 | 18.1.40, May 2020 | 3.2.29, March 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial limited edition free | commercial free 32-bit version | Open Source commercial license available | Open Source Apache version 2 | commercial restricted open source version 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 | Java, Clojure | q | C, Java, C++ (depending on the Berkeley DB edition) | Java | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | Linux OS X Solaris Windows | AIX Android FreeBSD iOS Linux OS X Solaris VxWorks Windows | All OS with a Java JDK (>= JDK 6) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | schema-free | schema-free Schema can be enforced for whole record ("schema-full") or for some fields only ("schema-hybrid") | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes only with the Berkeley DB XML edition | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes table attribute 'grouped' | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like query language (q) | yes SQL interfaced based on SQLite is available | SQL-like query language, no joins | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | HTTP API JDBC Jupyter Kafka ODBC WebSocket | Tinkerpop technology stack with Blueprints, Gremlin, Pipes Java API RESTful HTTP/JSON API | C++ API Java API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Clojure Java | C C# C++ Go J Java JavaScript Lua MatLab Perl PHP Python R Scala | .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 | .Net C C# C++ Clojure Java JavaScript JavaScript (Node.js) PHP Python Ruby Scala | C++ Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes Transaction Functions | user defined functions | no | Java, Javascript | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | By using transaction functions | yes with views | yes only for the SQL API | Hooks | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none But extensive use of caching in the application peers | horizontal partitioning | none | Sharding | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none But extensive use of caching in the application peers | Source-replica replication | Source-replica replication | Multi-source replication | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no similar paradigm used for internal processing | no | no could be achieved with distributed queries | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no | yes relationship in graphs | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | no | ACID | ACID | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes | 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 | rights management via user accounts | no | Access rights for users and roles; record level security configurable | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Datomic | Kdb | Oracle Berkeley DB | OrientDB | TerarkDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Integrated columnar database & programming system for streaming, real time and historical... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | provides seamless scalability; runs on industry standard server platforms; is top-ranked... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | tick database streaming sensor data massive intelligence applications oil and gas... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Goldman Sachs Morgan Stanley Merrill Lynch J.P. Morgan Deutsche Bank IEX Securities... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | kdb+ performance and reliability proven by our customers in critical infrastructure... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | upon request » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We 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 | Kdb | Oracle Berkeley DB | OrientDB | TerarkDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Graph DBMS increased their popularity by 500% within the last 2 years Graph DBMSs are gaining in popularity faster than any other database category | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Brazil’s Nubank Acquires US Software Firm Cognitect Lucas Cavalcanti on Using Clojure, Microservices, Hexagonal Architecture and Public Cloud at Nubank Brazil’s Nubank acquires US software firm Cognitect, creator of Clojure and Datomic Nubank acquires US company; PayPal studies cryptocurrencies Zoona Case Study provided by Google News | Turbocharging the Engine: KX Unleashes AI-First Transformation with kdb+ Introducing Amazon FinSpace with Managed kdb Insights, a fully managed analytics engine, commonly used by capital markets customers for analysis of real-time and historical time series data McLaren Applied and KX partner to enhance ATLAS software analytics capabilities KX Brings the Power and Performance of kdb+ to Python Developers with PyKX Time for the Kdb/Q specialists to quit finance? provided by Google News | ACM recognizes far-reaching technical achievements with special awards What is NoSQL (Not Only SQL database)? Margo I. Seltzer Oracle acquires Sleepycat for code How to store financial market data for backtesting provided by Google News | Top 8 Best NoSQL Databases in 2024 Comparing Graph Databases II. Part 2: ArangoDB, OrientDB, and… | by Sam Bell OrientDB: A Flexible and Scalable Multi-Model NoSQL DBMS The 12 Best Graph Databases to Consider for 2024 K2View updates DataOps platform with data fabric automation provided by Google News |
Share this page