Storage for DBAs
This page contains an index to an extended blog series I have been writing called Storage for DBAs. As a long-time database guy entering the murky world of storage, I found three were a lot of lessons to learn and myths to debunk.
It’s not a great name for a blog series because it’s not just aimed at DBAs but also architects, developers, administrators of any kind, managers, buyers and anyone with an interested in modern storage. However, in these Twitter-friendly times, the name Storage For Architects, Developers, Administrators of Any Kind, Managers, Buyers and Anyone with an Interest in Modern Storage didn’t seem very catchy.
Index
Storage Fundamentals:
Performance: It’s All About Balance
The Fundamental Characteristics of Storage
Understanding I/O: Random vs Sequential (The Sushi Effect!)
The Most Important Thing You Need To Know About Flash
Storage Myths:
Storage Myths: Put Oracle Redo on SSD
Storage Myths: Dedupe for Databases
Storage Myths: Storage Compression Has No Downside
Playing The Data Reduction Lottery
Database Economics:
The Real Cost of Enterprise Database Software
The Most Expensive CPUs You Own
Understanding Disk:
Understanding Disk: Superpowers
Understanding Disk: Mechanical Limitations
Understanding Disk: Over-Provisioning
Understanding Disk: Caching and Tiering
Understanding Flash:
Understanding Flash: What Is NAND Flash?
Understanding Flash: Blocks, Pages and Program / Erases
Understanding Flash: SLC, MLC and TLC
Understanding Flash: What is 3D NAND?
Understanding Flash: The Flash Translation Layer
Understanding Flash: Garbage Collection Matters
Understanding Flash: The Write Cliff
Understanding Flash: Unpredictable Write Performance
Understanding Flash: Floating Gates and Wear
Understanding Flash: Fabrication, Shrinkage and the Next Big Thing
Understanding Flash: Summary – NAND Flash Is A Royal Pain In The …
All Flash Arrays:
All Flash Arrays: What Is An AFA?
All Flash Arrays: Can’t I Just Stick Some SSDs In My Disk Array?
All Flash Arrays: Where’s My Capacity? Effective, Usable and Raw Explained
All Flash Arrays: SSD-based versus Ground-Up Design
All Flash Arrays: Hybrid Means Compromise
All Flash Arrays: Controllers Are The New Bottleneck
All Flash Arrays: Active/Active versus Active/Passive
All Flash Arrays: Scale Up vs Scale Out (Part 1)
All Flash Arrays: Scale Up vs Scale Out (Part 2)
Have opened this page many times but could never manage to read the posts. Finally started reading today.
Great stuff.
Thank you !
Amazing wealth of information.
Pingback: SQL Performance, Part II — Disk I/O: metrics and scales | Oracle Diagnostician
Thanks for the articles. You explain an complicated topic with so much simplicity. I learned a lot.
Thank you so much for these articles, they helped me a lot. I just started to digging into data recovery.
The most understandable and best-written technology blog.
Thank you!!
I read through almost all the articles. These are very helpful! I will be a faithful reader continuously.
One message you shared is the power consumption of SSD is lower than HDD. Theoretically yes. Do you have any data point to compare, and whether the interface of SAS, SATA, PCIe will have impact on the power consumption. The reason put forward this is from my experience, 2.5″ SAS HDD usually consumes 11W power, while the latest PCIe SSD power is budgeted at 25W.
Any blog you want to recommend also helps.
Hi Jane
The data sheets of SSDs and HDDs will show you a reasonable difference in power consumption, but that’s only half the story. Consider also the fact that many more HDDs are required to meet the same performance levels of a handful of SSDs, particularly for random I/O where IOPS becomes the limitation. Even the fastest HDDs can deliver not much more than 200 IOPS, while a single Samsung PM863 SSD can deliver almost 100,000.
On the subject of comparing specifications, you must always ensure you are comparing like for like. SSDs come in consumer or enterprise-class categories and will have significantly different performance and environmental specifications. For HDDs this is even more the case, with so many combinations and permutations on sale. Be careful you don’t compare the power draw of a mid-range consumer HDD to a high-end SSD.
Finally, I have no insights on the effect of the interface, but what is interesting about SSD power consumption (in my humble opinion) is that the type of NAND flash used (e.g. MLC versus TLC) has a significant effect, as of course does the fact that writes use more power than reads. You can see an interesting graphic displaying this exact phenomenon in this review of the class-leading Samsung PM863 and SM863 solid state drives, which are wildly popular in the enterprise flash array space:
http://www.thessdreview.com/our-reviews/samsung-sm863-pm863-ssd-review-960gb/8/
Hi flashdba..
Is there any tool to measure the io latency, iops, bandwidth to compare two storage system before migration ? I found so many but as you have a great deal of knowledge based on the point of view of oracle dba that i need to ask you before search all over the place.
The tools i found are iostat,iometer,iozone,fio,vdbench,slob,swingbench,benchmarkfactory and many more. I would like to know how do you exactly test for the latency,bandwidth and iops when you do a benchmark. And what exact parameter you use and what you look for in the results.
Regards,
You are right, there are many tools. However, it’s important to test the whole platform not just the storage, so if you are building a database platform I would look no further that Kevin Closson’s SLOB.
I do it like this:
https://flashdba.com/database/useful-scripts/using-slob2-for-pio-testing/
Very Much informative. Thanks Team