DB-EnginesInfluxDB: Focus on building software with an easy-to-use serverless, scalable time series platformEnglish
Deutsch
Knowledge Base of Relational and NoSQL Database Management Systemsprovided by solid IT

DBMS > H2 vs. HyperSQL vs. KeyDB vs. Solr

System Properties Comparison H2 vs. HyperSQL vs. KeyDB vs. Solr

Please select another system to include it in the comparison.

Editorial information provided by DB-Engines
NameH2  Xexclude from comparisonHyperSQL infoalso known as HSQLDB  Xexclude from comparisonKeyDB  Xexclude from comparisonSolr  Xexclude from comparison
DescriptionFull-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server.Multithreaded, transactional RDBMS written in Java infoalso known as HSQLDBAn ultra-fast, open source Key-value store fully compatible with Redis API, modules, and protocolsA widely used distributed, scalable search engine based on Apache Lucene
Primary database modelRelational DBMSRelational DBMSKey-value storeSearch engine
Secondary database modelsSpatial DBMSSpatial DBMS
DB-Engines Ranking infomeasures the popularity of database management systemsranking trend
Trend Chart
Score9.90
Rank#51  Overall
#31  Relational DBMS
Score5.46
Rank#76  Overall
#41  Relational DBMS
Score0.34
Rank#268  Overall
#40  Key-value stores
Score56.61
Rank#20  Overall
#3  Search engines
Websitewww.h2database.comhsqldb.orggithub.com/­JohnSully/­KeyDB
keydb.dev
lucene.apache.org/­solr
Technical documentationwww.h2database.com/­html/­main.htmlhsqldb.org/­web/­hsqlDocsFrame.htmldocs.keydb.devlucene.apache.org/­solr/­resources.html
DeveloperThomas MuellerEQ Alpha Technology Ltd.Apache Software Foundation
Initial release2005200120192006
Current release2.1.210, January 20222.6.1, October 20219.0.0, May 2022
License infoCommercial or Open SourceOpen Source infodual-licence (Mozilla public license, Eclipse public license)Open Source infobased on BSD licenseOpen Source infoBSD-3Open Source infoApache Version 2
Cloud-based only infoOnly available as a cloud servicenononono
DBaaS offerings (sponsored links) infoDatabase as a Service

Providers of DBaaS offerings, please contact us to be listed.
Implementation languageJavaJavaC++Java
Server operating systemsAll OS with a Java VMAll OS with a Java VM infoEmbedded (into Java applications) and Client-Server operating modesLinuxAll OS with a Java VM inforuns as a servlet in servlet container (e.g. Tomcat, Jetty is included)
Data schemeyesyesschema-freeyes infoDynamic Fields enables on-the-fly addition of new fields
Typing infopredefined data types such as float or dateyesyespartial infoSupported data types are strings, hashes, lists, sets and sorted sets, bit arrays, hyperloglogs and geospatial indexesyes infosupports customizable data types and automatic typing
XML support infoSome form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT.nononoyes
Secondary indexesyesyesyes infoby using the Redis Search moduleyes infoAll search fields are automatically indexed
SQL infoSupport of SQLyesyesnoSolr Parallel SQL Interface
APIs and other access methodsJDBC
ODBC
HTTP API infoJDBC via HTTP
JDBC
ODBC
Proprietary protocol infoRESP - REdis Serialization ProtocoJava API
RESTful HTTP/JSON API
Supported programming languagesJavaAll languages supporting JDBC/ODBC
Java
C
C#
C++
Clojure
Crystal
D
Dart
Elixir
Erlang
Fancy
Go
Haskell
Haxe
Java
JavaScript (Node.js)
Lisp
Lua
MatLab
Objective-C
OCaml
Pascal
Perl
PHP
Prolog
Pure Data
Python
R
Rebol
Ruby
Rust
Scala
Scheme
Smalltalk
Swift
Tcl
Visual Basic
.Net
Erlang
Java
JavaScript
any language that supports sockets and either XML or JSON
Perl
PHP
Python
Ruby
Scala
Server-side scripts infoStored proceduresJava Stored Procedures and User-Defined FunctionsJava, SQLLuaJava plugins
Triggersyesyesnoyes infoUser configurable commands triggered on index changes
Partitioning methods infoMethods for storing different data on different nodesnonenoneShardingSharding
Replication methods infoMethods for redundantly storing data on multiple nodesWith clustering: 2 database servers on different computers operate on identical copies of a databasenoneMulti-source replication
Source-replica replication
yes
MapReduce infoOffers an API for user-defined Map/Reduce methodsnononospark-solr: github.com/­lucidworks/­spark-solr and streaming expressions to reduce
Consistency concepts infoMethods to ensure consistency in a distributed systemImmediate ConsistencyImmediate ConsistencyEventual Consistency
Strong eventual consistency with CRDTs
Eventual Consistency
Foreign keys infoReferential integrityyesyesnono
Transaction concepts infoSupport to ensure data integrity after non-atomic manipulations of dataACIDACIDOptimistic locking, atomic execution of commands blocks and scriptsoptimistic locking
Concurrency infoSupport for concurrent manipulation of datayes, multi-version concurrency control (MVCC)yesyesyes
Durability infoSupport for making data persistentyesyesyes infoConfigurable mechanisms for persistency via snapshots and/or operations logsyes
In-memory capabilities infoIs there an option to define some or all structures to be held in-memory only.yesyesyesyes
User concepts infoAccess controlfine grained access rights according to SQL-standardfine grained access rights according to SQL-standardsimple password-based access control and ACLyes

More information provided by the system vendor

We invite representatives of system vendors to contact us for updating and extending the system information,
and for displaying vendor-provided information such as key customers, competitive advantages and market metrics.

Related products and services

We invite representatives of vendors of related products to contact us for presenting information about their offerings here.

More resources
H2HyperSQL infoalso known as HSQLDBKeyDBSolr
DB-Engines blog posts