DBMS > Datomic vs. EJDB vs. Fauna vs. Oracle NoSQL vs. Splice Machine
System Properties Comparison Datomic vs. EJDB vs. Fauna vs. Oracle NoSQL vs. Splice Machine
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Datomic Xexclude from comparison | EJDB Xexclude from comparison | Fauna previously named FaunaDB Xexclude from comparison | Oracle NoSQL Xexclude from comparison | Splice Machine Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | Embeddable document-store database library with JSON representation of queries (in MongoDB style) | Fauna provides a web-native interface, with support for GraphQL and custom business logic that integrates seamlessly with the rest of the serverless ecosystem. The underlying globally distributed storage and compute platform is fast, consistent, and reliable, with a modern security infrastructure. | A multi-model, scalable, distributed NoSQL database, designed to provide highly reliable, flexible, and available data management across a configurable set of storage nodes | Open-Source SQL RDBMS for Operational and Analytical use cases with native Machine Learning, powered by Hadoop and Spark | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Document store | Document store Graph DBMS Relational DBMS Time Series DBMS | Document store Key-value store Relational DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.datomic.com | github.com/Softmotions/ejdb | fauna.com | www.oracle.com/database/nosql/technologies/nosql | splicemachine.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.datomic.com | github.com/Softmotions/ejdb/blob/master/README.md | docs.fauna.com | docs.oracle.com/en/database/other-databases/nosql-database/index.html | splicemachine.com/how-it-works | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Cognitect | Softmotions | Fauna, Inc. | Oracle | Splice Machine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2012 | 2014 | 2011 | 2014 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.0.6735, June 2023 | 23.3, December 2023 | 3.1, March 2021 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial limited edition free | Open Source GPLv2 | commercial | Open Source Proprietary for Enterprise Edition (Oracle Database EE license has Oracle NoSQL database EE covered: details) | Open Source AGPL 3.0, commercial license available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java, Clojure | C | Scala | Java | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | server-less | hosted | Linux Solaris SPARC/x86 | Linux OS X Solaris Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | schema-free | Support Fixed schema and Schema-less deployment with the ability to interoperate between them. | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes string, integer, double, bool, date, object_id | no | optional | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | no | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | no | SQL-like DML and DDL statements | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | in-process shared library | RESTful HTTP API | RESTful HTTP API | JDBC Native Spark Datasource ODBC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Clojure Java | Actionscript C C# C++ Go Java JavaScript (Node.js) Lua Objective-C Pike Python Ruby | C# Go Java JavaScript Python Ruby Scala Swift | C C# Go Java JavaScript (Node.js) Python | C# C++ Java JavaScript (Node.js) Python R Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes Transaction Functions | no | user defined functions | no | yes Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | By using transaction functions | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none But extensive use of caching in the application peers | none | horizontal partitioning consistent hashing | Sharding | Shared Nothhing Auto-Sharding, Columnar Partitioning | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none But extensive use of caching in the application peers | none | Multi-source replication | Electable source-replica replication per shard. Support distributed global deployment with Multi-region table feature | Multi-source replication Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | with Hadoop integration | Yes, via Full Spark Integration | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Eventual Consistency Immediate Consistency depending on configuration | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no typically not needed, however similar functionality with collection joins possible | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | no | ACID | configurable ACID within a storage node (=shard) | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes Read/Write Locking | yes | yes | yes, multi-version concurrency control (MVCC) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | yes off heap cache | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | no | Identity management, authentication, and access control | Access rights for users and roles | Access rights for users, groups and roles according to SQL-standard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | EJDB | Fauna previously named FaunaDB | Oracle NoSQL | Splice Machine | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Stanchion Turns SQLite Into A Column Store Nubank buys firm behind Clojure programming language Zoona Case Study Architecting Software for Leverage TerminusDB Takes on Data Collaboration with a git-Like Approach provided by Google News | Enhance enterprise data security and trust: Must see Blockchain Technology sessions at Oracle CloudWorld 2023 We built a geo-distributed, serverless modern app using the Oracle NoSQL Database Cloud Service Oracle Beefs Up Its NoSQL Database Offering Oracle Defends Relational DBs Against NoSQL Competitors Larry Ellison Just Embraced the Enemy. Or Did He? provided by Google News | Machine learning data pipeline outfit Splice Machine files for insolvency Splice Machine Launches the Splice Machine Feature Store to Simplify Feature Engineering and Democratize Machine ... Splice Machine Launches Feature Store to Simplify Feature Engineering Distributed SQL System Review: Snowflake vs Splice Machine Splice Machine splices into AWS provided by Google News |
Share this page