DBMS > Derby vs. Dragonfly vs. FoundationDB vs. H2 vs. Hazelcast
System Properties Comparison Derby vs. Dragonfly vs. FoundationDB vs. H2 vs. Hazelcast
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB Xexclude from comparison | Dragonfly Xexclude from comparison | FoundationDB Xexclude from comparison | H2 Xexclude from comparison | Hazelcast Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Created as commercial project in 2013, FoundationDB has been acquired by Apple in March 2015 and was withdrawn from the market. As a consequence, the product was removed from the DB-Engines ranking. In April 2018, Apple open-sourced FoundationDB and it therefore reappears in the ranking. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | A drop-in Redis replacement that scales vertically to support millions of operations per second and terabyte sized workloads, all on a single instance | Ordered key-value store. Core features are complimented by layers. | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | A widely adopted in-memory data grid | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Key-value store | Document store supported via specific layer Key-value store Relational DBMS supported via specific SQL-layer | Relational DBMS | Key-value store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS | Document store JSON support with IMDG 3.12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | db.apache.org/derby | github.com/dragonflydb/dragonfly www.dragonflydb.io | github.com/apple/foundationdb | www.h2database.com | hazelcast.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | db.apache.org/derby/manuals/index.html | www.dragonflydb.io/docs | apple.github.io/foundationdb | www.h2database.com/html/main.html | hazelcast.org/imdg/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | DragonflyDB team and community contributors | FoundationDB | Thomas Mueller | Hazelcast | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 1997 | 2023 | 2013 | 2005 | 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 10.17.1.0, November 2023 | 1.0, March 2023 | 6.2.28, November 2020 | 2.2.220, July 2023 | 5.3.6, November 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache version 2 | Open Source BSL 1.1 | Open Source Apache 2.0 | Open Source dual-licence (Mozilla public license, Eclipse public license) | Open Source Apache Version 2; 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 | C++ | C++ | Java | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | Linux | Linux OS X Windows | All OS with a Java VM | All OS with a Java VM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | scheme-free | schema-free some layers support schemas | yes | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | strings, hashes, lists, sets, sorted sets, bit arrays | no some layers support typing | 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 | no | no | yes the object must implement a serialization strategy | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | no | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | no | supported in specific SQL layer only | yes | SQL-like query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC | Proprietary protocol RESP - REdis Serialization Protocol | JDBC ODBC | JCache JPA Memcached protocol RESTful HTTP API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java | C C# C++ Clojure D Dart Elixir Erlang Go Haskell Java JavaScript (Node.js) Lisp Lua Objective-C Perl PHP Python R Ruby Rust Scala Swift Tcl | .Net C C++ Go Java JavaScript Node.js PHP Python Ruby Swift | Java | .Net C# C++ Clojure Go Java JavaScript (Node.js) Python Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | Java Stored Procedures | Lua | in SQL-layer only | Java Stored Procedures and User-Defined Functions | yes Event Listeners, Executor Services | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | publish/subscribe channels provide some trigger functionality | no | yes | yes Events | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding | none | Sharding | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication | Source-replica replication | yes | With clustering: 2 database servers on different computers operate on identical copies of a database | yes Replicated Map | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency | Linearizable consistency | Immediate Consistency | Immediate Consistency or Eventual Consistency selectable by user Raft Consensus Algorithm | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | no | in SQL-layer only | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | Atomic execution of command blocks and scripts | ACID | ACID | one or two-phase-commit; repeatable reads; read commited | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes, strict serializability by the server | yes | yes, multi-version concurrency control (MVCC) | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | yes | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | Password-based authentication | no | fine grained access rights according to SQL-standard | Role-based access control | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB | Dragonfly | FoundationDB | H2 | Hazelcast | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | JDBC tutorial: Easy installation and setup with Apache Derby Top Database Tools for Java Developers in 2023 Installing Apache Hive 3.1.2 on Windows 10 | by Hadi Fadlallah The Arrival of Java 20 No, Citrix did not kill CloudStack provided by Google News | DragonflyDB Announces $21m in New Funding and General Availability DragonflyDB reels in $21M for its speedy in-memory database DragonflyDB Raises $21M in Funding Dragonfly 1.0 Released For What Claims To Be The World's Fastest In-Memory Data Store Intel Linux Kernel Optimizations Show Huge Benefit For High Core Count Servers provided by Google News | FoundationDB team's new venture, Antithesis, raises $47M to enhance software testing Antithesis raises $47M to launch an automated testing platform for software Antithesis Launches Out Of Stealth To Revolutionize Software Reliability Deno adds scaleable messaging with new Queues feature, sparks debate about proprietary services • DEVCLASS IBM Cloudant pulls plan to fund new foundational layer for CouchDB 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 Real-Time Data Platform Hazelcast Introduces New Chief Technology Officer Adrian Soars Hazelcast: The 'true' value of streaming real-time data provided by Google News |
Share this page