Please see my other blog for Oracle EBusiness Suite Posts - EBMentors

Search This Blog

Note: All the posts are based on practical approach avoiding lengthy theory. All have been tested on some development servers. Please don’t test any post on production servers until you are sure.

Wednesday, March 14, 2012

Exadata Database Machine - Intro

Oracle Exadata is a database appliance with support for both OLTP and OLAP workloads. It can be said as “cloud in a box” composed of database servers, Oracle Exadata Storage Servers, an InfiniBand fabric for storage networking and all the other components required to host an Oracle Database.

It is a pre-configured system ready to be turned on day one, taking significant integration work, cost and time out of the database deployment process.

Exadata Product Family
Database Machine:   The Database Machine is a complete and fully integrated database system that includes all the components to quickly and easily deploy any enterprise database delivering the best performance.
 There are two versions of Exadata Database Machine.
  • The Exadata Database Machine X2-2 expands from 2 twelve-core database servers with 192 GB of memory and 3 Exadata Storage Servers to 8 twelve-core database servers with 1,152 GB of memory and 14 Exadata Storage Servers, all in a single rack.

  • The Exadata Database Machine X2-8 is comprised of 2 eighty-core database servers with 4 TB of memory and 14 Exadata Storage Servers, in a single rack.
Exadata Database Machine X2-2
Three versions of the Exadata Database Machine X2-2 are available as below to be chosen depending on the size, performance and I/O requirements of the database to be deployed..

In addition, the Exadata X2-2 can be easily expanded to an 8 rack grid with 768 CPU cores and 4 petabytes of raw storage.
Following are the common to all X2-2 Database Machines:
two six-core
  • Intel® Xeon® X5675 processors running at 3.06 GHz, 96 GB memory, four 300 GB 10,000RPM SAS disks, two 40 Gb/second InfiniBand ports, two 10 Gb/second Ethernet ports, four 1 Gb/second Ethernet ports, and dual-redundant, hot-swappable power supplies. The memory capacity of these database servers can optionally be upgraded from 96 GB to 144 GB. Oracle Linux 5 Update 7 and Solaris 11 are preinstalled on the database servers.
  •  Exadata Storage Servers preconfigured with: two socket six-core Intel Xeon L5640 processors running at 2.26 GHz, 24 GB memory, 384 GB of Exadata Smart Flash Cache, twelve SAS disks connected to a storage controller with 512MB battery-backed cache, dual port InfiniBandconnectivity, embedded Integrated Lights Out Manager (ILOM) and dual-redundant, hotswappablepower supplies. The Exadata Storage Servers are available with either 600 GB HighPerformance 15,000 RPM SAS disks or 3 TB High Capacity 7,200 RPM SAS disks. All theExadata Storage Server Software is preinstalled on the Exadata cell. 
  • Sun Quad Data Rate (QDR) InfiniBand switches and cables to form a 40 Gb/second InfiniBand fabric for database server to Exadata Storage Server communication, and RAC internode communication.
  • Ethernet switch for remote administration and monitoring of the Database Machine.
  • Keyboard, Video or Visual Display Unit, Mouse (KVM) hardware for local administration of the Database Machine.
  • All of these components are packaged in to a custom 42U rack including the Power Distribution Units (PDU) for the system.
Exadata Storage Server: The Exadata Storage Server (Exadata storage or Exadata cells) is an integral component and is used as the storage for the Oracle Database in the Database Machine.It runs the Exadata Storage Server Software that provides the unique and powerful Exadata technology including Smart Scan, Smart Flash Cache, Smart Flash Logging, IO Resource Manager, Storage Indexes.

The hardware components of the Exadata Storage Server (also referred to as an Exadata cell) were carefully chosen to match the needs of high performance database processing. Each Exadata cell delivers outstanding I/O performance and bandwidth to the database.The CPU cores in the Exadata Storage Server are dedicated to providing features such as Smart Scan SQL processing that is done in the Exadata storage.

