The Oracle Database In-Memory (Database In-Memory) feature was first introduced with Oracle Database 12c Release 1 (18.104.22.168). This feature performs analytical and transactional processing and can significantly improve mixed workload performance. It does so by implementing a “dual architecture” in the main memory of the database server. In this memory architecture, data is maintained in the existing Oracle row format (buffer cache), for Online Transaction Processing (OLTP) workloads, and in a new purely in-memory (IM) columnar format that is optimized for Online Analytical Processing (OLAP) or data warehousing workloads. The database stores the new in-memory columnar format data in an area of memory called the In-Memory Column Store (IMCS). IMCS is also called the In-Memory area. It is a new component of the database’s System Global Area (SGA).
The Oracle Database In-Memory feature is implemented in the database server’s main memory. Performance improvements that can be gained from this feature depend on the database server's capabilities and resources, and especially on the server's computing power and its memory capacity. The larger the database, the more physical memory is required to accommodate and process the database in memory. This is especially true for OLAP databases that can occupy multiple terabytes of memory.
The Oracle Database In-Memory feature includes several optimizations for accelerating query processing in the server’s main memory. One of the ways that the In-Memory query performance can benefit is by bringing as much of the OLAP workload data as possible into main memory. However, the traditional and dominant form of main memory—DRAM—is capacity-limited and expensive, especially at the higher end of the available capacity range. The limited capacity sizes of individual DRAM DIMMs can limit customers from reaching the true potential of Database In-Memory’s performance.
Intel Optane persistent memory (PMem) is an innovative memory technology that delivers a unique combination of larger main memory capacity modules and support for data persistence. Dell EMC PowerEdge servers, based on the second generation of Intel Xeon Scalable processors, can be deployed with a combination of DRAM DIMMs and PMem modules. PMem can be configured as either volatile memory (Memory Mode) or as persistent memory or storage (App Direct Mode).
In this design guide, we evaluated if PMem, which can provide large main memory capacities in Memory Mode (PMem-MM), can be an effective alternative to traditional DRAM in Oracle Database In-Memory environments. We conducted several tests to capture the IMCS query performance of PMem-MM. We then compared its performance with the performance of traditional DRAM-only configurations. This testing is identified in this guide as Use Case 1.
Database In-Memory also provides several IM compression algorithm options to balance IM query processing efficiency and IM space savings. Depending on the IM compression level chosen, populating the source schema in the IMCS can be a CPU-intensive and time-consuming process.
Database In-Memory offers another feature called the In-Memory FastStart Area (IMFS). IMFS allows the database to write the compressed IMCS data to a persistent disk area to minimize the CPU usage and IMCS load times.
In our testing, we evaluated the performance benefits of the IMFS area created on several fast-tiered storage disks, including PMem configured in App Direct Mode (PMem-AD). This testing is identified in this guide as Use Case 2.
Use Cases 1 and 2 for Oracle Database In-Memory with PMem are described in detail in Use Case 1: IMCS query performance and Use Case 2: IMCS load performance with and without IMFS area, respectively.