Ask the Expert: Changing The Database Rules For Performance With XtremIO
Welcome to the Ask the Expert conversation. On this occasion our topic is going to be Oracle on XtremIO, EMC’s all-flash array. We have a 20 minute video [available soon] that takes you through the advantages of using XtremIO for Oracle. Don’t have time for the video? No problem as this is an open discussion in which you can ask any question you would like and our team of Oracle Specialists and Technical Marketing DBAs will provide you with answers. We also welcome your opinions and ideas about all things all flash.
Global Technical Marketing Manager for Oracle - EMC
Sam has more than 13 years experience w/Oracle apps 10.x, 11.0.3, 11i and 12. Worked w/business on Supply Chain (ASCP), Financials, Manufacturing, Business intelligence (DBI, OBIEE), Human Resources (PER), Self Service web apps (Time & Expenses, HR) & others. He is also experienced w/advanced architectures: VM technology (HP, IBM, VMWare), Real Application Clusters (RAC), Load Balancing apps farms, Storage (SAN, NAS, Snapshot technology). Oracle databases 7.3.4, 8i, 9i, 10g, 11g. Oracle Application Server and Joomla 1.5.x.
Matthew is an Advisory Systems Engineer who has 30 years of I/T experience covering a variety of areas such as Implementations, Management, Project Management, Pre-Sales, Consulting, Application, Data, DB, DBA for various O/S platforms: Mainframe, Unix, Windows.
This discussion takes placefrom March 23rd - April 3rd.Get ready by bookmarking this page or signing up for e-mail notifications.
Thanks for posting this the event! We really look forward to discussing Oracle on XtremIO. We are also very excited to have Matt Kaberlein from the Oracle Specialist team leading the event as he has a wealth of experience in working closely with customers on using EMC's XtremIO all-flash array.
So, I’m going to get the discussion started by talking about the importance of array testing. All flash arrays like XtremIO demand different approaches to performance testing because of features like inline data reduction, all zero optimization, and compression. Tools like btest and vdbench enables customers to run performance tests with unique data so array features like inline data reduction and zero optimization don’t impact the test results. My question is: How important is it to customers that performance tests show the most strenuous performance scenario?
Here is a short independent blog by Crispyire called Everything is so... Xtrem that touches upon the same subject of testing.
My vote would be the inline compression. As a DBA you get immediate space savings somewhere in the range of 1.5 to 2 times. An Oracle database 2TB in size could compress down to 1TB. This means the DBA can fit more databases onto XtremIO.
The other part of the compression is with snapsots. Over time most snapshots have a data delta from the source which means they take up space. So compression offers an advantage here too because the data delta is compressed. This means more snapshots are possible.
Finally, this could save the customer money in that they don't have to purchase Advanced Compression.
Good question. In talking to a few DBAs the question they asked, "Should XtremIO be reserved for production databases?" Nothing replaces proper sizing to verify but generally XtremIO is great for non-production (test, development, and sandbox) databases. Here is how I think about it:
Virtually unlimited number of zero performance cost snapshots. Yes, I’m borrowing from Oracle Heretic because he has it right. This means the storage administrator can instantaneously create snapshots of Oracle database to give to the DBA. These snapshots initially take no space and have no performance impact on production.
Compression is my favorite XtremIO feature because snapshots benefit too. For example, let’s say a data delta of 20% across all your snapshots equals 25TB of uncompressed space. That’s a lot of space dedicated to snapshots. Assuming a compression of 2X the snapshots now take 12.5TB which is a big capacity savings!
The speed and simplicity of using XtremIO snapshots together with compression make this storage platform ideal for non-production databases.
Matt Kaberlein in this video does a good job talking about XtremIO snapshots: fast forward to the 19 minute 50 second mark.
Recently, Oracle has been posting some competitive metrics comparing XtremIO to the FS1. I’m going to focus on Oracle’s test method. In most of competitive slide decks there is a slide showing XtremIO performance metrics in a blue bar graph and Oracle’s metrics in a red bar graph. At the bottom of the slide in 8 point font, perhaps even smaller, is the statement “Oracle performance internal testing.” So there is no way for customers for read how the testing was conducted. Recently, Oracle did have a webcast and provided more support for their comparison metrics. In one of the slides they had a list titled, “A few points on this chart” that stated “The test is simple IOMETER with appropriate parameters of BOTH FS1 and EMC. No hocus pocus, no BS.” This is FALSE!
“The most commonly used option. It’s attractive because it has a GUI, which makes it simple to get started. But it’s also easy to use IOmeter to generate inaccurate results, and building complex testing scripts can be more challenging.”
Just my opinion but IOmeter is not what you want to use for internal testing of an all-flash array. What does the same white paper have to say about BTEST?
“High performance and low overhead load generator for Linux. It doesn’t include all the options and built-in automation capabilities of some of the other tools. It can generate a very high multi-threaded load with a specific deduplication ration. BTEST is a command line tool that’s great for running quick manual tests or as the foundation of custom automation”
Reads like a better tool and the part about being able to tune the test for a deduplication ratio is very important. Because XtremIO is an all-flash array (can’t be configured any other way) it’s important to correct for inaccurate results. For example, inline data reduction, all zero optimization and compression if utilized while testing can generate inaccurate results. So in terms of performance testing all-flash arrays tools like btest and VDbench are preferred.
I agree data protection is very important but particularly for Oracle databases. DBA are rightfully concerned about availability, recoverability, and capacity overhead.
XtremIO Availability:
From the hardware perspective, no component is a single point of failure as the storage controller, DAE and InifiniBand switch in the system is equipped with dual power supplies. The software architecture is built in a similar way. Every piece of information that is not committed to the SSD is kept in multiple locations, called Journals. To read more about XtremIO High Availability and many other features we recommend, Introduction to the EMC XtremIO Storage Array 3.0.
Recoverability:
There is a very good XtremIO paper called, "XtremIO Data Protection (XDP) Flash-Specific Data Protection, Provided by XtremIO" that takes the reader through a detailed review of XDP. XtremIO provides a superior rebuild process. When a traditional RAID 6 array faces a single disk failure, it uses RAID 5 methods to rebuild it by reading each stripe and computing the missing cell from the other cells in the stripe. In contrast, XtremIO uses both the P and Q parity to rebuild the missing information and uses an elaborated algorithm that reads only the needed information for the next cell rebuild.
Below is a comparison of XDP reads for rebuilding a failed disk with those of different RAID Schemes (from the above paper).
Algorithm
Reads to Rebuild a Failed Disk, Strip of Width K*
Traditional Algorithm
XDP
3 K/4
-
RAID 10
1
None
RAID 5
K
33%
RAID 6
K
33%
XDP's efficiency advantage leads both to faster rebuild times as well as better array performance during rebuilds since fewer back-end I/Os are required to complete the rebuild, leaving more front-end I/Os available for user data.
Capacity Overhead:
Be careful of the statement, “Engineered for Flash” because if the array is using traditional RAID it is using more capacity overhead for flash! In this video Ask The Expert: Changing The Database Rules For Performance With XtremIO at the 24 minute 53 second mark Matt Kaberlein talks about XDP. The table from the video shows the differences in capacity overhead:
DBAs will be please to know their investment in XtremIO gives them the most flash capacity because it has the least overhead (8%) compared to RAID 1, 5, or 6. In terms of availability, recoverability, and reduction in capacity overhead XtermIO is a flash leader and others arrays using tradition RAID, haven’t been engineered for flash, at least at the data protection level.
I'm interested in how many ASM Disk Groups DBAs should use? I believe Oracle recommends at least two diskgroups by default (keep in mind I haven't researched this lately):
A Data disk group
data
index
undo
temp files
A FRA disk group
archive logs
backups
What approach would you recommend? I know you touched upon this in the video at about the 26 minute 30 second mark. The message was with XtremIO the DBA doesn't have to worry about the architecture of ASM Disk groups. Perhaps I'm wrong, but it does seem like some thought should go into ASM disk group design.
For example, if you plan to use replication with RecoverPoint then temporary data should be isolated into a separate disk group, correct? This might also be the case for the cluster voting disk, OCR and ASMSPFile too?
Here is a recent explanation I sent to a customer concerning block size, XtremIO, and VPLEX:
Traditionally, storage arrays and the hard drives behind them advertised a 512 byte sector size (or physical block size, or logical block size). This was the SCSI standard. However, most storage arrays use a much larger block size internally – often 4k or larger. Unaligned writes or writes smaller than the internal block size would carry a performance penalty. Some time ago, the SCSI standard was modified to allow “advanced format” drives and arrays to advertise a 4k sector size to the initiator. Only recently have leading operating systems and multi-pathing software packages become widely capable of dealing correctly with this new sector size. XtremIO and some other all-flash arrays have been the first to embrace this new standard. Using a 4k sector size eliminates performance issues due to misaligned I/Os as all I/Os are now guaranteed to be aligned to a 4k boundary. VPLEX has not chosen to implement support for 4k sector sizes yet and as such, VPLEX can only virtualize XtremIO volumes if those volumes advertise a 512-byte sector size.
Customers using VMware to virtualise Oracle on XtremIO have been using 512 byte sectors and receiving very good performance. This is because VMware does not presently support 4k sector size with VMFS datastores either. EMC, VMware, and Cisco have published a performance paper showcasing near linear scalability of IOPS using XtremIO across virtual machines with consistently low latency.
DBAs and many others are very aware of having to match requirements to enable broader solutions. In this case the high availability or continuous availability offered by VPLEX outweighs using a 4k sector size.
slucido
2 Intern
•
109 Posts
2480
1
Posted March 16th, 2015 05:00
Roberto,
Thanks for posting this the event! We really look forward to discussing Oracle on XtremIO. We are also very excited to have Matt Kaberlein from the Oracle Specialist team leading the event as he has a wealth of experience in working closely with customers on using EMC's XtremIO all-flash array.