DBMS > Derby vs. eXtremeDB vs. Google Cloud Spanner vs. ObjectBox vs. SQL.JS
System Properties Comparison Derby vs. eXtremeDB vs. Google Cloud Spanner vs. ObjectBox vs. SQL.JS
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 | eXtremeDB Xexclude from comparison | Google Cloud Spanner Xexclude from comparison | ObjectBox Xexclude from comparison | SQL.JS Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | Natively in-memory DBMS with options for persistency, high-availability and clustering | A horizontally scalable, globally consistent, relational database service. It is the externalization of the core Google database that runs the biggest aspects of Google, like Ads and Google Play. | Extremely fast embedded database for small devices, IoT and Mobile | Port of SQLite to JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Relational DBMS Time Series DBMS | Relational DBMS | Object oriented DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | db.apache.org/derby | www.mcobject.com | cloud.google.com/spanner | objectbox.io | sql.js.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | db.apache.org/derby/manuals/index.html | www.mcobject.com/docs/extremedb.htm | cloud.google.com/spanner/docs | docs.objectbox.io | sql.js.org/documentation/index.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | McObject | ObjectBox Limited | Alon Zakai enhancements implemented by others | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 1997 | 2001 | 2017 | 2017 | 2012 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 10.17.1.0, November 2023 | 8.2, 2021 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache version 2 | commercial | commercial | Open Source Apache License 2.0 | Open Source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 and C++ | C and C++ | JavaScript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | AIX HP-UX Linux macOS Solaris Windows | hosted | Android iOS Linux macOS Windows | server-less, requires a JavaScript environment (browser, Node.js) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no support of XML interfaces available | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | yes with the option: eXtremeSQL | yes Query statements complying to ANSI 2011 | no | yes SQL-92 is not fully supported | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC | .NET Client API JDBC JNI ODBC Proprietary protocol RESTful HTTP API | gRPC (using protocol buffers) API JDBC At present, JDBC supports read-only queries. No support for DDL or DML statements. RESTful HTTP API | Proprietary native API | JavaScript API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java | .Net C C# C++ Java Lua Python Scala | Go Java JavaScript (Node.js) Python | C C++ Dart Go Java JavaScript planned (as of Jan 2019) Kotlin Python planned (as of Jan 2019) Swift | JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | Java Stored Procedures | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes by defining events | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | horizontal partitioning / sharding | Sharding | none | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication | Active Replication Fabric™ for IoT Multi-source replication by means of eXtremeDB Cluster option Source-replica replication by means of eXtremeDB High Availability option | Multi-source replication with 3 replicas for regional instances. | online/offline synchronization between client and server | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | yes using Google Cloud Dataflow | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | yes | yes by using interleaved tables, this features focuses more on performance improvements than on referential integrity | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | ACID Strict serializable isolation | ACID | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes Optimistic (MVCC) and pessimistic (locking) strategies available | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | no except by serializing a db to a file | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB | eXtremeDB | Google Cloud Spanner | ObjectBox | SQL.JS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | eXtremeDB is an in-memory and/or persistent database system that offers an ultra-small... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | eXtremeDB databases can be modeled relationally or as objects and can utilize SQL... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | IoT application across all markets: Industrial Control, Netcom, Telecom, Defense,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Schneider Electronics, F5 Networks, TNS, Boeing, Northrop Grumman, GoPro, ViaSat,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | With hundreds of customers and over 30 million devices/applications using the product... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | For server use cases, there is a simple per-server license irrespective of the number... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | Edge AI: The era of on-device AI In-Memory Database Use Cases Data Viewer for Objects – announcing ObjectBox Admin Vector Databases for Edge AI Vector Database Release for Flutter / Dart + Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We 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 | eXtremeDB | Google Cloud Spanner | ObjectBox | SQL.JS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript 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 The Apache® Software Foundation Announces 18 Years of Open Source Leadership provided by Google News McObject Announces the Release of eXtremeDB/rt 1.2 McObject Offers eXtremeDB 8.3 for Incremental Improvements and New Platforms Latest embedded DBMS supports asymmetric multiprocessing systems McObject and Lynx Software Technologies Team Up for the First COTS Hard Real-Time DBMS for Mission- and Safety ... Beta tests for real time in-memory embedded database ... provided by Google News Google Improves Cloud Spanner: More Compute and Storage without Price Increase Google turns up the heat on AWS, claims Cloud Spanner is half the cost of DynamoDB Google makes its Cloud Spanner database service faster and more cost-efficient Google Spanner: When Do You Need to Move to It? Google Cloud Spanner competes directly with Amazon DynamoDB provided by Google News Industrial IoT (IIoT) edge solution for railway operators – a Kapsch ObjectBox Case Study A Quick Look at Open Source Databases for Mobile App Development provided by Google News 9 Best JavaScript and TypeScript ORMs for 2024 — SitePoint Execute millions of SQL statements in milliseconds in the browser with WebAssembly and Web Workers. SQLite On The Web: Absurd-sql In Praise Of SQLite Running PostgreSQL Inside Your Browser provided by Google News |
Share this page