28 March 2012

As many of you I looked at Exadata when it was announced by Oracle. I had to dig the technical whitepaper today and tought to share some notes with my followers. Note that I did not had a chance to make any experimentation so please don't hesitate to share yours in the comment box below!

For more information, have a look at

  1. Exadata Technical Whitepaper
  2. Oracle 11g Exadata Simulator

General stuff

  1. Exadata is totally transparent to the application using the database.
    • Existing SQL statements, whether ad hoc or in packaged or custom applications, are unaffected and do not require any modification when Exadata storage is used. The offload processing and bandwidth advantages of the solution are delivered without any modification to the application.
  2. All features of the Oracle Database are fully supported with Exadata
    • Functionality like Oracle Data Guard, Oracle Recovery Manager (RMAN), Oracle GoldenGate, and other database tools are administered the same, with or without Exadata.
    • The exact same Oracle Database 11g Release 2 that runs on traditional systems runs on the Database Machine but on Database Machine it runs faster.
    • Users and database administrators leverage the same tools and knowledge they are familiar with today because they work just as they do with traditional non-Exadata storage.
  3. Exadata works equally well with single-instance or Real Application Cluster deployments of the Oracle Database.

General optimizations

  1. The database servers and Exadata Storage Server Software communicate using the iDB - the Intelligent Database protocol. iDB is implemented in the database kernel and transparently maps database operations to Exadata-enhanced operations.
  2. iDB implements a function shipping architecture in addition to the traditional data block shipping provided by the database.
  3. iDB is used to ship SQL operations down to the Exadata cells for execution and to return query result sets to the database kernel.
    • Instead of returning database blocks, Exadata cells return only the rows and columns that satisfy the SQL query.
    • Like existing I/O protocols, iDB can also directly read and write ranges of bytes to and from disk so when offload processing is not possible Exadata operates like a traditional storage device for the Oracle Database.
    • But when feasible, the intelligence in the database kernel enables, for example, table scans to be passed down to execute on the Exadata Storage Server so only requested data is returned to the database server.
  4. iDB is built on the industry standard Reliable Datagram Sockets (RDSv3) protocol and runs over InfiniBand.
    • ZDP (Zero-loss Zero-copy Datagram Protocol), a zero-copy implementation of RDS, is used to eliminate unnecessary copying of blocks.
  5. Multiple network interfaces can be used on the database servers and Exadata cells.
    • This is an extremely fast low-latency protocol that minimizes the number of data copies required to service I/O operations.
  6. Oracle Automatic Storage Management (ASM) is used as the file system and volume manager for Exadata.
    • ASM virtualizes the storage resources and provides the advanced volume management and file system capabilities of Exadata.
    • Striping database files evenly across the available Exadata cells and disks results in uniform I/O load across all the storage hardware.
    • The ability of ASM to perform non-intrusive resource allocation, and reallocation, is a key enabler of the shared grid storage capabilities of Exadata environments.
    • The disk mirroring provided by ASM, combined with hot swappable Exadata disks, ensure the database can tolerate the failure of individual disk drives.
    • Data is mirrored across cells to ensure that the failure of a cell will not result in loss of data, or inhibit data accessibility.
    • This massively parallel architecture delivers unbounded scalability and high availability.
  7. Two features of the Oracle Database that are offered exclusively on the Exadata Database Machine are the Oracle Database Quality of Service (QoS) Management and the QoS Management Memory Guard features.
    • QoS Management allows system administrators to directly manage application service levels hosted on Oracle Exadata Database Machines.
      • Using a policy-based architecture, QoS Management correlates accurate run-time performance and resource metrics, analyzes this data with its expert system to identify bottlenecks, and produces recommended resource adjustments to meet and maintain performance objectives under dynamic load conditions.
      • Should sufficient resources not be available QoS will preserve the more business critical objectives at the expense of the less critical ones.
    • In conjunction with Cluster Health Monitor, QoS Management"s Memory Guard detects nodes that are at risk of failure due to memory over-commitment. It responds by automatically preventing new connections thus preserving existing workloads and restores connectivity once the sufficient memory is again available.

Storage Optimization

  1. Automatic Storage Management (ASM) is used to manage the storage in the Exadata cell.
    • ASM volume management, striping, and data protection services make it the optimum choice for volume management.
    • ASM provides data protection against drive and cell failures, the best possible performance, and extremely flexible configuration and reconfiguration options.
    • With Exadata and ASM:
      • Configuration of Cell Disks (LUN creation) is automated by Exadata software.
      • Optionally, multiple Grid Disks can co-exist on the physical disks to tailor performance to the needs of the database application or construct an ILM strategy with Exadata.
      • ASM automatically stripes the database data across Exadata disks and cells to ensure a balanced I/O load and optimum performance.
      • ASM dynamic add and drop capability enables non-intrusive cell and disk allocation, deallocation, and reallocation.
      • ASM mirroring, and the hot swap capability of the Exadata cell, provides transparent data protection and access across disk failures.
      • ASM provides for double or triple mirroring to tailor the protection to the criticality of the data.
      • ASM failure groups are automatically created with Exadata to provide transparent data protection and access across cell failures.
  2. Smart Scan Processing
    • Integrating database functionality within the storage layer of the database stack allows queries, and other database operations, to be executed much more efficiently.
      • Implementing database functionality as close to the hardware as possible, in the case of Exadata at the disk level, can dramatically speed database operations and increase system throughput.
    • With Exadata storage, database operations are handled much more efficiently.
      • Queries that perform table scans can be processed within Exadata storage with only the required subset of data returned to the database server.
      • Row filtering, column filtering and some join processing (among other functions) are performed within the Exadata storage cells.
      • When this takes place only the relevant and required data is returned to the database server.
    • Smart scans are transparent to the application and no application or SQL changes are required.
      • The SQL EXPLAIN PLAN shows when Exadata smart scan is used.
      • Returned data is fully consistent and transactional and rigorously adheres to the Oracle Database consistent read functionality and behavior.
    • If a cell dies during a smart scan, the uncompleted portions of the smart scan are transparently routed to another cell for completion.
    • Smart scans properly handle the complex internal mechanisms of the Oracle Database including: uncommitted data and locked rows, chained rows, compressed tables, national language processing, date arithmetic, regular expression searches, materialized views and partitioned tables.
    • Migrating to Exadata

      1. There are several techniques for migrating data to a Database Machine.
        • Any technique used to move data between Oracle Databases can be used with Exadata.
        • Migration can be done using Oracle Recovery Manager (RMAN) to backup from traditional storage and restore the data onto Exadata.
        • Transportable Tablespaces and Data Pump may also be used to migrate to Exadata.
      2. Oracle Data Guard can also be used to facilitate a migration.
        • This is done by first creating a standby database based on Exadata storage.
        • The standby can be using Exadata storage and the production database can be on traditional storage.
        • By executing a fast switchover, taking just seconds, you can transform the standby database into the production database.
        • This provides a built-in safety net as you can undo the migration very gracefully if unforeseen issues arise.

      Simulating application behavior on Exadata

      With Oracle Database 11g Release 2 you can use the SQL Performance Analyzer"s special Exadata Simulation tool to simulate the behavior of SQL statements under Exadata on any Oracle Database 11g Release 2 EE database.

      Please feel free to share your experimentations with us!

blog comments powered by Disqus