Exadata with Persistent Memory for Extreme OLTP Performance
The most recent generation of Exadata that targets preserving and consolidating Oracle’s top position in database performance via the Intel Optane Persistent Memory (PMEM) coupled with the Remote Direct Memory Access (RDMA) has a great deal of engineering, innovation, and customer obsession at the core. With the help of the following three spheres of database performance and scalability — mainly responsible for the performance of transactional applications — let us reason why Oracle is likely to continue the trend.
- Reading of Specific Database Blocks from Storage
- Database Transaction Log Writing
- Transferring of Database Blocks Through Cluster Interconnect
1. Single Block Reads Performance on Oracle Database on Exadata
The primary time-critical operation for quantifying the database performance, and scalability on Exadata running the latest System Software 21.2 is the single block read. As databases are mostly too large to reside in memory, some blocks of data are required to be read from storage. And, since even a slight downward change in I/O can impact transaction performance, it is crucial to establish the high-speed connection between Exadata Database Servers and Storage Servers, enabling applications to leverage RDMA.
Measurable via the Automatic Workload Repository (AWR) metric, the Oracle Database on Exadata can read single data blocks from storage in less than 19 µsec (microseconds). And, quite amazingly, there is not a single solution available that affords such a degree of performance while ensuring data integrity and resilience to faults.
PMEM, on the other hand, is utilized as a caching layer in Exadata, precisely aimed at caching blocks subject to single block reads, and caching writes to the Database transaction log. The caching data in the Persistent Memory provides Oracle Database to access the contents a lot faster in contrast to any storage technology using a request and response processing model. Instead of making “requests” for a block from storage, the Oracle Database reads the contents of the PMEM and recovers the blocks it requires. The Exadata Storage Server software is accountable for the detection of the “hot” blocks of data and pushing them into PMEM.
2. Fast-tracking Commits with Exadata
The second-most time-critical operation responsible for fast transaction processing, and that Exadata optimizes for achieving extreme performance – is the writing to the database transaction log, especially while processing COMMIT. Writes to the transaction log are often vital, however, it intensifies further in priority when the writes comprise commit markers. Please note that it is the context under which the write is occurring, i.e., during commit, and not during the writing of OBJECT, i.e., redo blocks.
Oracle has embedded countless optimizations capable of fast-tracking the transaction log, especially the latest Exadata release that leverages Persistent Memory for accelerating commit processing.
And, although writes in the database transaction log varies based on the amount of data processed, in the latest Exadata it is only a matter of 25µsec. Again, the crucial redo log write operations can be visible under the AWR metrics — “log file parallel write” and “log file sync” in any Oracle Enterprise Edition Database.
The transaction processing within an Oracle Database mainly occurs in memory, however, the transaction log is persisted to three Storage Servers simultaneously in a high redundancy set up (which is also standard in the Oracle Cloud) for resilience. The operation in an Oracle Database has gained greater importance with the increase in processing volumes. Exadata extends innovations, e.g., the Persistent Memory Commit Accelerator to match the pace of the modern transaction processing applications.
3. RDMA and Exafusion on Exadata for cluster interconnect
The third sphere of time-critical operation to scrutinize is the transfer of blocks through the cluster interconnect. Remote Direct Memory Access (RDMA) is the channel for directly accessing the memory of a computer, including reading single blocks and writing to Oracle Database transaction log. RDMA is also the foundation for the fastest cluster interconnect available and for the Exafusion (a next-gen networking protocol) technology designed for preserving the synchronization of Oracle Database buffer caches on Exadata.
Exafusion (a.k.a. the Oracle Cache Fusion protocol) on Exadata is for further enhancements capable of offering the superior performance. Oracle Database on Exadata using RDMA for accessing data in various nodes is below the range of ~10µsec, offering more performance and scalability than any other platform. Traditional networking technology, on the other hand, utilized in non-Oracle Clouds receive latencies between 500 to 1,000 µsec, and thus, creating a huge gap in the overall performance.