DBMS > Datomic vs. OrientDB vs. RocksDB vs. TypeDB vs. Vitess
System Properties Comparison Datomic vs. OrientDB vs. RocksDB vs. TypeDB vs. Vitess
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Datomic Xexclude from comparison | OrientDB Xexclude from comparison | RocksDB Xexclude from comparison | TypeDB formerly named Grakn Xexclude from comparison | Vitess Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | Multi-model DBMS (Document, Graph, Key/Value) | Embeddable persistent key-value store optimized for fast storage (flash and RAM) | TypeDB provides developers with an expressive, customizable type system to manage their data using an award-winning query language, TypeQL, while building on a high-performance, distributed architecture. | Scalable, distributed, cloud-native DBMS, extending MySQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Document store Graph DBMS Key-value store | Key-value store | Graph DBMS The type-theoretic data model of TypeDB subsumes the graph database model. Object oriented DBMS The data model of TypeDB comprises object-oriented features such as class inheritance and interfaces. Relational DBMS The type-theoretic data model of TypeDB subsumes the relational database model. | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.datomic.com | orientdb.org | rocksdb.org | typedb.com | vitess.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.datomic.com | www.orientdb.com/docs/last/index.html | github.com/facebook/rocksdb/wiki | typedb.com/docs | vitess.io/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Cognitect | OrientDB LTD; CallidusCloud; SAP | Facebook, Inc. | Vaticle | The Linux Foundation, PlanetScale | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2010 | 2013 | 2016 | 2013 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.0.7180, July 2024 | 3.2.29, March 2024 | 9.4.0, June 2024 | 2.28.3, June 2024 | 15.0.2, December 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial limited edition free | Open Source Apache version 2 | Open Source BSD | Open Source GPL Version 3, commercial licenses available | Open Source Apache Version 2.0, commercial licenses 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 | Java | C++ | Java | Go | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | All OS with a Java JDK (>= JDK 6) | Linux | Linux OS X Windows | Docker Linux macOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free Schema can be enforced for whole record ("schema-full") or for some fields only ("schema-hybrid") | schema-free | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | no | yes | 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 | yes | yes | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like query language, no joins | no | no | yes with proprietary extensions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | Tinkerpop technology stack with Blueprints, Gremlin, Pipes Java API RESTful HTTP/JSON API | C++ API Java API | gRPC protocol TypeDB Console (shell) TypeDB Studio (IDE) | ADO.NET JDBC MySQL protocol ODBC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Clojure Java | .Net C C# C++ Clojure Java JavaScript JavaScript (Node.js) PHP Python Ruby Scala | C C++ Go Java Perl Python Ruby | All JVM based languages C C++ Java JavaScript (Node.js) Python Rust | Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes Transaction Functions | Java, Javascript | no | no | yes proprietary syntax | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | By using transaction functions | Hooks | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none But extensive use of caching in the application peers | Sharding | horizontal partitioning | no | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none But extensive use of caching in the application peers | Multi-source replication | yes | Synchronous replication via raft | Multi-source replication Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no could be achieved with distributed queries | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Eventual Consistency across shards Immediate Consistency within a shard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes relationship in graphs | no | no substituted by the relationship feature | yes not for MyISAM storage engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | yes | ACID | ACID at shard level | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes table locks or row locks depending on storage engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Access rights for users and roles; record level security configurable | no | yes at REST API level; other APIs in progress | Users with fine-grained authorization concept no user groups or roles | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Datomic | OrientDB | RocksDB | TypeDB formerly named Grakn | Vitess | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | TypeDB is a polymorphic database with a conceptual data model, a strong subtyping... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | TypeDB provides a new level of expressivity, extensibility, interoperability, and... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Life sciences : TypeDB makes working with biological data much easier and accelerates... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | Apache f or language drivers, and AGPL and Commercial for the database server. The... » 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 | OrientDB | RocksDB | TypeDB formerly named Grakn | Vitess | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Lucas Cavalcanti on Using Clojure, Microservices, Hexagonal Architecture and Public Cloud at Nubank Nubank acquires US company; PayPal studies cryptocurrencies Zoona Case Study Fintech Powerhouse Nubank Buys U.S. Software Firm Cognitect These are the top 25 people who will have the most influence in tech this year, according to a survey of over provided by Google News | Top 8 Best NoSQL Databases in 2024 Comparing Graph Databases II. Part 2: ArangoDB, OrientDB, and… | by Sam Bell The 12 Best Graph Databases to Consider for 2024 K2View updates DataOps platform with data fabric automation 15+ Best Database Software and Systems: Full Analysis provided by Google News | Kioxia Demonstrates Flexible Data Placement-Enabled SSD Running RocksDB at 2024 OCP Global Summit Correcting And Replacing Kioxia Demonstrates Flexible Data Placement-Enabled SSD Running RocksDB at 2024 OCP Global Summit Kioxia Demonstrates Flexible Data Placement-Enabled SSD Running RocksDB At 2024 OCP Global Summit Tech News | American Press Technology News Toshiba Memory America Optimizes RocksDB for SSDs provided by Google News | An Enterprise Data Stack Using TypeDB How Roche Discovered Novel Potential Gene Targets with TypeDB Bayer’s Approach to Modelling and Loading Data at Scale Modelling Biomedical Data for a Drug Discovery Knowledge Graph Building a Biomedical Knowledge Graph provided by Google News | Deepthi Sigireddi on Distributed Database Architecture in the Cloud Native Era PlanetScale review: Horizontally scalable MySQL in the cloud They scaled YouTube — now they’ll shard everyone with PlanetScale PlanetScale launches new database-as-a-service platform PlanetScale Now Available on Google Cloud Marketplace provided by Google News |
Share this page