DBMS > BoltDB vs. Hazelcast vs. NuoDB vs. Percona Server for MongoDB vs. Vitess
System Properties Comparison BoltDB vs. Hazelcast vs. NuoDB vs. Percona Server for MongoDB vs. Vitess
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | BoltDB Xexclude from comparison | Hazelcast Xexclude from comparison | NuoDB Xexclude from comparison | Percona Server for MongoDB Xexclude from comparison | Vitess Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An embedded key-value store for Go. | A widely adopted in-memory data grid | NuoDB is a webscale distributed database that supports SQL and ACID transactions | A drop-in replacement for MongoDB Community Edition with enterprise-grade features. | Scalable, distributed, cloud-native DBMS, extending MySQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Key-value store | Relational DBMS | Document store | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store JSON support with IMDG 3.12 | Document store Spatial DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/boltdb/bolt | hazelcast.com | www.3ds.com/nuodb-distributed-sql-database | www.percona.com/mongodb/software/percona-server-for-mongodb | vitess.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | hazelcast.org/imdg/docs | doc.nuodb.com | docs.percona.com/percona-distribution-for-mongodb | vitess.io/docs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Hazelcast | Dassault Systèmes originally NuoDB, Inc. | Percona | The Linux Foundation, PlanetScale | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 2008 | 2013 | 2015 | 2013 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 5.3.6, November 2023 | 3.4.10-2.10, November 2017 | 15.0.2, December 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source MIT License | Open Source Apache Version 2; commercial licenses available | commercial limited edition free | Open Source GPL Version 2 | 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 | Go | Java | C++ | C++ | Go | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BSD Linux OS X Solaris Windows | All OS with a Java VM | hosted Amazon EC2, Windows Azure, SoftLayer Linux OS X Windows | Linux | Docker Linux macOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | yes | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | 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. | no | yes the object must implement a serialization strategy | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like query language | yes | no | yes with proprietary extensions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JCache JPA Memcached protocol RESTful HTTP API | ADO.NET JDBC ODBC | proprietary protocol using JSON | ADO.NET JDBC MySQL protocol ODBC | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go | .Net C# C++ Clojure Go Java JavaScript (Node.js) Python Scala | .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 | 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 | no | yes Event Listeners, Executor Services | Java, SQL | JavaScript | yes proprietary syntax | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes Events | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding | data is dynamically stored/cached on the nodes where it is read/written | Sharding | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | yes Replicated Map | yes Managed transparently by NuoDB | Source-replica replication | Multi-source replication Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | Immediate Consistency or Eventual Consistency selectable by user Raft Consensus Algorithm | Immediate Consistency | Eventual Consistency Immediate Consistency | Eventual Consistency across shards Immediate Consistency within a shard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | yes | no | yes not for MyISAM storage engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes | one or two-phase-commit; repeatable reads; read commited | ACID tunable commit protocol | no | ACID at shard level | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes MVCC | yes | yes table locks or row locks depending on storage engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | 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 | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Role-based access control | Standard SQL roles/ privileges, Administrative Users | Access rights for users and roles | Users with fine-grained authorization concept no user groups or 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BoltDB | Hazelcast | NuoDB | Percona Server for MongoDB | Vitess | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Meet some database management systems you are likely to hear more about in the future | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | 4 Instructive Postmortems on Data Downtime and Loss Grafana Loki: Architecture Summary and Running in Kubernetes Roblox’s cloud-native catastrophe: A post mortem How to Put a GUI on Ansible, Using Semaphore provided by Google News | Hazelcast Weaves Wider Logic Threads Through The Data Fabric Hazelcast 5.4 real time data processing platform boosts AI and consistency Hazelcast Achieves Record Year with Leading Brands Choosing Its Platform for Application Modernization, AI Initiatives Research Report on Event Stream Processing Tools Market Size 2024-2030: Supply-Demand Trends, Regional ... Real-Time Data Platform Hazelcast Introduces New Chief Technology Officer Adrian Soars 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 Paul DiLaura of Dassault Systemes Joins NuoDB Board of Directors Deploy the NuoDB Database in Docker Containers NuoDB set to improve distributed SQL performance provided by Google News | 5 Reasons to Run MongoDB on Kubernetes A New Way to Provision Databases on Kubernetes FerretDB goes GA: Gives you MongoDB, without the MongoDB... Unlock MongoDB's Full Potential: Ensuring Post-Upgrade Success Percona launches management system aimed at open-source databases provided by Google News | Vitess, the database clustering system powering YouTube, graduates CNCF incubation PlanetScale Unveils Distributed MySQL Database Service Based on Vitess PlanetScale grabs YouTube-developed open-source tech, promises Vitess DBaaS with on-the-fly schema changes They scaled YouTube — now they’ll shard everyone with PlanetScale Massively Scaling MySQL Using Vitess provided by Google News |
Share this page