Oracle Exadata
Oracle Exadata Database Machine
Contents
Oracle Exadata Database Machine
Oracle Exadata Database Machine (Exadata[1]) is a combined compute and storage system optimized for running Oracle Database software. Exadata debuted in 2008 as the first in Oracle’s family of "Engineered Systems", defined as "hardware and software engineered to work together". New generations of Exadata are released roughly once a year.
Exadata combines scale-out compute servers, scale-out storage servers, InfiniBand networking and specialized software, packaged in one or more hardware racks, with various sizing options. Exadata compute servers use Intel Xeon processors and the Oracle Linux operating system to run Oracle Database software. Exadata storage servers perform block storage functions and also run Exadata Storage Server Software[2] to offload data intensive database processing into storage, closest to the data.
It is Oracle’s claim that optimizing the entire compute/storage/networking infrastructure in Exadata for the Oracle Database allows it to become the best possible database server platform and that pre-integrating all the software and hardware simplifies configuration, management, and troubleshooting for customers. Critics of Exadata point out that this limits it to running Oracle Databases, and it cannot be used as a general-purpose server. Industry analysts at IDC classify Exadata as an "Integrated Platform" with Oracle Engineered Systems having over 50% market share as of March, 2015. Analysts at Gartner place Oracle Engineered Systems in the leaders quadrant of their "Integrated Systems Magic Quadrant" report for 2014, giving Oracle the top vendor ranking for "Integrated Stack Systems".
As of October 2015, Exadata is also available in the Oracle Public Cloud as a subscription service - the Oracle Database Exadata Cloud Service,[3] also known simply as the Exadata Service. Databases deployed in this Service include all the features and options of Oracle Database Enterprise Edition. Similarly, all Exadata features and capabilities are included in this Service. Oracle databases in the Exadata Service are 100% compatible with databases deployed on-premises, which enables customers to transition to the Cloud with no application changes. The infrastructure for this service - such as the hardware, network, platform software and Exadata software, is managed by Oracle, while customers have complete ownership of their databases. Customers can do all necessary provisioning through the Oracle Cloud portal, with cloud-based automation tools available for backups, patching, expansion, etc.
Use Cases
Exadata is designed to optimally run any Oracle Database workload or mix of workloads.
Long running requests, characterized by data warehouse queries, reports, batch jobs and analytics, are reputed to run many times faster compared to a conventional, non-Exadata database server. Customer references often cite performance gains of 10x or greater. Analytics workloads can also use the Oracle Database In-Memory option on Exadata for additional acceleration. Exadata’s "Hybrid Columnar Compression" feature is intended to reduce the storage consumption of data warehouses and archive data as well as increase performance by reducing the amount of I/O.
Transactional (OLTP) workloads on Exadata benefit from the incorporation of flash memory into Exadata’s storage hierarchy, and the automatic "tiering" of data into memory, flash or disk storage. Special flash algorithms optimize flash for response time sensitive database workloads such as log writes. For high-end OLTP, all-flash storage (see Extreme Flash Storage Server below) eliminates the latency of disk media completely.
All Exadata workloads benefit from a very high bandwidth and low latency internal InfiniBand fabric running a specialized database network protocol called iDB.
Database consolidation on Exadata is common. To minimize resource contention between competing databases and workloads, "resource management" features of Exadata enable prioritized allocation of CPU, I/O and network bandwidth.
Exadata Models
Oracle Exadata Database Machine is available in two variants: one based on two-socket database servers and the other based on eight-socket database servers. The two models differ only in the hardware used for the compute servers. The networking, storage servers and software are the same in both models.
The most recent Oracle Exadata Database Machine is the X6 generation introduced in April, 2016.
The X6-2 compute servers feature a small form factor, 1 RU (Rack Unit) in height. They employ 2-socket Intel Xeon processors; each socket with 22 compute cores for 44 total cores per compute server. Memory starts at 256 GB and can be expanded to 768 GB.
The Exadata X6-2 Database Machine base configuration has 2 compute servers and 3 storage servers, referred to as a "Quarter Rack". The same hardware is also available in an "Eighth Rack" configuration with half of the processing turned off and half of the storage capacity either turned off or removed until needed. As the database workload and/or data size increases, additional compute and storage servers may be added to increase the volume of work performed in parallel. This is commonly referred to as "scale-out".
The X6-8 compute server uses eight-socket servers that consume 5 RU in height and have greater memory capacity than the X6-2. Whereas each X6-2 compute server contains 44 compute cores, the X6-8 server contains 144 compute cores. This allows large database workloads to easily "scale-up" within a compute server while still supporting Exadata’s "scale-out" expandability across multiple servers. The larger memory capacity of the X6-8 also favors in-memory database and very large OLTP, consolidation, and DW workloads. Like the X6-2, the Exadata X6-8 base configuration has 2 compute servers and 3 storage servers, but consumes a "Half Rack" of space. Additional compute and storage servers may be added until the rack is full.
Exadata Storage Servers
There are two choices for Exadata storage servers; Extreme Flash and High Capacity. X6-2 Extreme Flash is an all-flash storage server containing 8 PCIe flash drives for a total of 25.6 terabytes of raw storage capacity. The X6-2 High Capacity storage servers contain 12 disks, 8TB each, for a total of 96 terabytes of raw storage capacity. To improve I/O response times, High-Capacity storage servers also employ 12.8 terabytes of PCIe flash to cache active data blocks. Exadata’s Smart Flash Cache, Smart Flash Log, Columnar Flash Cache and Write Back Flash Cache features determine how and when to use flash (see Storage Server Software).
In addition to adding storage servers into an Exadata Database Machine base configuration, storage servers may also be acquired with or added to Exadata Storage Expansion racks.
Storage performance specifications for a full rack Exadata configuration are as follows:
Exadata Storage Server | Scan Rate | Read IOPS | Write IOPS |
---|---|---|---|
X6-2 Extreme Flash | 300 GB/sec | 5,625,000 | 5,180,000 |
X6-2 High Capacity | 214 GB/sec | 4,750,000 | 4,100,000 |
Note: Based on an elastic configuration of 12 storage servers, 10 compute servers. IOPS = 8K I/O Operations per Second from SQL
Networking
The Exadata Database Machine provides high-speed networks for internal and external connectivity. A 40 Gb/Sec InfiniBand network is used for internal connectivity between compute and storage servers and 10Gb/Sec and 1Gb/Sec Ethernet ports are included for data center connectivity. The InfiniBand network is also used as the cluster interconnect between compute servers. Exadata has a "direct-to-wire"[4] protocol that allows the database to talk directly to the InfiniBand hardware, minimizing operating system overhead.
Configuration Options
Prior to the X5-2 generation, Exadata systems were only available in fixed-size configurations of Eighth, Quarter, Half and Full Rack sizes. With the X5-2 Exadata release in January, 2015, "elastic configurations" were introduced. An elastic configuration has a customer-specified combination of database servers and storage servers. Elastic configurations allow individual storage or compute servers to be added to a base configuration until the physical rack is full. For example, an Exadata system optimized for in-memory database processing could be created by adding many compute servers, each with maximum memory. Conversely, an Exadata system optimized for a large data warehouse could be configured by adding many High-Capacity storage servers. The ratio of compute to storage servers can vary, depending on the characteristics of the intended workload. Elastic configurations may also be used to scale out earlier generation Exadata systems using X6-2 servers. In addition, Exadata Database Machines have always been able to span multiple racks using the built-in InfiniBand network connections. Thus, Exadata’s scale-out extends beyond a single physical rack.
Storage Server Software
Much of the technical differentiation in Exadata is contained in the software that runs in the Exadata storage servers. Unlike conventional storage arrays, Exadata storage servers employ Intel Xeon processors to execute database operations such as scans, joins and filtering; a feature known as Smart Scans. Running query filters directly in storage servers as data streams from disk and flash bypasses network limitations and offloads processing that would otherwise be performed in the database servers.
Storage Server Software also implements Smart Flash Cache, Columnar Flash Cache, Flash Logging and Write Back Flash Cache routines that use flash storage to improve I/O response times. I/O Resource Management allocates I/O bandwidth to databases or workloads according to specified priorities. Lastly, decompression of Hybrid Columnar Compressed data may be performed in Exadata storage servers.
Compute Server Software
Exadata compute servers run the Oracle Linux 6 operating system and Oracle Database 11g Release 2 Enterprise Edition or Oracle Database 12c Enterprise Edition. Exadata system resources can be optionally virtualized using the Xen-based Oracle VM. All Oracle Database options, such as Real Application Clusters, Multitenant, Database In-Memory, Advanced Compression, Advanced Security, Partitioning, Active Data Guard and others are optionally available with Exadata. Applications that are certified to a supported version of Oracle Database are automatically compatible with Exadata. No additional modifications or certifications are required.
Management Software
Oracle Enterprise Manager 12c (EM) is Oracle’s systems management toolset for centrally managing all Oracle software and hardware, including the Exadata Database Machine. EM integrates with the built-in Exadata management tooling, as well as with customer’s existing systems management and helpdesk tools. Exadata plug-in for EM provides an integrated view of compute servers, storage servers, switches, and topology. In addition, it also provides discovery, monitoring and alerting capability for Exadata systems management.
Exadata History
Each and every generation of Exadata Machine introduces number of new software features. The list below shows software advances introduced till date.
Software Advances
Software Advances for Analytics |
---|
Automatically Parallelize and Offload Data Scans to storage |
Filter Rows in Storage based on 'where' clause |
Filter Rows in Storage based on columns selected |
JSON and XML Offload |
Filter rows in Storage based on Join with other Table |
Hybrid Columnar Compression |
Storage Index data skipping |
I/O Resource Management by User, Query, Service, DB, etc. |
Automatic Transformation to Columnar Format in Flash Cache |
Smart Flash Caching for Table Scans |
Offload Index Fast Full Scans |
Offloads Scans on Encrypted Data, with FIPS compliance |
Storage offload for LOBs and CLOBs |
Storage offload for min/max operations |
Data Mining Offload |
All Ports Active InfiniBand Messaging |
Reverse Offload to DB servers if Storage CPUs are Busy |
Automatic Data Compression in Flash Cache |
Software Advances for Availability |
---|
Instant Detection of Node or Cell Failure |
In-Memory Fault Tolerance |
Sub-second Failover of IO on stuck disk or flash |
Offload backups to storage servers |
Exadata Data Validation (H.A.R.D.) |
Instant data file creation |
Prioritize rebalance of critical files |
Automatic Hard Disk scrub and repair |
Power cycle failed drives to Eliminate false drive failures |
Avoid reading Predictive failed disks |
Cell software transparent restart |
Flash and disk life cycle management alert |
Confinement of temporarily poor performing drives |
Prevent shutdown if mirror server is down |
Software Advances for OLTP |
---|
Database Aware PCI Flash |
Exadata Smart Flash Logging |
Write-back Flash Cache |
I/O Prioritization by DB, User, or workload to ensure QOS |
Direct-to-Wire Protocol |
Network Resource Management |
Exachk full-stack validation |
Full-stack security scanning |
NVMe flash interface for lowest latency IO |
Active AWR includes storage stats for end to end monitoring |
Database scoped security |
Cell-to-Cell Rebalance preserving Flash Cache |
Secure disk and flash erase |
The hardware components are not unique to Exadata. It is the integration of hardware and software components that distinguish Exadata from other database systems.
Hardware Configurations
Exadata Generation (2-socket) | v1 | v2 | X2-2 | X3-2 | X4-2 | X5-2 | X6-2 |
---|---|---|---|---|---|---|---|
Date Introduced | Sep-2008 | Sep-2009 | Sep-2010 | Sep-2012 | Nov-2013 | Jan-2015 | Apr-2016 |
Disk Storage (RAW TB) | 168 | 336 | 504 | 504 | 672 | 1344 | 1344 |
Flash Cache (RAW TB) | N/A | 5.3 | 5.3 | 22.4 | 44.8 | 89.6 | 179.2 |
Extreme Flash (RAW TB) | N/A | N/A | N/A | N/A | N/A | 179.2 | 358.4 |
Compute Cores | 64 | 64 | 96 | 128 | 192 | 288 | 352 |
Max Memory (GB) | 256 | 576 | 1,152 | 2,048 | 4,096 | 6,144 | 6,144 |
Ethernet (Gb/sec) | 8 | 24 | 184 | 400 | 400 | 400 | 400 |
Exadata Generation (8-socket) | N/A | N/A | X2-8 | X3-8 | X4-8 | X5-8 | X6-8 |
Date Introduced | N/A | N/A | Sep-2010 | Sep-2012 | Jul-2014 | Nov-2015 | Apr-2016 |
Disk Storage (RAW TB) | N/A | N/A | 504 | 504 | 672 | 1344 | 1344 |
Flash Cache (RAW TB) | N/A | N/A | 5.3 | 22.4 | 89.6 | 89.6 | 179.2 |
Extreme Flash (RAW TB) | N/A | N/A | N/A | N/A | 179.2 | 179.2 | 358.4 |
Compute Cores | N/A | N/A | 96 | 160 | 240 | 288 | 288 |
Max Memory (TB) | N/A | N/A | 4 | 4 | 12 | 12 | 12 |
Ethernet (Gb/sec) | N/A | N/A | 174 | 174 | 184 | 184 | 184 |
Note: Based on a full rack configuration of 14 storage servers, 8 compute servers for 2-socket and 2 compute servers for 8-socket
References
External links
Wikimedia Commons has media related to Oracle Exadata. |
- Oracle Steps With Moore’s Law To Rev Exadata Database Machines
- Oracle Exadata Database Machine
- Exadata X5-2 Data Sheet
- Benefits of running E-Business Suite on Exadata and Exalogic
- History of Exadata
- Tanel Poder’s Exadata blog, from an expert in performance tuning on Exadata
- Arup Nanda’s blog, where you can search for Exadata-related posts
- The Enkitec blog, from a company specializing in Exadata and sponsoring yearly Exadata-centric conferences
- Jonathan Lewis’s excellent Exadata posts