Exadata storage provides the ability to query fully encrypted databases with near zero overhead at hundreds of gigabytes per second. This is done by moving decryption processing from software into the Exadata
Storage Server hardware. The Oracle software and the Intel 5600 processors used in the Exadata
Storage Server provide Advanced Encryption Standard (AES) support enabling this.

Exadata Smart Flash Cache feature
Each Exadata cell comes with 384 GB of Exadata Smart Flash Cache. The Exadata Smart Flash Cache feature caches database objects in flash memory, replacing slow, mechanical I/O operations to disk with very rapid flash memory operations.
It can process up to 1.5 million random I/O operations per second (IOPS), and the scanning of data within Exadata storage at up to 75 GB/second.

Offload SQL Processing
When using Exadata, much SQL processing is offloaded from the database server to the Exadata cells. One of the unique things the Exadata storage does compared to traditional storage is return only the rows and columns that satisfy the database query rather than the entire table being queried. Exadata pushes SQL processing as close to the data (or disks) as possible and gets all the disks operating in parallel. This reduces CPU consumption on the database server, consumes much less bandwidth moving data between database servers and storage servers, and returns a query result set rather than entire tables. Eliminating data transfers and database server workload can greatly benefit data warehousing queries that traditionally become bandwidth and CPU constrained. Eliminating data transfers can also have a significant benefit on online transaction processing (OLTP) systems that often include large batch and report processing operations.

Intelligent Database protocol -  iDB
The Exadata software is optimally divided between the database servers and Exadata cells. 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. iDB implements a function shipping architecture in addition to the traditional data block shipping provided by the database. 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.

Smart Scan Processing
With traditional, non-iDB aware storage, all database intelligence resides in the database software on the server.  As is often the case with the large queries, the predicate filters out most of the rows read. Yet all
the blocks from the table need to be read, transferred across the storage network and copied into memory. Many more rows are read into memory than required to complete the requested SQL operation. This generates a large number of data transfers which consume bandwidth and impact application throughput and response time.

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. Row filtering, column filtering and some join processing (among other functions) are performed within the Exadata storage cells.

Smart Scan Processing of Encrypted Tablespaces and Columns
Smart Scan offload processing of Encrypted Tablespaces (TSE) and Encrypted Columns (TDE) is supported in Exadata storage. This enables increased performance when accessing the most confidential data in the enterprise.

Storage Indexing
The Exadata Storage Server Software creates and maintains a Storage Index (i.e., metadata about the database objects) in the Exadata cell. The Storage Index keeps track of minimum and maximum values of columns for tables stored on that cell. When a query specifies a WHERE clause, but before any I/O is done, the Exadata software examines the Storage Index to determine if rows with the specified column value exist in the cell by comparing the column value to the minimum and maximum values maintained in the Storage Index. If the column value is outside the minimum and maximum range, scan I/O for that query is avoided. Many SQL Operations will run dramatically faster because large numbers of I/O operations are automatically replaced by a few lookups.

Exadata Smart Flash Cache
Oracle has implemented a smart flash cache directly in the Oracle Exadata Storage Server. The Exadata Smart Flash Cache holds frequently accessed data in very fast flash storage while most of the data is kept in very cost effective disk storage.

The Oracle Flash Cache is smart because it knows when to avoid trying to cache data that will never be reused or will not fit in the cache. The Oracle Database and Exadata storage allow the user to provide directives at the database table, index and segment level to ensure that specific data is retained in flash.

I/O Resource Management
The DBRM and I/O
resource management capabilities of Exadata storage can prevent one class of work, or one database, from monopolizing disk resources and bandwidth and ensures user defined SLAs are met when using Exadata storage. The DBRM enables the coordination and prioritization of I/O bandwidth consumed between databases, and between different users and classes of work.

Migrating to Exadata Storage
Any technique used to move data between Oracle Databases can be used with Exadata like Oracle Recovery Manager (RMAN), Oracle Data Guard, Data Pump and Transportable Tablespaces.

No comments: