Oracle Exadata X2-8: A Critical Review

17,711 views

Published on

Oracle ACE, Mike Ault, gives a high level overview of what the Oracle Exadata is and its best-fit applications as well as offer alternatives to it..

Published in: Technology, Business

Oracle Exadata X2-8: A Critical Review

  1. 1. Oracle Exadata X2-8: A Critical Review<br />Mike Ault<br />Oracle Guru<br />Texas Memory Systems<br />
  2. 2. Michael R. Ault<br />Oracle Guru<br /><ul><li> Nuclear Navy 6 years
  3. 3. Nuclear Chemist/Programmer 10 years
  4. 4. Kennedy Western University Graduate
  5. 5. Bachelors Degree Computer Science
  6. 6. Certified in all Oracle Versions Since 6
  7. 7. Oracle DBA, author, since 1990
  8. 8. Oracle Ace</li></li></ul><li>Books by Michael R. Ault<br />
  9. 9. Statspackanalyzer.com<br />Free Statspack/AWR Analysis <br />Sponsored by Texas Memory Systems<br /><ul><li>Looks for IO bottlenecks and other configuration issues.
  10. 10. Straightforward tuning advice</li></li></ul><li>What Is Exadata X2-8?<br />Is it software?<br />Is it hardware?<br />Is it the Borg?<br />
  11. 11. Exadata as Borg?<br />
  12. 12. Not Really (at least not yet…)<br />Exadata is a combination of hardware and software<br />Exadata takes state of the art disk, computer and flash technology and combines it with specially designed software from Oracle.<br />Exadata hardware can only run Oracle software<br />
  13. 13. Exadata X2-8 Hardware<br />(Looks to be the SUN X4800)<br />
  14. 14. Traditional Setup<br />
  15. 15. Exadata Setup<br />Each Exadata Cell has 4-96 GB flash cards<br />
  16. 16. Exadata X2-8 Storage Hardware<br />Sun x4270 M2 servers that contain dual six-core Xeon L5640 processors running at 2.26 GHz, with 24GB of memory<br />4-96 MB flash cards for Smart flash cache used to accelerate disk reads<br />Disks are either high performance low capacity 15K or low performance high capacity 7.5K<br />Lose 66% or more of raw space for redundancy options or formatting losses<br />High Perf: 7.2 down to 2 TB per cell<br />Low Perf: 24 down to 7 TB per cell<br />You pay license on a per disk basis <br />$10,000.00/disk, $120,000.00 per cell<br />Get IOPS based on large number of disks (168 to get 50K IOPS)<br />200 IOPS/DISK*168 DISK=33,600 IOPS so this is doubtful<br />Promises of 1,000,000 IOPS from FLASH (read-only) <br />Full X2-8 hardware cost: $1,500,000.00 (doesn’t include software!)<br />All prices/data taken from:<br />Oracle Exadata and Exalogic Pricelist, July 1, 2011<br />Oracle Technology Global Pricelist, July 1, 2011, Software Investment Guide<br />Exadata Smart Flash Cache and the Sun Oracle Database Machine, Oracle, Oct 2009<br />
  17. 17. Exadata X2-8 Specific Software<br />
  18. 18. Something to Note:<br />
  19. 19. Exadata X2-8 Oracle Software<br />License is per CPU<br />Approximately $51,500.00 per CPU for all Oracle software<br />128 CPU * $51,500.00 = $6,592,000.00<br />Add the Cell license cost of $1,680,000.00<br />Total license cost: $8,272,000.00<br />Total Hardware cost: $1,500,000.00<br />Total cost (plus shipping, handling and installation, support): $9,772,000.00<br />All prices taken from:<br />Oracle Exadata and Exalogic Pricelist, July 1, 2011<br />Oracle Technology Global Pricelist, July 1, 2011, Software Investment Guide<br />
  20. 20. Exadata Specific Software Features:Smartscan<br />Goal reduce the data volume into the SGA as will only match the result set<br /> Less load on IB and RAC interconnects+CPU<br /> Predicate Filtering processes WHERE in storage<br /> Column Projections only returns columns = sql<br /> Bloom filter Joins passes matching values to storage cells to match only requested values<br /> Storage Indexes High/Low Values @1MB disk<br /> Data Mining Scoring functions run on storage<br />
  21. 21. Smartscan<br />First: Traditional Processing (non-indexed select):<br />The client issues a SELECT statement with a predicate to filter and return only rows of interest. <br />The database kernel maps this request to the file and extents containing the table being scanned. <br />The database kernel issues the I/O to read the blocks. <br /> All the blocks of the table being queried are read into memory. Then SQL processing is done against the raw blocks searching for the rows that satisfy the predicate. <br />Lastly the rows are returned to the client.<br />From: Oracle, A Technical Overview of the Oracle Exadata Database Machine and Exadata Storage Server, April 2011<br />
  22. 22. Smartscan<br />Smartscan:<br />The client issues a SELECT statement with a predicate to filter and return only rows of interest. <br />The database kernel determines that Exadata storage is available and constructs an iDB command representing the SQL command issued and sends it the Exadata storage. <br />The CELLSRV component of the Exadata software scans the data blocks to identify those rows and columns that satisfy the SQL issued. <br />Only the rows satisfying the predicate and the requested columns are read into memory. <br />The database kernel consolidates the result sets from across the Exadata cells. <br />Lastly, the rows are returned to the client.<br />From: Oracle, A Technical Overview of the Oracle Exadata Database Machine and Exadata Storage Server, April 2011<br />
  23. 23. SO…<br />Smartscan is good for full table scan issues where no indexes are available<br />Have heard that Oracle suggests removing indexes, but how does smartscan resolve FK-PK issues?<br />In complex OLTP or DSS/DWH queries smartscan may not help<br />Depends on min/max storage indexes which can have issues with changing data<br />May not be efficient on partitioned tables when a partitioned-wise join can’t be used<br />In frequently updated tables smartscan may be bypassed, or, blocks will be passed that are inconsistent, requiring the DB server to filter them and retrieve the proper block from the undo segments<br />From: <br />Oracle: A Technical Overview of the Oracle Exadata Database Machine and Exadata Storage Server, April 2011<br />Teradata: Exadata is Still Oracle, March 2011<br />
  24. 24. Exadata Specific Software Features:Smart Flash Cache<br />Seems to be lots of confusion between Flash cache in the server and flash cache at the DB level<br />Flash cache is turned on at the server in Oracle Linux and Sun using initialization parameters<br />Smart flash cache is automatic with the Exadata cell and requires no operator intervention<br />
  25. 25. Exadata Smart Flash Cache<br />Each cell comes with 384 GB of Exadata Smart Flash Cache.<br />In the Database Machine X2-8 and Full Rack X2-2 there is 5.3 TB of Flash <br />Provides a 10x improvement in response time for reads and 100x improvement in IOPS for reads over regular disk<br />Delivers a 10x blended performance average of read and write operations.<br />Doesn’t use Least Recently Used (LRU) algorithm<br />The Storage Server Software keeps track of data access patterns and caches to avoid polluting the cache. <br />Managed automatically and does not allow manual tuning. <br />Specific objects key to performance can be pinned in cache.<br />Only for EXADATA<br />From: An Oracle White Paper, October 2009,Exadata Smart Flash Cache and the Sun Oracle Database Machine<br />
  26. 26. Database Flash Cache<br />A victim cache, it stores clean (unmodified) blocks that have been evicted from the SGA buffer cache <br />If a block has been modified, it is first written to disk, then it is written to the Database Smart Flash Cache.<br />Blocks can later be returned to the SGA as required. <br />If a block cannot be found in the SGA buffer cache or the Database Smart Flash Cache, it is retrieved from disk.<br />This is only done when DBWR has time to perform the operations<br />Only works (in supported mode) on Oracle Linux and Oracle Sun Solaris<br />Set up with two-initialization parameters:<br />DB_FLASH_CACHE_FILE<br />DB_FLASH_CACHE_SIZE<br />FROM: An Oracle White Paper, September 2010, Oracle Database Smart Flash Cache<br />
  27. 27. SO…<br />Exadata flash cache can benefit both OLTP and DSS/DWH<br />Only for non-changing, frequently accessed data<br />Most helpful for reads<br />Is basically a write-through cache using access statistics to optimize storage of hot blocks<br />On external flash so not as fast as database flash cache<br />
  28. 28. IORM(IO Resource manager)<br />DBRM has been enhanced for use with Exadata. <br />DBRM lets the user define and manage intra and inter-database I/O bandwidth. <br />Consumer groups are allocated a percent of the available I/O bandwidth and the DBRM ensures these targets are delivered. <br />The database tags I/O with the database and consumer group. <br />The intra-database I/O allocations are defined and managed at the database <br />The inter-database I/O allocations are defined within the software in the Exadata cell and managed by the I/O Resource Manager (IORM). <br />The Exadata cell software ensures that inter-database I/O resources are managed and properly allocated within, and between, databases. <br />Overall, DBRM ensures each database receives its specified amount of I/O resources and user defined SLAs are met.<br />Note that IORM currently provides no management of objects cached in Flash<br />FROM:<br />An Oracle White Paper, April 2011, A Technical Overview of the Oracle Exadata Database Machine and<br />Exadata Storage Server<br />Mixed Consolidated Workloads and the Sun Oracle Database Machine By Robert Stackowiak February 6, 2010 <br />
  29. 29. IORM<br />DBRM are created at the Database<br />IORM are created at the CELL<br />Creating IORM Plans on Oracle Exadata: <br />Create a simple plan:CellCLI> alter iormplan dbplan=((name=db1_prod, level=1, allocation=70),(name=db2_prod, level=1, allocation=30),(name=db1_dev, level=2, allocation=100),(name=db1_test, level=3, allocation=70),(name=other, level=3, allocation=40)),catplan=''CellCLI> alter iormplan active<br />From: http://pauloferreiraportugal.blogspot.com/2011/04/creating-iorm-plans-on-oracle-exadata.html<br />
  30. 30. Other IO Features<br />Utilizes creation of cell disks from whole physical disks<br />Cell disks are then split into ASM DISKS with HOT and COLD ASM DISKS<br />The Hot ASM DISKS (outer edge) are grouped together and used for hot data<br />The Cold ASM DISKS are grouped together and used for cold data<br />
  31. 31. SO…<br />IORM is only for Exadata at the Cell level<br />IORM doesn’t regulate or understand flash cache operations<br />Can be used in concert with DBRM to control resources<br />
  32. 32. Exadata Specific Software Features:Storage Indexes<br />The Storage Server Software creates and maintains the Storage Index <br />Tracks min and max values of columns for tables stored on that cell. <br />When a query specifies a WHERE clause, but before any I/O, the Exadata software uses the Storage Index to determine if rows with the specified column value exist in the cell <br />Many SQL Operations will run dramatically faster because large numbers of I/O operations are automatically replaced by a few lookups. <br />Storage Indexes are created and maintained by the Exadata Storage Server Software.<br />Indexes must be rebuilt every shutdown/startup operation<br />Can cause false positives, but not false negatives<br />
  33. 33. Exadata Specific Software Features:Hybrid Columnar Compression<br />Combination of both row and columnar methods for storing data. <br />Achieves the compression benefits of columnar storage, avoiding the performance issues of a pure columnar format. <br />A logical construct called the compression unit is used to store a set of Exadata Hybrid Columnar-compressed rows. <br />When data is loaded, column values are detached from the set of rows, ordered and grouped together and then compressed. <br />After the column data for a set of rows has been compressed, it is fit into the compression unit. <br />Not good for volatile data<br />From: An Oracle White Paper: December 2009, Exadata Hybrid Columnar Compression<br />
  34. 34. Exadata Specific Software Features:Hybrid Columnar Compression<br />Data must be loaded using data warehouse bulk loading techniques. <br />Exadata HCC tables can still be modified using conventional Data Manipulation Language (DML) operations, such as INSERT and UPDATE. <br />Examples of bulk load operations commonly used in data warehouse environments are: <br />Insert statements with the APPEND hint <br />Parallel DML <br />Direct Path SQL*LDR <br />Create Table as Select (CTAS) <br />From: An Oracle White Paper: December 2009, Exadata Hybrid Columnar Compression<br />
  35. 35. Exadata Specific Software Features:HCC Warehouse Compression<br />Warehouse Compression Syntax <br />CREATE TABLE emp ( <br />emp_id NUMBER <br />, first_name VARCHAR2(128) <br />, last_name VARCHAR2(128) <br />) COMPRESS FOR QUERY [ LOW | HIGH ];<br />Low gives 6X<br />High gives 10X<br />From: An Oracle White Paper: December 2009, Exadata Hybrid Columnar Compression<br />
  36. 36. Exadata Specific Software Features:HCC Archive Compression<br />Online Archival Compression Syntax <br />CREATE TABLE emp ( <br />emp_id NUMBER <br />, first_name VARCHAR2(128) <br />, last_name VARCHAR2(128) <br />) COMPRESS FOR ARCHIVE [ LOW | HIGH ];<br />Gives up to 15X<br />For infrequently accessed data<br />Will cause notable decrease in performance<br />From: An Oracle White Paper: December 2009, Exadata Hybrid Columnar Compression<br />
  37. 37. SO…<br />HCC good for infrequently accessed data<br />Use OLTP compression for OLTP only 4X<br />Have seen reports that the needed decompression/recompression due to changing data can be quite expensive performance wise<br />Must do initial load with pre-built blocks<br />
  38. 38. Data Mining in Oracle Exadata<br />Scoring is the process of applying a data mining model to data to generate predictions. <br />Scoring processes require significant system resources. <br />Vast amounts of data may be involved, and algorithmic processing may be very complex.<br />With Oracle Data Mining, scoring can be off-loaded to intelligent Oracle Exadata Storage Servers<br />
  39. 39. Overall<br />From: Teradata, Exadata is Still Oracle, March 2011<br />
  40. 40. Overall<br />Low<br />Simple star schemas<br />Simple joins<br />Fixed data<br />High<br />Hybrid or snowflake schemas<br />Complex joins, summaries, etc.<br />Changing data<br />
  41. 41. Exadata Strengths<br />One vendor<br />High bandwidth data path<br />Moves processing (in some cases) closer to the data<br />Offers advanced compression for archival/fixed data<br />Offers 5-20X acceleration for simple queries against relatively calm data<br />Within the Exadata X2-2 family, easy upgrades<br />
  42. 42. Exadata Weaknesses<br />Limited to one vendor for hardware and software (limited flexibility)<br />Not good for rapidly changing data<br />Expensive<br />Complex hardware and software<br />Daisy cutter approach to upgrade from existing system <br />Heavy metal approach to performance<br />For DP if you go Dataguard, must use Exadata<br />
  43. 43. Summary<br />For a new shop or project with no existing hardware Exadata is a good option if you can afford it<br />For consolidation Exadata may be a good fit<br />If you intend on keeping your licenses where they are and just getting an Exadata, it is really expensive<br />Uses “old” technology (disks)<br />May have issues with rapidly changing data (frequent IUD) negating the new performance features<br />Can get similar or better performance improvements without getting rid of existing technologies.<br />
  44. 44. Comparison of Exadata X2-8 to A RamSan710 Based Database System<br />
  45. 45. Main Storage-RamSan710<br />1-U 1-5TB SLC Flash <br />400,000 IOPS<br />5 GB/s bandwidth<br />4 QDR Infiniband ports<br />175 microsecond latency worst case (4k)<br />Base cost 5TB - $150,000.00<br />12 - $1,800,000.00 (Raid 0) 30 TB<br />
  46. 46. How About Some CPUs?<br />2-SUN Fire X4800 (Same as Exadata)<br />Each with:<br />8-8 core 2.26 GHz 7560 CPUs<br />1 TB memory<br />8 PCIe modules<br />Cost: $268,392.00<br />
  47. 47. Some Licenses(Same base Oracle licenses as Exadata)<br />128 CPUS*$51,500.00=$6,592,000<br />No need for Cell licenses since no Cells!<br />
  48. 48. Misc(Support and connection)<br />Switches<br />Rack<br />Cables, etc<br />$40,000.00<br />
  49. 49. Some Database Flash cache<br />6 – RamSan-70 Gorillas<br />5.4 TB total of database Flash cache (2.7 TB per server)<br />600,000 IOPS/card<br />70 Microsecond read latency<br />$134,400.00<br />
  50. 50. Total<br />RamSan710s $1,800,000.00<br />Servers $268,392.00<br />Oracle $6,592,000.00<br />RamSan70s$134,400.00<br />Misc $40,000.00<br />Total $8,834,792.00<br />(Plus shipping, handling, installation, support)<br />Of course this is street price, once discounts for bulk purchases and other things are removed, probably closer to 6-7 million.<br />
  51. 51. A Million here, a Million There<br />So, what are you getting for a million less?<br />5 GB/s*6=30 GB/s bandwidth<br />30 TB usable raided flash with 175 microsecond latency for all transactions<br />400,000*6=2,400,000 IOPS from Storage<br />2,400,000 IOPS from Cache<br />128 CPUS and 2 TB of memory<br />Database Independence<br />OS independence<br />Less complexity<br />Better Performance<br />Lower operating costs (lower license, electric and cooling)<br />Great performance on OLTP/DWH/DSS<br />
  52. 52. All-In-One-Place<br />*Note: Various sources quote the Exadata X2-8 HP capacity from 28-45 usable TB. Adding 15 TB RS710 RAIDed Flash: $900,000.00<br />
  53. 53. Summary<br />Exadata uses old technology (disk), write through flash caches and new software to brute force performance<br />New technology such as Flash and SSD as storage can get the same benefits, cheaper<br />Exadata locks you into Oracle technology and hardware<br />Using newer technology keeps your options open with better performance<br />
  54. 54. Questions/Comments?<br />
  55. 55. Thank You!<br />Mike Ault<br />oracle@ramsan.com<br />http://www.statspackanalyzer.com/<br />

×