In-Memory Database Software System

From GM-RKB
(Redirected from in-memory DBMS)
Jump to navigation Jump to search

An In-Memory Database Software System is a database management system that is an In-Memory Program (primarily relies on main memory for computer data storage).



References

2018

  • (Wikipedia, 2018) ⇒ https://en.wikipedia.org/wiki/In-memory_database Retrieved:2018-8-16.
    • An in-memory database (IMDB, also main memory database system or MMDB or memory resident database) is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems that employ a disk storage mechanism. In-memory databases are faster than disk-optimized databases because disk access is slower than memory access, the internal optimization algorithms are simpler and execute fewer CPU instructions. Accessing data in memory eliminates seek time when querying the data, which provides faster and more predictable performance than disk.[1] [2]

      Applications where response time is critical, such as those running telecommunications network equipment and mobile advertising networks, often use main-memory databases. IMDBs have gained a lot of traction, especially in the data analytics space, starting in the mid-2000s – mainly due to multi-core processors that can address large memory and due to less expensive RAM.[3] [4] A potential technical hurdle with in-memory data storage is the volatility of RAM. Specifically in the event of a power loss, intentional or otherwise, data stored in volatile RAM is lost. With the introduction of non-volatile random access memory technology,in-memory databases will be able to run at full speed and maintain data in the event of power failure. [5] [6] [7]

2018

Name Developer Availability License Description/Notes
ActiveSpaces TIBCO Software Proprietary with developer download For Java/.Net./C, distributed, hybrid, event enabled, NewSQL
Aerospike Aerospike Company 2012 Open Source (AGPL) Flash-optimized in-memory open source NoSQL database.
AirConcurrentMap Boiler Bay Inc. 2016 Proprietary Java extended standard ConcurrentNavigableMap. NoSQL, ordered key/value in-memory store with internal parallel scan, multi-core concurrency. boilerbay.com
ALTIBASE HDB Altibase Corporation 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 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.
Ancelus Time Compression Strategies Proprietary Ancelus is an ACID compliant database with extreme performance characteristics. It replaces pre-defined storage structures with an algorithmic process that delivers constant performance at any size or complexity.[8]
Apache Geode Apache Software Foundation, Pivotal Software 2015 Open source (Apache License) Open source backend to Pivotal Software's Gemfire database, is an Apache Software Foundation top-level project. Described as an "open source distributed, in-memory database for scale-out applications".
Apache Ignite Apache Software Foundation, GridGain Systems 2014 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 Open Source (Apache License

Version 2.0)

ArangoDB is a transactional native multi-model database supporting three major NoSQL data models (graph, JSON document, key-value) 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.
BigMemory Terracotta, Inc. (Software AG) Proprietary (free editions)
dashDB IBM 2014 Proprietary IBM dashDB is an in-memory data warehouse in the cloud on IBM Bluemix as a managed service. It includes parallel vector processing, actionable compression, and data-skipping technologies, collectively called IBM BLU Acceleration by IBM. It also includes in-databases analytics originally from the Netezza analytics appliance (Pure Data for Analytics) for R, spatial analytics etc. Released in June 2014.
Datablitz (formerly Dali) Bell Labs (Alcatel-Lucent) 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.
DB2 BLU IBM 2013 Proprietary IBM DB2 for Linux, UNIX and Windows supports dynamic in-memory (in-memory columnar processing) parallel vector processing, actionable compression, and data-skipping technologies, collectively called IBM BLU Acceleration by IBM. Released in June 2013.
DB2 for i IBM 1992 Proprietary IBM DB2 for i (DB2/400) in conjunction with the IBM i operating system supports simultaneous in-memory and on-disk tables and indexes.
Ehcache Terracotta, Inc. (Software AG) Open source (Apache License) For Java, distributed
Exasol Exasol 2008 Proprietary Relational (SQL over ODBC, JDBC, or ADO.NET), multi-dimensional (MDX over ODBO or XMLA); Exasol leads the well-respected international TPC-H benchmark,[9] since 2008, in the data volume-based categories 100GB, 300GB, 1TB, 3TB, and 10TB; Exasol architecture: shared-nothing, column-store, in-memory database
eXtremeDB McObject 2001 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.
FuelDB Wonderfuel Inc. 2014 Open Source (MIT License) Realtime database based on NodeJS
GemFire Pivotal Software Inc. Proprietary Written in Java, distributed, shared-nothing, NoSQL key-value store for OLTP
GemFire XD Pivotal Software Inc. Proprietary Relational, distributed, NewSQL, HDFS-integration
GridGain GridGain Systems 2009 Proprietary GridGain is an in-memory computing platform, built on Apache Ignite, 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 GridGain is the in-memory database which scales horizontally and provides ACID transactions.

