Upload
mark-ginnebaugh
View
2.278
Download
1
Embed Size (px)
DESCRIPTION
Sumeet Bansal of Fusion-io defines a "Dream Database Architecture. You'll Learn:* If Flash Storage is right for your organization* How to set up for High Availability* What's coming next in Solid State StorageLastly, you'll hear how software manufacturers are responding to the distributed architecture trend, including validation from leaders such as Microsoft and Oracle.
Citation preview
FLASH STORAGE FOR SQL SERVERFLASH STORAGE FOR SQL SERVER
Speaker: Sumeet BansalFusion‐io
San Francisco SQL Server User GroupSan Francisco SQL Server User GroupMarch 2011
Mark Ginnebaugh User Group LeaderMark Ginnebaugh, User Group Leader, [email protected]
Flash storage: Is it right for you?
Sumeet Bansal Principal Solutions Architect, Fusion-io
March 9, 2011 Microsoft Office San Francisco
Who am I?
Until June 2009
• Vice President of IT & DBA at Wine.com
• Served at Wine.com for a decade
• Introduced Fusion-io at Wine.com in Late 2008
NNow
• Principal Solutions Architect at Fusion-io
• Evangelize through presentations demos webinars etc• Evangelize through presentations, demos, webinars etc
• Help Clients discover ways of maximizing efficiency and performance and at the same time cutting costs
• Still a huge fan of Wine.com
Dream Database Architecture (DDA)
DDA impliesDDA implies
• High Performance
• High Availabilityg y
• Easy to Manage
• Energy Efficient
• Cost Effective
Dream Database Architecture (DDA)
SAN
ioMemory is core of DDAioMemory is core of DDA
ioMemoryL1, L2 & L3CPU Cache
DRAM
Mill isecond (10E-3)Nanosecond (10E-9) ACCESS DELAY IN TIME
What is possible – Wine.com
Metric Pre Fusion-io Post Fusion-io Improvement “Boost” Customer Facing Improvement
Average duration of a SQL transaction
345 milliseconds 88 milliseconds 300% 4 Times Website pages faster, each page has multiple DB requests. Reducing Time fetching data improves customer experience, leads to better conversion.
Time taken to take a full backup of the largest database
Time taken to restore a full backup of the largest d t b
2 hours
3 hours
6 minutes
15 minutes
1900%
1100%
20 Times
12 Times
During backups, customer experience is no longer hindered.
Faster time to recovery, less loss exposure in major downtime.
database
Average number of read/write operations waiting in a queue to complete
0.4 0.008 4900% 50 Times Less time for customer to wait on another customers long running operation.
Number of transactions in 1 hour window that took more than 500 milliseconds
3011 163 1700% 18 Times Website pages faster, each page has multiple DB requests. Reducing Time fetching data improves customer experience, leads to better conversion. More cart transactions per second.
What is possible - Wine.com
Business Value Gained
• 50x fewer average transactions in queue• Decreased Cart Abandonment and increased revenue by at least 2%.
• Reduced daily backup window from 2 hrs down to 6 minutes• Gained extra revenue for a 2 hour duration every day of the year.• If avg. 2 hour revenue gained (off peak hours) is $2K, the total revenue
gain per year is $730Kgain per year is $730K
• Year End invoices posted in a single day that used to take 1 month• Books closed faster than ever.
• Zero database blocking with rollbacks• Saved considerable time in warehouse and finance with no lost
inventory, duplicate inventory purchasing, and tedious research / reportingreporting
Measuring performance on Fusion-io
Try to measure application performance
• Use profiler to track average SQL transaction completion time• Use perfmon to track various aspects:
– Logical Disk:Disk Reads/sec (Read IOPS)– Logical Disk:Disk Writes/sec (Write IOPS)– Logical Disk:Disk Reads Bytes/sec (Read Throughput)– Logical Disk:Disk Writes Bytes/sec (Write Throughput)– Logical Disk:Avg Disk Sec/Read (Read Latency)
Logical Disk:Avg Disk Sec/Write (Write Latency)– Logical Disk:Avg Disk Sec/Write (Write Latency)– Use the Physical disk object if need to track on disk level in a
RAID configuration
Measuring performance on Fusion-io
Following are some suggested tests on a non-production environment
• Perform maintenance tasks like backup/restore/rebuild of indexes• Use multiple connections simultaneously to read or write to a table• Run most frequently executed stored procedures and time them• Measure latency in an active High Availability scenario like Database
MirroringMirroring
Addressing High Availability
• Database Mirroringg• Synchronous• Asynchronous
• Multi-site clusteringMulti site clustering• Requires Windows 2008 R2• Requires a third-party data replication software
– Data Keeper by Steel Eye TechnologiesData Keeper by Steel Eye Technologies– Double-take
• SQL Server replication• Specific to certain environmentsSpecific to certain environments• Works on Database Object level
Addressing High Availability
• Neverfail• http://www.neverfailgroup.com/windows-apps/sql-server-high-
availability.html
• Marathon• http://www.marathontechnologies.com/sql-high-
availability.html
Mirroring vs. Clustering
Mirroring Clusteringg• Provides protection against data corruption
(page level corruption) because there are two separate physical data stores.
• Starting from SQL Server 2008, the system
g• Does not protect against data corruption
because there is a single data store on the shared storage.
• One has to either restore from a backup g yautomatically fixes corrupt pages (in enterprise edition)
• Mirror failover can be completely automated
por run a dbcc repair command with allow for data loss option
• Both options will result in data loss
using a witness server• Starting from SQL Server 2008, the transaction
logs for mirroring are compressed before sending to the mirror. So much better network utilizationutilization
Mirroring vs. Clustering
Mirroring Clusteringg• Ordinarily, the databases on the mirror server
are not readable. However, if enterprise edition is present, one can create read-only snapshots on the mirror server
g• Reading from a separate node, without
impacting the primary is not possible
• The snapshot creation is a sub-second operation regardless of the size of the database
• The snapshot can be dropped and t d t i t l ( 5 recreated at an interval (say every 5
minutes) to keep up with the data• This helps to gain better value from the
mirroring server
Mirroring really is better
• Mirroring is fast• Mirroring is fast
• Mirroring allows for a distributed architecture
• Shared storage is not really geared for performance, it is geared for capacity
• A different architecture (Distributed) is needed to drive performance
Validation
• IBM HP and DELL are OEMs and expanding on relationships• IBM, HP, and DELL are OEMs and expanding on relationships
• Microsoft: SQL Server 2011 (Denali)• Will provide clustering options without requiring shared storage• There will be multiple mirrors per server possible
• Oracle• Flashcache• Dataguard with complete automatic failover
Sneak Peek
• DirectCache• DirectCache• Use ioMemory as cache• Automatic Data management• Increase performance and economize on existing SAN infrastructureIncrease performance and economize on existing SAN infrastructure• Will support Clustered environments too
DirectCache
SAN
ioMemoryL1, L2 & L3CPU Cache
DRAM
Mill isecond (10E-3)Nanosecond (10E-9) ACCESS DELAY IN TIME
T H A N K Y O U
To learn more or inquire about speaking opportunities, please contact:o ea o e o qu e about spea g oppo tu t es, p ease co tact:
Mark Ginnebaugh, User Group [email protected]