List of in-memory databases

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

This article is a list of in-memory database system software.

Name Developer Availability Client Interface License Description/Notes
Aerospike DBS Aerospike Company 2012 Java, C#, C, Python, Go, Node.js, Perl, libevent, PHP, Ruby, Rust Open Source (AGPL) Flash-optimized in-memory open source NoSQL database.
ALTIBASE HDB Altibase Corporation 1999 Java, C, C++, JDBC, ODBC, SQL Open source(GNU-AGPLv3, GNU-LGPLv3(for client-libraries)) "Hybrid DBMS" that combines an in-memory database with a conventional disk-resident database in a single unified engine. Supports full ACID properties, standard connectivity interfaces such as JDBC and ODBC [fully supported] as well as interoperability.
ALTIBASE XDB Altibase Corporation 1999 Java, C, C++, JDBC, ODBC, SQL Open source(GNU-AGPLv3, GNU-LGPLv3(for client-libraries)) General 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 Systems 2014 Java, SQL, JDBC, ODBC Open 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 GmbH 2011 AQL, HTTP, Java, JavaScript, PHP, Go, Scala, .Net, Python, Ruby Open 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) 1997 Proprietary Dali prototype was a research project at Bell Labs. It was commercialized and used by Lucent as database for in premier wireline and wireless products.
Ehcache Terracotta, Inc. (Software AG) 2006 Java Open source (Apache License) For Java, distributed
eXtremeDB McObject 2001 SQL, Lua, C, C++, C#, Java, Python Proprietary Cross-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.
GigaSpaces GigaSpaces Technologies 2001 GigaSpaces LRMI

Hibernate

JCache

JDBC

JPA

ODBC

RESTful HTTP API

Spring Data

Open Source (Apache License 2.0), Commercial license available GigaSpaces InsightEdge is a portfolio of in-memory products including:
  • Smart Cache - a high-speed, distributed in-memory data storage and processing layer that runs on operational data stores to accelerate digital applications and enable real-time reporting and BI
  • Smart ODS - a Digital Integration Hub (DIH) that seamlessly and in real-time connects to and processes data from systems of record and existing ODS deployments.
  • Smart Augmented Transactions - an in-memory Translytical platform that unifies streaming, real-time transactional (ACID compliant) and analytical processing for instant insights and closed loop decision making
H2 (DBMS) H2 Java, ODBC, JDBC Open Source (Mozilla Public License or Eclipse Public License) For Java
HSQLDB HSQL Development Group Java, SQL, ODBC Open Source (BSD License) Relational, for Java[2]
Hazelcast Hazelcast Team Java, C#, C++, Node.js, Python, Go Open 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 Accelerator IBM JDBC, SQL Proprietary IWA 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.
InfinityDB Boiler Bay Inc. 2002 Java, HTTP, Proprietary Java extended standard ConcurrentNavigableMap NoSQL with caching, durability, transactions, compression.
KiaraDB Kapoorlabs 2020 Java Open Source Kiara DB was written to overcome limitations imposed by databases built on Hash-index or B-TREE based indexes, which do not provide freedom to search by any possible search key with consistent high performance. With its Trie based structure Kiara overcomes such limitations.[3]

[4]

Kinetica Kinetica (formerly GIS Federal) 2014 C++, C#, Java, JavaScript, Node.js. Python, HTTP Proprietary GPU-accelerated, in-memory, distributed database for analytics. Functions like a RDBMS (structured data) for fast analytics on datasets in the hundreds of GBs to 10's 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.[5]
Memcached Danga Interactive 2003 Proprietary text and binary protocols in any language Open Source (BSD) Hashtable with LRU purge
SingleStore (formerly MemSQL) SingleStore, Inc. Proprietary SQL relational
SQLite SQLite Open Source (Public domain) SQL database that supports in-memory storage with the :memory: connection string.[6]
Microsoft COM+ IMDB Microsoft Corporation Proprietary Defunct
Microsoft SQL Server Microsoft 2012 Proprietary In 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.

Mnesia Ericsson 2014 Open Source Erlang License Mnesia 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 CWI 2004 Open Source (MonetDB License, based on MPL 2.0 (as of version Jul2015, released on Friday, August 28, 2015). Older versions are based on MPL 1.1) Column-store RDBMS with an SQL top-level interface and ODBC, JDBC drivers
MySQL NDB Cluster MySQL 1997 Dual_license open source(GNU-GPLv2) and optional proprietary Highly available distributed real-time in-memory NoSQL database. Often used with MySQL for SQL cross-shard parallel query processing.
OmniSci OmniSci (formerly MapD) 2013 Open 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.[7] v4.8 announced in August 2019 with support for JupyterLab.[8]
Oracle RDBMS Oracle Corporation 2014 Proprietary RDBMS Oracle 12c contains an option for in-memory technology (additional licenses required).
Oracle Coherence Oracle Corporation Proprietary with developer download For Java, relational, distributed
Perst McObject 2006 Java, Android, .NET [Dual_license] open source(GNU-GPLv3) and optional proprietary Object-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) 1993 Proprietary, 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.[9] Polyhedra Lite appeared with a free-to-use license in 2012.[10]
Raima Raima Database Manager (RDM) 1982 Proprietary Raima Database Manager (RDM) is an In-memory database management system used by application developers. It is a linkable library of functions that becomes a part of the application program. It has multiple interfaces available to C, C++, C#, or Java programmers. RDM supports ODBC, JDBC, SQL and SQL PL in RDM 14.0. RDM 14.0 was released in 2016.
Redis Redis Labs 2009 C, C++, Python, Lua, C#, etc. [11] 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 Technologies Proprietary Automated In-Memory Dynamic Caching for SQL Server OLTP applications and databases. Code-free, Dynamic Caching, Relational
SAP HANA SAP SE 2012 Proprietary SAP HANA, short for 'High Performance Analytic Appliance' is an in-memory, column-oriented, relational database management system written in C, C++
solidDB Unicom Global 1992 Proprietary Relational 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 Corporation Free Compact relational embedded database produced by Microsoft for applications that run on mobile devices and desktops. ADO.NET, OLE DB. No ODBC driver.
Tarantool Mail.ru Group 2010 Open Source (BSD) In-memory database and application server (data grid)
TerminusDB TerminusDB (formerly DataChemist) 2019 JavaScript, Python, Prolog, Rust, JSON-LD
Open Source (Apache 2.0) Open source in-memory graph database designed for knowledge graph representation[12]
TimesTen now Oracle Corporation 1997 Java, JDBC, ODBC, SQL, PLSQL, C Proprietary Standalone database or in-memory cache for Oracle Database
TPF (Transaction Processing Facility) IBM 1979 Marketed Generalized extension of IBM Airlines reservation system. IBM's DB/DC system backed up the in-memory transaction processing computer.[13]
Starcounter Starcounter AB 2014 Proprietary 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) / Proprietary Relational; implements H-Store design
Xeround Xeround Inc. Proprietary / Not for sale, service only Cloud database, defunct as of 2014

References[edit]

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