H2 (DBMS) H2 Open Source (Mozilla Public License or Eclipse Public License) For Java
HSQLDB HSQL Development Group Open Source (BSD License) Relational, for Java[10]
Hazelcast Hazelcast Team Open Source (Apache License 2.0) For Java, NoSQL, distributed
Hyrise Hasso Plattner Institut Open Source (MIT) A research in-memory database.
Informix Warehouse Accelerator IBM 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.
InMemory.Net InMemory.Net 2014 Proprietary Dot Net Native in-memory database with import scripting language, that can query large amounts of data via Dot Net, ODBC or COM.
InfinityDB Boiler Bay Inc. 2002 Proprietary Java extended standard ConcurrentNavigableMap NoSQL with caching, durability, transactions, compression.
Kinetica Kinetica (formerly GIS Federal) 2014 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.[11]
Kognitio Analytical Platform Kognitio, Limited 1989 (beta) Proprietary Development of an in-memory database, specialized for analytical workloads started at White Cross Systems, Limited in 1988, based on the INMOS Transputer. The first full production release was offered in 1992. White Cross merged in 2005 with Kognitio, Limited in the United Kingdom and as of 2014 markets version 8 of the same code-base as the "Kognitio Analytical Platform".
Levyx Helium Levyx, Inc. 2013 Proprietary Flash-optimized key-value backend datastore targeting use as a back-end data storage engine.
LokiJS TechFort 2013 Open Source (MIT) In-memory database written in JavaScript, compatible with node.js and browser environments.
MapD MapD Technologies 2013 Open Source (Apache License 2.0) GPU-accelerated database and visualization platform for real-time analytics. Product consists of the core database plus a BI visualization tool. SQL interface. v3.0 announced in April 2017 with distributed architecture.[12] Became open-source and received $25mil Series A funding in May 2017.[13]
Memcached Danga Interactive Open Source (BSD) Hashtable with LRU purge
MemSQL MemSQL, Inc. Proprietary SQL relational
SQLite SQLite Open Source (Public domain) SQL database that supports in-memory storage with the :memory: connection string.[14]
Microsoft COM+ IMDB Microsoft Corporation Proprietary Defunct
Microsoft SQL Server Microsoft 2012 Proprietary Hekaton, a new in-memory technology in SQL Server 2014 for OLTP databases, requires native compiled procedures using C language. Rows in tables are versioned by a hash key. Supports only hash indexes. Columnstore indexes had been extended to support OLTP workloads.

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

