What is write-back cache?
In the high-speed world of data storage, "latency" is the ultimate enemy. Every time an application (like an Oracle Database) sends data to be saved, it has to wait for a "confirmation" that the data is safely written before it can move on to the next task.
Write-Back Cache is a performance-boosting technique that allows the storage system to send that "confirmation" almost instantly—long before the data actually touches a physical disk.
Imagine you are at a busy coffee shop.
Standard Write (Write-Through): You place your order, and you have to stand at the counter until the barista grinds the beans, steams the milk, and hands you the cup before you can leave. (This is slow).
Write-Back Cache: You place your order, the cashier hands you a receipt (the "IOU"), and tells you, "We've got it, you're good to go!" You leave immediately to start your day, while the barista makes the coffee in the background.
In a server, the Cache (usually high-speed RAM or NVMe) acts as the cashier. It catches the data at lightning speed, tells the OS the job is done, and then "destages" (writes) that data to the slower disks later when the system isn't as busy.
| Feature | Write-Through | Write-Back |
| Confirmation | Sent after data hit the disk | Sent after data hits the Cache |
| Latency | High (Disk speed) | Ultra-Low (RAM/Cache speed) |
| Write Performance | Slower | Significantly Faster |
| Risk Level | Low | Higher (Requires battery/flash protection) |
The danger of Write-Back cache is obvious: what happens if the power goes out after the cache says "I've got it" but before it's written to the disk? Without protection, that data is lost forever, potentially corrupting your database.
Oracle hardware handles this in two ways:
Battery Backed Write Cache (BBWC): RAID controllers in x86 servers often have a small battery. If power fails, the battery keeps the RAM cache alive until power returns and the data can be saved.
Flash-Backed Write Cache: Modern systems (like the ZFS Storage Appliance's "Logzilla") use specialized SSDs. If power fails, the data is already on non-volatile flash, so it’s safe even without a battery.
Oracle uses Write-Back cache in very specific, high-performance ways:
Exadata Smart Flash Cache: In "Write-Back" mode, Exadata uses its massive PCIe Flash cards to intercept writes. This allows the database to perform heavy "inserts" and "updates" at the speed of flash rather than the speed of spinning disks.
ZFS Storage Appliance: Uses the ZFS Intent Log (ZIL) on specialized SSDs to provide the safety of write-back performance with the security of a permanent record.
Write-Back cache is almost always enabled in enterprise database environments because the performance gain is too large to ignore. However, it should only be used if:
You have a redundant power supply (UPS).
Your storage controller has a healthy battery or flash-protection module.
You are running a high-volume transaction environment (OLTP).
Write-Back Cache is a powerful tool for tricking an application into thinking its storage is faster than it actually is. By using a high-speed middleman to catch data, Oracle hardware eliminates the "Disk I/O Bottleneck," allowing your applications to run at the speed of memory.