DBMS > Citus vs. Hazelcast vs. JanusGraph vs. NuoDB vs. Percona Server for MongoDB
System Properties Comparison Citus vs. Hazelcast vs. JanusGraph vs. NuoDB vs. Percona Server for MongoDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Citus Xexclude from comparison | Hazelcast Xexclude from comparison | JanusGraph successor of Titan Xexclude from comparison | NuoDB Xexclude from comparison | Percona Server for MongoDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Scalable hybrid operational and analytics RDBMS for big data use cases based on PostgreSQL | A widely adopted in-memory data grid | A Graph DBMS optimized for distributed clusters It was forked from the latest code base of Titan in January 2017 | NuoDB is a webscale distributed database that supports SQL and ACID transactions | A drop-in replacement for MongoDB Community Edition with enterprise-grade features. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Key-value store | Graph DBMS | Relational DBMS | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store | Document store JSON support with IMDG 3.12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.citusdata.com | hazelcast.com | janusgraph.org | www.3ds.com/nuodb-distributed-sql-database | www.percona.com/mongodb/software/percona-server-for-mongodb | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.citusdata.com | hazelcast.org/imdg/docs | docs.janusgraph.org | doc.nuodb.com | docs.percona.com/percona-distribution-for-mongodb | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Hazelcast | Linux Foundation; originally developed as Titan by Aurelius | Dassault Systèmes originally NuoDB, Inc. | Percona | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2010 | 2008 | 2017 | 2013 | 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 8.1, December 2018 | 5.3.6, November 2023 | 0.6.3, February 2023 | 3.4.10-2.10, November 2017 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source AGPL, commercial license also available | Open Source Apache Version 2; commercial licenses available | Open Source Apache 2.0 | commercial limited edition free | Open Source GPL Version 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | C | Java | Java | C++ | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux | All OS with a Java VM | Linux OS X Unix Windows | hosted Amazon EC2, Windows Azure, SoftLayer Linux OS X Windows | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | yes | yes | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | 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. | yes specific XML type available, but no XML query functionality | yes the object must implement a serialization strategy | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes standard, with numerous extensions | SQL-like query language | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | ADO.NET JDBC native C library ODBC streaming API for large objects | JCache JPA Memcached protocol RESTful HTTP API | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | ADO.NET JDBC ODBC | proprietary protocol using JSON | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net C C++ Delphi Java JavaScript (Node.js) Perl PHP Python Tcl | .Net C# C++ Clojure Go Java JavaScript (Node.js) Python Scala | Clojure Java Python | .Net C C++ Go Java JavaScript JavaScript (Node.js) PHP Python Ruby | Actionscript C C# C++ Clojure ColdFusion D Dart Delphi Erlang Go Groovy Haskell Java JavaScript Lisp Lua MatLab Perl PHP PowerShell Prolog Python R Ruby Scala Smalltalk | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions realized in proprietary language PL/pgSQL or with common languages like Perl, Python, Tcl etc. | yes Event Listeners, Executor Services | yes | Java, SQL | JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes Events | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding | yes depending on the used storage backend (e.g. Cassandra, HBase, BerkeleyDB) | data is dynamically stored/cached on the nodes where it is read/written | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication other methods possible by using 3rd party extensions | yes Replicated Map | yes | yes Managed transparently by NuoDB | Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | yes via Faunus, a graph analytics engine | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency or Eventual Consistency selectable by user Raft Consensus Algorithm | Eventual Consistency Immediate Consistency | Immediate Consistency | Eventual Consistency Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | no | yes Relationships in graphs | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | one or two-phase-commit; repeatable reads; read commited | ACID | ACID tunable commit protocol | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes MVCC | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes Supports various storage backends: Cassandra, HBase, Berkeley DB, Akiban, Hazelcast | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | yes Temporary table | yes via In-Memory Engine | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | Role-based access control | User authentification and security via Rexster Graph Server | Standard SQL roles/ privileges, Administrative Users | Access rights for users and roles | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Citus | Hazelcast | JanusGraph successor of Titan | NuoDB | Percona Server for MongoDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Meet some database management systems you are likely to hear more about in the future | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Ubicloud wants to build an open source alternative to AWS How Citus Health Uses AWS to Provide Secure and Real-Time Virtual Patient Care - AWS Startups Microsoft Benchmarks Distributed PostgreSQL DBs Distributed PostgreSQL Benchmarks: Azure Cosmos DB, CockroachDB, and YugabyteDB Microsoft acquires Citus Data, re-affirming its commitment to Open Source and accelerating Azure PostgreSQL ... provided by Google News | Hazelcast 5.4 real time data processing platform boosts AI and consistency Hazelcast Sets New Standards for AI Workloads with Platform 5.4 Enhancements Hazelcast Weaves Wider Logic Threads Through The Data Fabric Real-Time Data Platform Hazelcast Introduces New Chief Technology Officer Adrian Soars Hazelcast Versus Redis: A Practical Comparison provided by Google News | Simple Deployment of a Graph Database: JanusGraph | by Edward Elson Kosasih Database Deep Dives: JanusGraph JanusGraph Picks Up Where TitanDB Left Off Compose for JanusGraph arrives on Bluemix Nordstrom Builds Flexible Backend Ops with Kubernetes, Spark and JanusGraph provided by Google News | Paul DiLaura of Dassault Systemes Joins NuoDB Board of Directors Dassault Systèmes Announces the Acquisition of NuoDB, a Cloud-Native Distributed SQL Database Leader NuoDB set to improve distributed SQL performance Deploy the NuoDB Database in Docker Containers Distributed SQL Database NuoDB 4.0 Supports Kubernetes Operator and Indexing Improvements provided by Google News | 5 Reasons to Run MongoDB on Kubernetes FerretDB goes GA: Gives you MongoDB, without the MongoDB... How to Plan Your MongoDB Upgrade Percona launches management system aimed at open-source databases Is database-as-a-service in Percona's future? provided by Google News |
Share this page