Oracle Exadata 101: Taming the Mammoth
Iron Man uses Exadata (Image Source — https://goo.gl/Mwt8mA)
Whenever I used to hear this term called as “Exadata” — I’d think to myself — What is Exadata anyway? Is it some kind of a database? A storage appliance? An extremely fast server?
I was under the impression that there’s something very complex and a very technically challenging architecture behind it which probably would be way too difficult to understand.
Apparently, I was right! ;)
When I started working first with Exadata, in my first consulting experience, my learning curve was fairly steep and I had to grasp complexities of the project quickly, understand and implement Exadata with a team of DBAs deployed at an aviation client’s environment.
It could be with your case that you’re currently a DBA and your client may or may not have an Exadata environment. We as DBAs always have an itch to learn and try something new every time there’s a new feature, version or even a product is announced. Thankfully, I had the opportunity to play with Exadata thus I decided to get my hands dirty.
Disclaimer — Please get used to the following terms when you’re learning Exadata for the first time — they can be used interchangeably to describe the Exadata components (wink wink) — “extreme”,”smart”,”intelligent”,”flash”
Before I deep dive into architectural components and how and why things have been setup the way they are in Exadata, I’d like to confess that I’m still learning my around with this mammoth of a machine. It’s fairly interesting to see the evolution of Exadata with time.
<history>- Exadata is an offshoot of Storage Appliance for Grid Environments(SAGE) project, the working name for Oracle Exadata Database Machine, began about three years before the product’s final release in 2008. It’s a database machine designed by Oracle to run Oracle database software and is a combination of compute (database) and storage systems. Starting with version X1, Exadata has come a long way! </history>
In any typical bare-metal server, the ROI on investments basically depends on how fast can you serve your clients through your applications. For this you definitely need a robust IT infrastructure, most of the servers which are there as of now follow the scale-up architecture, but Exadata follows scale-out architecture. Since everything boils down to one word “performance”.
I am skipping the hardware configuration part of Exadata, since Oracle itself has shared a lot of information on the current hardware configuration here for Exadata X-6 — http://www.oracle.com/technetwork/database/exadata/exadata-x6-2-ds-2968790.pdf.
The latest version of Exadata that has been released is X-6. X-6 offers umpteen benefits compared to it’s predecessors, just keep in mind that it’s also an expensive investment. https://cloud.oracle.com/database/exadata/pricing. Just cautionary price sharing. :)
Exadata is made up following components –
1) Database Servers aka Compute Nodes — where Oracle database resides.
2) Exadata Storage Cells aka Storage Nodes — uses a command line utility called as CellCLI to manage storage.
3) InfiniBand switches — for high speed (read extreme) connectivity between storage and database servers.
4) PDU and Ethernet Switches — Extra PDUs (Power Distribution Units) in case of any failure for the sake of redundancy.
(Image Source — https://goo.gl/QSlULs)
Initially, Exadata offered two flavours of Exadata Storage servers — High Performance and High Capacity but after X5, they changed to High Performance and Extreme Flash storage.
The advantage of Exadata Storage server Extreme Flash is that it’s performance is orders of magnitude faster than traditional storage array architectures, and is also much faster than current all-flash storage arrays. Oracle also guarantees that the performance of extreme flash won’t wean off with time.
Now, let’s understand what kind of things to expect when you start working on Oracle Exadata database machine for the first time. In the Database Servers aka Compute Nodes have following software components pre-configured when you get the brand new rack installed on your premises -
1) OS (Oracle Enterprise Linux Flavour)
2) Oracle Home (has 2 primary homes — one for the database and another for the grid infrastructure)
3) RAC and ASM pre-configured
4) DBFS for sharing the file system for Oracle internal files
In the Exadata Storage Cells or Servers have following software components pre-configured -
1) OS (Oracle Enterprise Linux Flavour)
2) CELLSRV (Cell Server)
3) Management Server (MS)
4) Restart Server (RS)
Following X-5, Oracle introduced Exadata with Extreme Smart Flash Cache. With the X5s, you need to choose between the High Capacity and High Performance cells with regards to the number of Flash cards which come with the configuration. Since the X5s High Performance Storage Servers do not have any hard disks for database storage, the Flash devices will be used to store database files persistently in addition to acting as a storage layer cache for the RDBMS layer I/O requests.
<MagicSauce> iDB protocol — Oracle developed the iDB protocol to run across the InfiniBand network. The iDB protocol is not available to databases running on non-Exadata hardware. iDB is mainly used for predicate filtering which is the cherry on top offering for query offloading . The iDB protocol used to interact with the Exadata storage cells includes the predicate information in its requests, predicate filtering is accomplished by performing the standard filtering operations at the storage level before returning the data. All ASM disks on Exadata are accessed via the iDB protocol. </MagicSauce>
I’d discuss the advantages of Oracle Exadata where it scores the most and why you or your client can go ahead with Exadata as an investment for your business.
1) Time to Market — This is something that every IT organization deals with, from the project kick-off till it’s implementation and production takes a long time. Exadata as being an engineered system which is pre-configured before it’s delivered to you. It does end up saving many man hours on setting up the infrastructure. Also, Exadata can house all your PROD/DEV/TEST environments into one.
2) RAC Ready — Exadata comes pre-configured with ASM and RAC, which saves your DBA’s time to configure everything from scratch.
3) Single Vendor — “The buck stops here.” Oracle owns the whole stack so there cannot be and will not be any blame game when there’s any issue. So whether it’s database, hardware or any network issue, Oracle is responsible for 100% of it.
Lastly, as I am myself preparing for Exadata Certification, I’d like to share that thankfully, Exadata certification track does not yet require one to have a prior OCA/OCP certification. Currently, Oracle University provides training on X-6 machine, but the Exadata exam as of now can be taken on X-3, X-4 and X-5 administration. More information available here -http://education.oracle.com/pls/web_prod-plq-dad/ou_product_category.getPageCert?p_cat_id=212
Hope this information helped you get off the ground regarding what and why of Oracle Exadata.
Please do share your feedback or just share your experience with this mammoth of a machine, would love to hear from you. Thank you for reading thus far. Please pat yourself on the back! :)