Author: Tariq Farooq, Charles Kim, Nitin Vengurlekar, Sridhar Avantsa, Guy Harrison, Syed Jaffar Hussain
Audience: Oracle Exadata DBAs and DMAs
Reviewer: Kay Ewbank
If you need to understand and use the Oracle Exadata Database Machine, this book from some Oracle experts is a good reference.
One of the tricky things about Oracle Exadata is the mix of hardware and software that you need to understand if you're going to get the best out of the overall system. The book starts with a 360 degree overview of Exadata, both the hardware and the software that forms the database machine, including a comparison of the different models and configuration options.
Next comes a chapter on real application clusters (RAC) in Exadata. RAC is the parallelized cluster version of the Oracle database, and it's a major part of Exadata. The chapter looks at operational best practices,and troubleshooting and tuning RAC.
Chapter 3 is titled 'the secret sauce', and covers Exadata storage cells, which the authors describe as the critical element that makes Exadata scale and perform well. This is just the opening chapter on storage in Exadata, with a good overview of the different elements. The next chapter looks in more detail at Exadata Flash Cache, Smart Scans and Cell Offloading. A simplistic view of the Flash Cache is that it is software that works out when to replace disk-based I/O operations with flash memory operations based on performance requirements.
Exadata compression, and in particular its Hybrid Columnar Compression (HCC) is the topic of the next chapter. The title chapter says this is HCC demystified, but its tough going and I think many readers would feel in need of a lie down in a darkened room at the end. This was heavy duty database theory, starting with E.F. Codd, going through Copeland and Khoshafian's decomposition storage model, the PAX model, and fractured mirrors to explain how Oracle arrived at HCC as an implementation of the PAX model. The fundamentals of HCC and the different options for it are covered, along with the impact of using HCC under different circumstances. Don't get me wrong, it was all interesting and useful stuff, but you needed to understand a lot of relational theory to get the best out of it.
The next chapter is light relief by comparison, looking at Oracle Database 12c and Exadata, and in particular the features added to improve manageability, performance and efficiency. In particular, the new partitioning features, the optimizer, and multitenant architecture are all discussed.
Next is a chapter on Exadata Networking, and how it can be managed and administered, including a good description of the role of the InfiniBand network. There's a long and detailed chapter on backup and recovery and best practices for Data Guard, which keeps a standby database in sync with the primary database.
A chapter on OEM 12c (Oracle Enterprise Manager Cloud Control) gives a good overview, and an introduction to how to use it to manage Exadata, but you'd need to read more to feel confident. A chapter on migrating to Exadata had some useful tips on unexpected things that can happen, and the following chapter on upgrading and patching Exadata and ZFS Storage Appliance was also more useful than the title might suggest. I suspect if you're trying to keep an Exadata system running, this chapter and its tips on different utilities you might use, what settings are vital, and the important preliminary steps might be very useful.
ZFS also gets a chapter of its own, showing how to make the storage appliance work really well with Exadata.
A chapter on performance tuning starts from the basics of Oracle performance tuning, and looks at aspects including database design for Exadata, SQL tuning, RAC tuning, and optimizing Exadata I/O. As the authors point out, Exadata isn't exactly a cheap solution, so it's important to get the maximum performance from it.
The next chapter considers using Exadata for consolidation of separate systems into Exadata. It made an interesting read, with discussions on how to group applications in server pools, and on the need for isolation between tenants and how to achieve it.
Exadata Smart Flash Cache in depth gets a chapter of its own with info on how to use the cache and smart flash logging to use the flash I/O correctly from within Exadata. This is followed by a chapter on advanced Exadata flash configuration that tells you how to use flash as grid disks, goes through the differences between Flash Tablespace versus Flash Cache, and storage tiering.
The book ends with a chapter on Exadata tools and utilities. The material in this book is well written by Oracle experts who are well known on the Oracle speaking circuit, and who have a number of well regarded books on various Oracle topics. This book starts off from the basics, and covers a wide variety of topics clearly. There are sample commands, queries, hints and tips, and advice on best practices. All in all, if you need to work with Exadata, it's a good read.