What is RDMA in Exadata?
In the world of networking, "speed" is usually about bandwidth (how much data you can move), but in the world of high-performance databases, latency (how fast a single request starts) is the real killer.
RDMA (Remote Direct Memory Access) is the "super-highway" of the Exadata architecture. It allows one server to read data from another server’s memory without involving the Operating System or the CPU of either machine.
Imagine you need a file from a colleague's office in a massive corporation:
Standard Networking (TCP/IP): You call the front desk. They transfer you to the department manager. The manager tells an assistant to find the file. The assistant finds it, hands it to the manager, who then mails it to you. Every person involved (the CPU and OS) gets interrupted and slowed down.
RDMA: You have a master key. You walk straight into your colleague’s office while they are sleeping, grab the file from their desk, and walk out. Your colleague (the Storage CPU) never even knew you were there.
In a standard server, data moving from storage to a database has to pass through multiple "stops":
Storage Disk $\rightarrow$ 2. Storage OS $\rightarrow$ 3. Storage Network Stack $\rightarrow$ 4. Network Cable $\rightarrow$ 5. Database Network Stack $\rightarrow$ 6. Database OS $\rightarrow$ 7. Database Instance.
With RDMA on Exadata (using RoCE - RDMA over Converged Ethernet): The Database Server communicates directly with the Network Interface Card (NIC). The NIC "reaches" across the wire and pulls data directly from the Exadata RDMA Memory (XRMEM) on the storage server.
Traditional Flash Storage: ~200 to 500 microseconds.
Exadata with RDMA: Less than 19 microseconds.
There are three specific ways RDMA makes Exadata the fastest platform for Oracle:
Because RDMA bypasses the CPU on the storage server, that CPU can stay 100% focused on Smart Scans and complex filtering. You get more "work" out of the same hardware because you aren't wasting cycles on network "housekeeping."
Exadata uses RoCE (100Gbps) as the physical plumbing for RDMA. This provides massive throughput, allowing the database to treat remote storage memory as if it were local RAM.
When a database node needs to know if another node has a specific block of data in its cache (Global Cache), it uses RDMA to check. This makes Oracle RAC (Real Application Clusters) scale significantly better on Exadata than on any other hardware.
| Feature | Standard (TCP/IP) | Exadata RDMA (RoCE) |
| CPU Involvement | High (Interrupts CPU) | Zero (Bypasses CPU) |
| Data Copies | Multiple (Buffer copies) | Zero Copy (Direct transfer) |
| Latency | Milliseconds/Microseconds | Deep Microseconds (<19µs) |
| Reliability | Retransmission overhead | Hardware-level flow control |
RDMA is the reason Oracle can claim that Exadata provides "local disk performance" over a network. It removes the "middleman" (the Operating System), allowing the Database and Storage layers to communicate at the speed of light—or at least the speed of silicon.