List of in-memory databases

Last updated

Notable in-memory database system software includes:

NameDeveloperAvailabilityClient InterfaceLicenseDescription/Notes
Aerospike DBS Aerospike Company 2012Java, C#, C, Python, Go, Node.js, Perl, libevent, PHP, Ruby, RustOpen Source (AGPL)Flash-optimized in-memory open source NoSQL database.
ALTIBASE HDB Altibase Corporation1999Java, C, C++, JDBC, ODBC, SQLProprietaryAltibase is a hybrid DBMS that combines an in-memory database with a conventional disk-resident database in a single unified engine. It supports full ACID properties and standard connectivity interfaces such as JDBC and ODBC, as well as interoperability.

Altibase Corporation has recently made the decision to discontinue the Altibase 7.1 open source edition, effective March 17, 2023, on its Github page (https://github.com/Altibase/altibase).

ALTIBASE XDB Altibase Corporation1999Java, C, C++, JDBC, ODBC, SQLProprietaryGeneral purpose database that has high data processing speeds in main-memory alone. It comes with high-availability, replication and scalability features; three interfaces (including Direct Access Mode and Direct Access API Mode) as well as conventional client/server protocols such as TCP/IP and IPC for more complex database operations. Supports full ACID properties, standard connectivity interfaces such as JDBC and ODBC [fully supported] as well as interoperability.
Apache Ignite Apache Software Foundation, GridGain Systems2014Java, SQL, JDBC, ODBCOpen Source (Apache License Version 2.0)Apache Ignite is an in-memory computing platform that is durable, strongly consistent, and highly available with powerful SQL, key-value and processing APIs.

With full SQL support, one of the main use cases for Apache Ignite is the in-memory database which scales horizontally and provides ACID transactions.

ArangoDB ArangoDB GmbH2011AQL, HTTP, Java, JavaScript, PHP, Go, Scala, .Net, Python, RubyOpen Source (Apache License

Version 2.0)

ArangoDB is a transactional native multi-model database supporting two major NoSQL data models (graph and document [1] ) with one query language. Written in C++ and optimized for in-memory computing. In addition ArangoDB integrated RocksDB for persistent storage. ArangoDB supports Java, JavaScript, Python, PHP, NodeJS, C++ and Elixir. For resilient cluster behavior, ArangoDB offers a Raft-based cluster management.
Datablitz (formerly Dali) Bell Labs (Alcatel-Lucent)1997ProprietaryDali prototype was a research project at Bell Labs. It was commercialized and used by Lucent as database for in premier wireline and wireless products.
Exasol Exasol AG2000JDBC, ODBC, ADO.NET, Python, SQL, R, Go, Rest API [2] ProprietaryExasol is in-memory, column-oriented analytical relational database management system which is developed by Exasol AG.
Ehcache Terracotta, Inc. (Software AG)2006JavaOpen source (Apache License)For Java, distributed
eXtremeDB McObject2001SQL, Lua, C, C++, C#, Java, PythonProprietaryCross-platform, including Linux, Windows, RTOS and server platforms. Interfaces include type-safe, native C/C++; native Java & .NET; SQL/ODBC/JDBC. Specialized editions for (for example) clustering, high availability, 64-bit support, and hybrid (in-memory and persistent) storage. eXtremeDB Financial Edition implements columnar data handling, vector-based statistical function library, integrated performance monitoring.
H2 (DBMS) H2Java, ODBC, JDBCOpen Source (Mozilla Public License or Eclipse Public License)For Java
HSQLDB HSQL Development Group2001Java, SQL, ODBCOpen Source (BSD License)Relational, for Java [3]
Hazelcast Hazelcast TeamJava, C#, C++, Node.js, Python, GoOpen Source (Apache License 2.0)Hazelcast is an in-memory computing platform that runs applications with extremely high throughput and low latency requirements. It offers speed, scale, simplicity, resiliency, and security in a distributed architecture. It consists of an in-memory data grid and a distributed stream processing engine that work together to run many types of data processing workloads.
Informix Warehouse AcceleratorIBMJDBC, SQLProprietaryIWA supports Dynamic In-memory (in-memory columnar processing) Parallel Vector Processing, Actionable Compression, and Data Skipping technologies, collectively called "Blink Technology" by IBM (the same technology underlying IBM BLU Acceleration). The Informix Advanced Enterprise and Advanced Workgroup Editions include IWA. Released: March 2011.
IBM Db2 IBM1991ODBC, JDBC, C, C++, PythonProprietaryIBM BLU Acceleration
InfinityDB Boiler Bay Inc.2002Java, HTTP,ProprietaryJava extended standard ConcurrentNavigableMap NoSQL with caching, durability, transactions, compression.
Kinetica Kinetica (formerly GIS Federal)2014C++, C#, Java, JavaScript, Node.js. Python, HTTPProprietaryGPU-accelerated, in-memory, distributed database for analytics. Functions like a RDBMS (structured data) for fast analytics on datasets in the hundreds of GBs to tens of TBs range. Interact with SQL and REST API. Geospatial objects and functions. UDF framework allows for custom code and machine learning workloads to run in-database. Received $50mil Series A funding in June 2017. [4]
Memcached Danga Interactive2003Proprietary text and binary protocols in any languageOpen Source (BSD)Hashtable with LRU purge
SingleStore (formerly MemSQL) SingleStore, Inc.ProprietarySQL relational
Microsoft COM+ IMDB Microsoft Corporation ProprietaryDefunct
Microsoft SQL Server Microsoft 2012ProprietaryIn SQL Server 2014, a feature codenamed Hekaton, and named In Memory OLTP, provided limited memory optimization, which can be used in conjunction with natively compile stored procedures which are persisted as C.

In SQL Server 2012, an in-memory technology called xVelocity column-store indexes targeted for data-warehouse workloads.

Mimer SQL Mimer Information TechnologySQL, ODBC, JDBC, ADO.NET, Embedded SQL, C, C++, PythonProprietary Mimer SQL is a general purpose relational database server that can be configured to run fully in-memory. Mimer SQL has full ACID support, support for stored procedures and is the only database that has a full score on SQL compliance
Mnesia Ericsson 2014Open Source Erlang LicenseMnesia is a distributed, soft real-time database management system written in the Erlang programming language. It is distributed as part of the Open Telecom Platform.
MonetDB MonetDB Solutions, CWI 2004SQL, ODBC, JDBC, C, C++, Java, Python, PHP, Node.js, Perl, Ruby, R, MAL open-source MonetDB License, based on MPL 2.0 as of version Jul2015.in-memory optimized column-oriented relational database management system (RDBMS) written in C with an SQL top-level interface and ODBC, JDBC drivers
MySQL NDB Cluster MySQL 1997 Dual license open source(GNU-GPLv2) and optional proprietaryHighly available distributed real-time in-memory NoSQL database. Often used with MySQL for SQL cross-shard parallel query processing.
OmniSci OmniSci (formerly MapD)2013Open Source (Apache License 2.0)GPU-accelerated, SQL database and visualization platform for real-time analytics. Product consists of the core database plus a BI visualization tool. Received $55mil Series C funding in Aug 2018. [5] v4.8 announced in August 2019 with support for JupyterLab. [6]
Oracle RDBMS Oracle Corporation 2014ProprietaryRDBMS Oracle 12c contains an option for in-memory technology (additional licenses required).
Oracle Coherence Oracle Corporation Proprietary with developer downloadFor Java, relational, distributed
Perst McObject2006Java, Android, .NET[Dual_license] open source(GNU-GPLv3) and optional proprietaryObject-oriented embedded database system for Java, Android and .NET platforms. No ORM. Schema evolution, XML export/import, replication, specialized indexes, including full text, b-tree, t-tree, r-tree, patricia trie, kd-tree and time series
Polyhedra ENEA AB (previously Perihelion Software)1993Proprietary, with a free-to-use edition (Polyhedra Lite)Relational (SQL, ODBC, JDBC) in-memory database system originally developed for use in SCADA and embedded systems, but used in a variety of other applications including financial systems. Supports data durability via snapshots and journal logging, and high availability via a hot-standby. First released in 1993; version 8.7 released in March 2013. [7] Polyhedra Lite appeared with a free-to-use license in 2012. [8]
Redis Redis Labs 2009C, C++, Python, Lua, C#, etc. [9] Open Source (BSD)Redis is an open-source software project that implements data structure servers. It is networked, in-memory, and stores keys with optional durability.
SafePeak SafePeak TechnologiesProprietaryAutomated In-Memory Dynamic Caching for SQL Server OLTP applications and databases. Code-free, Dynamic Caching, Relational
SAP HANA SAP SE 2012ProprietarySAP HANA, short for 'High Performance Analytic Appliance' is an in-memory, column-oriented, relational database management system written in C, C++
solidDB Unicom Global1992ProprietaryRelational with standard SQL support. ODBC and JDBC interfaces. Includes in-memory and on-disk tables in the same engine. Supports high availability.
SQL CE Microsoft CorporationFreeCompact relational embedded database produced by Microsoft for applications that run on mobile devices and desktops. ADO.NET, OLE DB. No ODBC driver.
SQLite SQLiteOpen Source (Public domain)SQL database that supports in-memory storage with the :memory: connection string. [10]
Tarantool Mail.ru Group2010Open Source (BSD)In-memory database and application server (data grid)
TerminusDB TerminusDB (formerly DataChemist)2019JavaScript, Python, Prolog, Rust, JSON-LD
Open Source (Apache 2.0)Open source in-memory graph database designed for knowledge graph representation [11]
TimesTen now Oracle Corporation 1997Java, JDBC, ODBC, SQL, PLSQL, CProprietaryStandalone database or in-memory cache for Oracle Database
TPF (Transaction Processing Facility)IBM1979MarketedGeneralized extension of IBM Airlines reservation system. IBM's DB/DC system backed up the in-memory transaction processing computer. [12]
Starcounter Starcounter AB2014Proprietary In-memory database engine combined with an application server that melds the Virtual Machine and the Database Management System.
VoltDB VoltDB Inc.Open Source (GPL) / ProprietaryRelational; implements H-Store design
Xeround Xeround Inc.Proprietary / Not for sale, service only Cloud database, defunct as of 2014

Related Research Articles

Berkeley DB (BDB) is an embedded database software library for key/value data, historically significant in open source software. Berkeley DB is written in C with API bindings for many other programming languages. BDB stores arbitrary key/data pairs as byte arrays, and supports multiple data items for a single key. Berkeley DB is not a relational database, although it has database features including database transactions, multiversion concurrency control and write-ahead logging. BDB runs on a wide variety of operating systems including most Unix-like and Windows systems, and real-time operating systems.

<span class="mw-page-title-main">MySQL</span> SQL database engine software

MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language that programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

<span class="mw-page-title-main">PostgreSQL</span> Free and open-source object relational database management system

PostgreSQL, also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transactions with atomicity, consistency, isolation, durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. It is supported on all major operating systems, including Linux, FreeBSD, OpenBSD, macOS, and Windows, and handles a range of workloads from single machines to data warehouses or web services with many concurrent users.

<span class="mw-page-title-main">Informix</span> Database management software product family

Informix is a product family within IBM's Information Management division that is centered on several relational database management system (RDBMS) and multi-model database offerings. The Informix products were originally developed by Informix Corporation, whose Informix Software subsidiary was acquired by IBM in 2001.

<span class="mw-page-title-main">IBM Db2</span> Relational model database server

Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB/2, then DB2 until 2017 and finally changed to its present form.

The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

Apache Derby is a relational database management system (RDBMS) developed by the Apache Software Foundation that can be embedded in Java programs and used for online transaction processing. It has a 3.5 MB disk-space footprint.

In computing, a materialized view is a database object that contains the results of a query. For example, it may be a local copy of data located remotely, or may be a subset of the rows and/or columns of a table or join result, or may be a summary using an aggregate function.

The following tables compare general and technical information for a number of available database administration tools. Please see individual product articles for further information. This article is neither all-inclusive nor necessarily up to date.

A document-oriented database, or document store, is a computer program and data storage system designed for storing, retrieving and managing document-oriented information, also known as semi-structured data.

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:

Polyhedra is a family of relational database management systems offered by ENEA AB, a Swedish company. The original version of Polyhedra was an in-memory database management system which could be used in high availability configurations; in 2006 Polyhedra Flash DBMS was introduced to allow databases to be stored in flash memory. All versions employ the client–server model to ensure the data are protected from misbehaving application software, and they use the same SQL, ODBC and type-4 JDBC interfaces. Polyhedra is targeted primarily for embedded use by Original Equipment Manufacturers (OEMs), and big-name customers include Ericsson, ABB, Emerson, Lockheed Martin, United Utilities and Siemens AG.

Content Management Interoperability Services (CMIS) is an open standard that allows different content management systems to inter-operate over the Internet. Specifically, CMIS defines an abstraction layer for controlling diverse document management systems and repositories using web protocols.

<span class="mw-page-title-main">Exasol</span> Database management software company

Exasol is an analytics database management software company. Its product is called Exasol, an in-memory, column-oriented, relational database management system

NoSQL is an approach to database design that focuses on providing a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Instead of the typical tabular structure of a relational database, NoSQL databases house data within one data structure. Since this non-relational database design does not require a schema, it offers rapid scalability to manage large and typically unstructured data sets. NoSQL systems are also sometimes called "Not only SQL" to emphasize that they may support SQL-like query languages or sit alongside SQL databases in polyglot-persistent architectures.

In computing, Open Data Protocol (OData) is an open protocol that allows the creation and consumption of queryable and interoperable Web service APIs in a standard way. Microsoft initiated OData in 2007. Versions 1.0, 2.0, and 3.0 are released under the Microsoft Open Specification Promise. Version 4.0 was standardized at OASIS, with a release in March 2014. In April 2015 OASIS submitted OData v4 and OData JSON Format v4 to ISO/IEC JTC 1 for approval as an international standard. In December 2016, ISO/IEC published OData 4.0 Core as ISO/IEC 20802-1:2016 and the OData JSON Format as ISO/IEC 20802-2:2016.

Amazon Relational Database Service is a distributed relational database service by Amazon Web Services (AWS). It is a web service running "in the cloud" designed to simplify the setup, operation, and scaling of a relational database for use in applications. Administration processes like patching the database software, backing up databases and enabling point-in-time recovery are managed automatically. Scaling storage and compute resources can be performed by a single API call to the AWS control plane on-demand. AWS does not offer an SSH connection to the underlying virtual machine as part of the managed service.

<span class="mw-page-title-main">Actian Zen</span>

Actian Zen is an ACID-compliant, Zero-DBA, Embedded, Nano-footprint, Multi-Model, Multi-Platform database management system (DBMS) developed originally by Pervasive Software, which was acquired by Actian Corporation in 2013.

References

  1. "Data models & modeling · ArangoDB v3.4.2 Documentation". docs.arangodb.com. Retrieved 2019-01-27.
  2. "Exasol documentation". docs.exasol.com.
  3. "Chapter 1. Running and Using HyperSQL". hsqldb.org.
  4. Vij, Amit (29 June 2017). "Kinetica Secures Series A Investment of $50 Million - Kinetica GPU Database". Kinetica. Retrieved 9 May 2022.
  5. "Term Sheet — Thursday, October 4". 4 October 2018.
  6. "Announcing OmniSci 4.8: Bridging the Analytics and Data Science Chasm". 15 Aug 2019.
  7. Enea Adds Fine-Grain Locking and Cascaded Deletes to the World's Best Relational In-Memory Database Server, Press Release, vol. 8, Enea AB, archived from the original on 2013-11-04, retrieved 2014-04-09
  8. Polyhedra Lite In-Memory Relational Database System Freeware Available Now from Enea, Press Release, Reuters, archived from the original on 2013-07-23
  9. redis Client Interfaces "Clients", 29 March 2019
  10. "In-Memory Databases". www.sqlite.org.
  11. terminusdb/terminusdb-server, TerminusDB, 2020-05-19, retrieved 2020-05-19
  12. Siwiec, J.E.: A High-Performance DB/DC System;IBM, G321-5051, 1978