Mnesia Ericsson 2014 Open Source Erlang Licence 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
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
Oracle Exalytics Oracle Corporation Proprietary Appliance
OrigoDB Devrex Labs 2008 Open Source (embedded engine, commercially licensed enterprise features) 100% ACID transactional engine written in C# for Microsoft NET and Mono. Entities, datastructures and transactions (commands and queries) are written using C# and LINQ. OrigoDB uses Write-ahead logging with optional snapshots for persistence. Enterprise features include master/slave replication.
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.[15] Polyhedra Lite appeared with a free-to-use license in 2012.[16]
P*time Seoul National University, Big Data Institute, Korea and Transact In Memory, Inc. (TIM) 1997 Commercial Initial focus on the telecommunication industry.[17] General availability 2001. The successor product was acquired and integrated by SAP.
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 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.
Redisson Redisson Team 2014 Open Source (Apache License 2.0) Redisson is a Redis based In-Memory Data Grid for Java. It offers distributed objects and services. Provides more convenient and easiest way to work with Redis. Supports Tomcat, Spring, Spring Session, Spring Cache, Hibernate and JCache API (JSR-107).
rqlite rqlite 2014 Open Source (MIT) Lightweight, distributed relational database, with a SQLite-based storage engine. rqlite runs the SQLite in-memory engine by default.
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++
Scuba Facebook Proprietary
SharedHashFile Hardy-Francis Enterprises Inc. 2014 Open Source (AGPL) 10+M TPS per server in-memory open source NoSQL database.
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.
SQLFire Pivotal Software Inc. Proprietary Relational, distributed, NewSQL
Tarantool Mail.ru Group 2010 Open Source (BSD) In-memory database and application server (data grid)
TimesTen now Oracle Corporation 1997 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.[18]
UnQLite Embedded Database Symisc Systems Open Source (BSD, SPL) UnQLite supports for in-memory databases as well on-disk databases using the same API with pluggable run-time interchangeable storage engines (B+tree, Hash, etc.)
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

Forrester Research created the first in-memory database platform wave in 2015.[19]

Many DBMS support in-memory-only storage engines,[20] including:


  1. Cite error: Invalid <ref> tag; no text was provided for refs named Definition: in-memory database
  2. Cite error: Invalid <ref> tag; no text was provided for refs named The Rise of In-Memory Databases
  3. Cite error: Invalid <ref> tag; no text was provided for refs named Falling RAM Prices Drive In-Memory Database Surge
  4. Cite error: Invalid <ref> tag; no text was provided for refs named Rise of In-Memory Databases Impacts Wide Range of Jobs
  5. Historically, RAM was not used as a persistent data store and therefore data loss in these instances was not an issue.Whole-system Persistence with Non-volatile Memories http://research.microsoft.com/apps/pubs/default.aspx?id=160853
  6. The Bleak Future of NAND Flash Memory http://research.microsoft.com/apps/pubs/default.aspx?id=162804
  7. AGIGARAM NVDIMM saves data through system failure https://www.embedded.com/electronics-products/electronic-product-reviews/real-time-and-performance/4422291/AGIGARAM-NVDIMM-saves-data-through-system-failure
  8. Howard, Philip (May 2014). "InDetail: Ancelus". Bloor Research. http://www.tcsdb.com/images/ancelus/Bloor%20Research%20-%20Ancelus.pdf. 
  9. TPC-H - Homepage. Tpc.org (2010-04-21). Retrieved on 2013-09-18.
  10. "Chapter 1. Running and Using HyperSQL". http://hsqldb.org/doc/2.0/guide/running-chapt.html#rgc_hsqldb_db. 
  11. "Kinetica Secures Series A Investment of $50 Million - Kinetica GPU Database". 29 June 2017. https://www.kinetica.com/blog/kinetica-secures-series-a-investment/. 
  12. "Pushing A Trillion Row Database With GPU Acceleration". 26 April 2017. https://www.nextplatform.com/2017/04/26/pushing-trillion-row-database-gpu-acceleration/. 
  13. "MapD Raises $25M Series B to Drive Adoption of GPU-Powered Analytics". 29 March 2017. https://www.mapd.com/blog/2017/03/29/mapd-raises-25m-series-b-to-drive-adoption-of-gpu-powered-analytics/. 
  14. "In-Memory Databases". http://www.sqlite.org/inmemorydb.html. 
  15. Template:Citation
  16. Template:Citation
  17. Sang Kyun Cha, Ki Hong Kim, Juchang Lee: Database Architecture for Location and Trajectory Management in Telecommunications; Databases in Telecommunications, International Workshop Co-located with VLDB-99, Edinburgh, Scotland, UK, September 6, 1999
  18. Siwiec,J.E.: A High-Performance DB/DC System;IBM, G321-5051, 1978
  19. "The Forrester Wave™: In-Memory Database Platforms, Q3 2015". http://www.forrester.com/pimages/rws/reprints/document/120222/oid/1-V7OVKQ. 
  20. "DB-Engines, list of databases with their properties". http://db-engines.com/en/systems.