RE: Solid State Drives

  • From: "Matthew Zito" <mzito@xxxxxxxxxxx>
  • To: <mathias.magnusson@xxxxxxxxx>, <vishal@xxxxxxxxxxxxxxx>
  • Date: Sun, 3 May 2009 11:14:35 -0400

It is likely that eventually the price per GB on a SSD will get close to that 
of a traditional drive.  However, it is also likely that the sizes available 
for the traditional disks will continue to be larger for quite a while.  So, my 
instinct is that you'll see a similar split as there was up until recently 
between FC and SATA disks.  On the high end, you had ~300GB 15k RPM FC drives 
for high-performance objects, and then for less-frequently used items you'd 
have 1TB SATA drives.

So, perhaps your high-performnace objects will go on 2TB SSDs, and your regular 
data will go on 8TB SAS drives.  

As far as database-level optimizations, read-ahead may still make sense on 
SSDs, simply because it will reduce the need to generate IOs to the storage 
array, even if those IOs no longer have any concept of locality.

I should get someone to donate to me some "smart" arrays with SSDs built in, so 
we can test this stuff.

Thanks,
Matt


-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx on behalf of Mathias Magnusson
Sent: Sun 5/3/2009 5:38 AM
To: vishal@xxxxxxxxxxxxxxx
Cc: tanel@xxxxxxxxxx; dofreeman@xxxxxxxxxxx; Oracle-L
Subject: Re: Solid State Drives
 
I think we all can agree that the cost/benefit right now is hard to define. I'm 
guessing that thought advanced ILM there are som use on the few blocks in a 
database that gets the most activity.

Still the part of the OP's question I am most interested in, is the future 
vision. How will the database world change when the price of SSD matches that 
of harddisks? That day is sure to be here fairly soon and when that day comes 
there will be probably few reasons to buy new harddisks,

The SAN cache changed some of the impact distribution on disk had for some 
systems, the SSD will definately change a lot of things as all blocks on them 
are created equal. The time cost for random versus sequential read will 
probably not matter as much. My understanding is that all blocks are placed in 
a somewhat random fashion on an SSD and new writes makes the block move to a 
different physical location.

So does anyone have an idea for how old truths will change or even how 
databases will adjust their algorithms for a day when harddisks are no longer 
the cheapest way to store data? Or is the conclusion that SSD is a fad that 
will fade into history over time? I cannot see that, but it would be 
interesting to hear som arguments for it.  

Mathias
http://mathiasmagnusson.com
http://blog.mathiasmagnusson.com
http://photo.mathiasmagnusson.com
http://oradbdev.mathiasmagnusson.com



On Sun, May 3, 2009 at 10:36 AM, Vishal Gupta <vishal@xxxxxxxxxxxxxxx> wrote:


        Tanel,

         

        I would agree. SAN cache does a pretty good job, even with RAID-5 as we 
have it in our bank. 

         

        Since most of the data, most of time is getting written to memory (RAM) 
in SAN. And it offloaded to disk in the background by SAN. So database gets a 
success handshake as soon as data is written to SAN cache. And with combination 
of server RAM (i.e db cache) and SAN cache and RAID-5, reads are also lot 
faster. As Tanel, suggests idead should be to optimize your SQLs so they do 
less IO. But even if they cant, a full tablescan might get repeatedly served 
from SAN cache. 

         

        Only problem I see with SAN cache is, there is no resource scheduling. 
Its all shared. So if you have too many system on same SAN cache, then one 
rouge system can bring down the entire company's systems. I have seen that 
happening. If there is too much written to SAN cache and writes are coming fast 
and thick. Then SAN does not get time to offload this dirty cache to disk,and 
this write pending goes above your set threshold,  it starts throttling writes 
from all the sources. And we had a linux kernel where it eventually made all 
the SAN connected mount point read-only. OUCH.. Major downtime on all systems. 
Now linux kernels have been patches so that mount point does not become 
read-only under such conditions.

         

        But SAN administrators really needs the understanding of databases IO, 
and also needs to be contain busy system to their own front end ports (Fibre 
channel ports) and their own disk and controllers. 

         

        But still they don't have the ability provided by SAN to isolate cache 
for a particular system. Or ability to throttle only selected systems/FC ports. 

         

         

         

        Regards,

        Vishal Gupta

         

        From: oracle-l-bounce@xxxxxxxxxxxxx 
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Tanel Poder
        Sent: 01 May 2009 18:22
        To: dofreeman@xxxxxxxxxxx; 'Oracle-L'

        Subject: RE: Solid State Drives
        
         

        Once they get cheap and big then there would be a business case for 
them for regular shops.

         

        But right now, if you want to reduce the time spent waiting for 
physical reads in your database - one way is buy faster IO subsystem which SSD 
may give, another way is to just buy more memory for your server and do less 
physical reads. The same is with writes, consider whether its cheaper to 
buy/deploy/maintain the SSDs or just to have more write cache in your storage 
array (and again, if you buy more RAM into your server for caching read data 
then you can allocate even more of the storage cache for caching writes).

         

        So the question should be what's the most cost-effective option for 
achieving the result - reducing TIME spent doing physical IO. Given the 
write-caching of large storage arrays already in use in todays enterprises I 
don't think adding SSDs make sense from cost/performance perspective. Of course 
when the technology gets cheaper then the potential power savings and lesser 
drive dying rate will be another factor to consider.

         

        So my prediction is that, unless some other major new technology 
emerges in coming few years, SSDs will replace disk spindles for online 
"active" data just like (remote) disk spindles have replaced tape backups in 
some enterprises (btw I'm not saying that I like this approach entirely - tapes 
have the benefit of being physically disconnected from any servers, in a 
guarded safe in a bank in another city or so).

         

        In addition to backups, the disk spindles will still be used for 
archived data as well (lots of storage which is rarely accessed), they are 
faster than tape but cheaper per gigabyte than SSDs. Long term backups are kept 
on tapes, but some companies will completely throw away their tape systems to 
cut costs & complexity and keep all backups on disk spindles.

         

        After saying all that - currently I don't see much reason for buying 
SSDs for database solutions which are already deployed on mid/high-end storage 
arrays.

         

        --
        Regards,
        Tanel Poder
        http://blog.tanelpoder.com <http://blog.tanelpoder.com/>  

         

                 

                ________________________________

                                From: oracle-l-bounce@xxxxxxxxxxxxx 
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Freeman, Donald
                Sent: 01 May 2009 16:09
                To: Oracle-L (oracle-l@xxxxxxxxxxxxx)
                Subject: Solid State Drives

                Has anybody given any thought to where we are going as SSD's 
get cheaper and bigger?   We've been going round and round at my shop with 
discussions about RAID, other disk allocation issues, fights over storage.  I 
mean we seem to spend a lot of time on that issue. I saw that IBM is testing a 
4 TB SSD.   I was wondering if you'd have to mirror that, What kind of 
reliability we would be getting.   No more RAID discussions?   I've heard there 
is a finite number of times you can write to it.  What's the upgrade path here?



Other related posts: