Chapter 75. How to Melt a System
In 2012, I joined a group of colleagues for a course about a new type of system called the Oracle Exadata Database Machine. The Exadata machine had been engineered specifically to be the best-performing Oracle hardware platform on Earth. It was. The engineers at Oracle had not just selected all the best hardware components, they had integrated the Oracle Database software into the hardware in a unique and elegant way.
For example, the engineers of course chose an absurdly fast interconnect for communication between the database compute nodes and the associated storage nodes. But even better, they pushed Oracle Database code that does data filtering (implementing a SQL query’s where clause) down into the storage array. Now instead of transporting whole database blocks (typically 4,096 or 8,192 bytes apiece) to the compute nodes, which would then filter out (discard) any unwanted rows, the storage arrays would send just the rows the compute nodes wanted. This smart idea can reduce traffic intensity on the interconnect by two or three orders of magnitude. There were lots of pleasant high-efficiency surprises like this in the machine.
All of us in the course already had a lot of Oracle experience, and so we finished the instructor’s exercises pretty quickly. This left us some extra time to experiment. One of the things we wanted to see was how this extraordinary system would behave under duress, so we decided to play a little game of “melt the system.” ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access