DBMS > Geode vs. H2 vs. HarperDB vs. Kinetica vs. Riak KV
System Properties Comparison Geode vs. H2 vs. HarperDB vs. Kinetica vs. Riak KV
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Geode Xexclude from comparison | H2 Xexclude from comparison | HarperDB Xexclude from comparison | Kinetica Xexclude from comparison | Riak KV Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Geode is a distributed data container, pooling memory, CPU, network resources, and optionally local disk across multiple processes | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | Ultra-low latency distributed database with an intuitive REST API supporting NoSQL and SQL (including joins). Deployment of functions and databases simultaneously with a consolidated node-level architecture. | Fully vectorized database across both GPUs and CPUs | Distributed, fault tolerant key-value store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Relational DBMS | Document store | Relational DBMS | Key-value store with links between data sets and object tags for the creation of secondary indexes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS | Spatial DBMS Time Series DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | geode.apache.org | www.h2database.com | www.harperdb.io | www.kinetica.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | geode.apache.org/docs | www.h2database.com/html/main.html | docs.harperdb.io/docs | docs.kinetica.com | www.tiot.jp/riak-docs/riak/kv/latest | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Originally developed by Gemstone. They outsourced the project to Apache in 2015 but still deliver a commercial version as Gemfire. | Thomas Mueller | HarperDB | Kinetica | OpenSource, formerly Basho Technologies | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2002 | 2005 | 2017 | 2012 | 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.1, February 2017 | 2.2.220, July 2023 | 3.1, August 2021 | 7.1, August 2021 | 3.2.0, December 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2; commercial licenses available as Gemfire | Open Source dual-licence (Mozilla public license, Eclipse public license) | commercial free community edition available | commercial | Open Source Apache version 2, commercial enterprise edition | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Java | Node.js | C, C++ | Erlang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM the JDK (8 or later) is also required | All OS with a Java VM | Linux OS X | Linux | Linux OS X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | dynamic schema | yes | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes JSON data types | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes | yes | yes | restricted | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like query language (OQL) | yes | SQL-like data manipulation statements | SQL-like DML and DDL statements | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Java Client API Memcached protocol RESTful HTTP API | JDBC ODBC | JDBC ODBC React Hooks RESTful HTTP/JSON API WebSocket | JDBC ODBC RESTful HTTP API | HTTP API Native Erlang Interface | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net All JVM based languages C++ Groovy Java Scala | Java | .Net C C# C++ ColdFusion D Dart Delphi Erlang Go Haskell Java JavaScript (Node.js) Lisp MatLab Objective C Perl PHP PowerShell Prolog Python R Ruby Rust Scala Swift | C++ Java JavaScript (Node.js) Python | C unofficial client library C# C++ unofficial client library Clojure unofficial client library Dart unofficial client library Erlang Go unofficial client library Groovy unofficial client library Haskell unofficial client library Java JavaScript unofficial client library Lisp unofficial client library Perl unofficial client library PHP Python Ruby Scala unofficial client library Smalltalk unofficial client library | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions | Java Stored Procedures and User-Defined Functions | Custom Functions since release 3.1 | user defined functions | Erlang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes Cache Event Listeners | yes | no | yes triggers when inserted values for one or more columns fall within a specified range | yes pre-commit hooks and post-commit hooks | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | none | A table resides as a whole on one (or more) nodes in a cluster | Sharding | Sharding no "single point of failure" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication | With clustering: 2 database servers on different computers operate on identical copies of a database | yes the nodes on which a table resides can be defined | Source-replica replication | selectable replication factor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Eventual Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency or Eventual Consistency depending on configuration | Eventual Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no | yes | no links between data sets can be stored | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes, on a single node | ACID | Atomic execution of specific operations | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes, multi-version concurrency control (MVCC) | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes, using LMDB | 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 GPU vRAM or System RAM | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights per client and object definable | fine grained access rights according to SQL-standard | Access rights for users and roles | Access rights for users and roles on table level | yes, using Riak Security | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Geode | H2 | HarperDB | Kinetica | Riak KV | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | This is how much one of the most expensive gems costs at the Tucson gem show Apache Geode Spawns 'All Sorts of In-Memory Things' Where Does Apache Geode Fit in CQRS Architectures? 1. Introduction to Pivotal GemFire In-Memory Data Grid and Apache Geode - Scaling Data Services with Pivotal ... Event-Driven Architectures with Apache Geode and Spring Integration provided by Google News | Startups of the Year 2023: Meet HarperDB - A Database and Application Development Platform Unlocking immersive golfing experiences with AWS Wavelength | Amazon Web Services HarperDB: An underdog SQL / NoSQL database | ZDNET HarperDB 4.0 Delivers Enterprise-Grade Global Application Development to Every Developer HarperDB is More Than Just a Database: Here's Why provided by Google News | Kinetica Delivers Real-Time Vector Similarity Search Kinetica Elevates RAG with Fast Access to Real-Time Data Kinetica Launches Generative AI Solution for Real-Time Inferencing Powered by NVIDIA AI Enterprise Kinetica ramps up RAG for generative AI, empowering enterprises with real-time operational data Transforming spatiotemporal data analysis with GPUs and generative AI provided by Google News | Basho Revamps Riak Open-Source Database Basho, Maker of Riak NoSQL Database, Raises $25M Riak NoSQL snapped up by Bet365 A Critique of Resizable Hash Tables: Riak Core & Random Slicing Basho distributes Riak to more customers - DCD provided by Google News |
Share this page