What Makes Exadata So Special? The Technological Overview
After continuous development, Oracle’s Exadata now features the big and small, that make it one of the most cost effective and fastest platforms running on Oracle databases, so far. In the last few posts, we gave you an overview of what Oracle’s Exadata is and the benefits it brings to the businesses. This post will more closely looks at its technology features, determining what makes Exadata so special for today’s database needs.
1. SQL Offload – The First Innovation of Exadata
The very first and most prominent innovation that Exadata has brought to the market at the time of its release in 2008 is the feature of SQL Offload. Other platforms apart from Exadata function by shifting the data from storage to the database servers. On the contrary, Exadata functions by moving SQL processing as well as other logic from the database servers to the storage layer.
2. Active Storage –Also Called Cell Offload
Exadata has an “Active Storage” layer, implying that the database processing occurs in the storage layer. All other storage solutions in the market are “block servers” (as named by Oracle) that just accept and process the requests for I/O on database blocks and ranges of blocks.
Exadata’s “Active Storage” layer acts like a “block server” in many cases, but it is at the same time, has the ability to process the higher-level commands from database engine. Some cases of the “active storage” abilities of Exadata include:
· SQL Offload
· XML & JSON Offload
· RMAN Backup (BCT) Filtering
· Data file vs. REDO I/O Segregation
· Encryption/Decryption Offload
· Fast Data File Creation
3. Massively Parallel Processing (MPP)
Some of competitors of Oracle still claim about their “shared nothing” architecture as well as the fact that Oracle database (on non-Exadata platforms) serves as a “shared everything” architecture.
This we have observed risen, where some people claimed that Exadata isn’t truly a Massively Parallel Processing (MPP) platform.
In the shared nothing design, every node contained in a MPP cluster possesses a set of data and manages all data processes for the data present on that node. In a shared everything design, every node of the cluster can access all data, while data processing can take place at any node. This is simply Exadata mechanism.
4. Bloom Filters
In Exadata, direct processing of JOIN conditions doesn’t take place in the Exadata storage layer; however, it is only one side of the story. Exadata uses “Bloom Filters” to smooth JOIN processing. Filter criteria from JOIN is strapped into the Exadata storage tier to initiate data filtration. As per the processing methodology explained by Burton Howard Bloom (the father of Bloom Filters), this method is a probabilistic way that returns a minor percentage of false-positives but will filter-out the massive amount of non-qualifying data.
5. Storage Indexes
Exadata internally produces indexes of data value on Oracle database blocks saved within individual Exadata Storage Cell. These are called Storage Indexes, and enable Exadata to evade database blocks that don’t hold values stated in the SQL where clause or join criteria is.