DBMS > Derby vs. FoundationDB vs. Google Cloud Firestore vs. H2 vs. Hazelcast
System Properties Comparison Derby vs. FoundationDB vs. Google Cloud Firestore 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 | FoundationDB Xexclude from comparison | Google Cloud Firestore 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. | Ordered key-value store. Core features are complimented by layers. | Cloud Firestore is an auto-scaling document database for storing, syncing, and querying data for mobile and web apps. It offers seamless integration with other Firebase and Google Cloud Platform products. | 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 | Document store supported via specific layer Key-value store Relational DBMS supported via specific SQL-layer | Document store | 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/apple/foundationdb | firebase.google.com/products/firestore | www.h2database.com | hazelcast.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | db.apache.org/derby/manuals/index.html | apple.github.io/foundationdb | firebase.google.com/docs/firestore | www.h2database.com/html/main.html | hazelcast.org/imdg/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | FoundationDB | Thomas Mueller | Hazelcast | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 1997 | 2013 | 2017 | 2005 | 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 10.17.1.0, November 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 Apache 2.0 | commercial | 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 | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | C++ | Java | Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | Linux OS X Windows | hosted | All OS with a Java VM | All OS with a Java VM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free some layers support schemas | schema-free | yes | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | no some layers support typing | 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 | no | no | yes the object must implement a serialization strategy | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | no | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | supported in specific SQL layer only | no | yes | SQL-like query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC | Android gRPC (using protocol buffers) API iOS JavaScript API RESTful HTTP API | JDBC ODBC | JCache JPA Memcached protocol RESTful HTTP API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java | .Net C C++ Go Java JavaScript Node.js PHP Python Ruby Swift | Go Java JavaScript JavaScript (Node.js) Objective-C Python | Java | .Net C# C++ Clojure Go Java JavaScript (Node.js) Python Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | Java Stored Procedures | in SQL-layer only | yes, Firebase Rules & Cloud Functions | Java Stored Procedures and User-Defined Functions | yes Event Listeners, Executor Services | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | no | yes, with Cloud Functions | yes | yes Events | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding | Sharding | none | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication | yes | Multi-source replication | 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 | Using Cloud Dataflow | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Linearizable consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency or Eventual Consistency selectable by user Raft Consensus Algorithm | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | in SQL-layer only | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | yes | ACID | one or two-phase-commit; repeatable reads; read commited | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | no | Access rights for users, groups and roles based on Google Cloud Identity and Access Management. Security Rules for 3rd party authentication using Firebase Auth. | 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 | FoundationDB | Google Cloud Firestore | H2 | Hazelcast | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloud-based DBMS's popularity grows at high rates | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | 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 | Realtime vs Cloud Firestore: Which Firebase Database to go? Google's AI-First Strategy Brings Vector Support To Cloud Databases Google’s Firebase gets AI extensions, opens up its marketplace Google's Cloud Firestore is now generally available Firestore and Python | NoSQL on Google Cloud 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 Versus Redis: A Practical Comparison provided by Google News |
Share this page