Oracle Database In-Memory is an optional add-on to Oracle Database 12c that enables Oracle's flagship relational software to function as an in-memory database.
Storing data in a server's main memory instead of on disk lets in-memory databases facilitate faster response times to database queries by avoiding the I/O latency that results from having to pull the required data off of a disk drive. Oracle Database In-Memory is designed to accelerate 12c's performance in analytics, reporting and online transaction processing (OLTP) applications alike.
The in-memory technology supports a dual-format approach to storing data in 12c databases. All data is maintained in the existing row-based format on disk for OLTP operations, but database administrators can select subsets of the information to also be kept in a columnar data store cached in memory. That speeds the processing of typical analytical queries by 100 times or more, Oracle claims. Furthermore, the in-memory technology removes the need to create and update analytical indexes that could slow down OLTP performance. As a result, Oracle says, Oracle Database In-Memory enables users to do ad hoc analysis on live transactional data while still improving OLTP speeds.
All applications that run on Oracle Database 12c can automatically use in-memory without modifications. Oracle Database In-Memory also works transparently with all of 12c's management tools, including security, reliability, scalability and high availability technologies.
Oracle also offers a standalone in-memory database called Oracle TimesTen for specialized uses. Oracle released Oracle Database In-Memory in July 2014. The technology's development was part of a broader trend to incorporate in-memory processing capabilities into mainstream relational databases. It started with SAP's introduction of its HANA in-memory appliance in May 2010. Oracle, Microsoft and IBM have since built in-memory functionality into their SQL Server 2014 and DB2 databases, respectively.