0
-1

作为二级缓存的SSD应用

jametong 发表于 2010年04月28日 17:31 | Hits: 4802
Tag: Uncategorized | secondary buffer pool | flash cache | ssd

SSD的特性是,随机IO非常好,随机写比较好,顺序写很不好, 单纯使用SSD作为数据库存储虽然效果可能非常好,在目前的$/GB的情况下, 可能还是显得不是很经济..而使用其作为二级缓存则可以充分利用其离散读性能,又可以尽可能避免其设计上的相对糟糕的写性能 , 从而达到对SSD的充分使用.

目前已经有很多伟大的公司尝试使用SSD作为二级缓存来解决传统磁盘所无法实现的对于业务高IOPS的需求..

下面是几个我所了解到的应用.

  • Facebook的工程师Paul Saab今天在MySQLFacebook发布了Facebook使用SSD作为MySQL二级缓存的信息.Releasing Flashcache
  • We built Flashcache to help us scale InnoDB/MySQL, but it was designed as a generic caching module that can be used with any application built on top of any block device. For InnoDB, when the working set does not fit in the InnoDB buffer pool, read latency is significantly improved due to caching more of the working set in faster media, such as SSD's. We also improve write performance by first caching writes in SSD's and lazily flushing the data back to disk.
    

    我们设计Flashcache来帮助我们扩展InnoDB/MySQL,但是,它实际上是一个通用缓存模块,可以基于任何块设备并使用到任何应用中去.对于InnoDB,当工作区无法装下InnoDB的缓冲池,将更多的工作区缓存到更快的媒介(例如SSD)上,可以显著的降低读延时 .我们还通过先将写缓存在SSD上,并延缓数据刷新到磁盘的时间来提高写性能.

  • Google 也设计了类似的二级缓存机制来处理InnoDB.innodb_secondary_buffer_pool
  • Enable using flash memory or solid state drive(SSD) as innodb's secondary buffer pool.
    This feature is much like flash cache in Oracle's Exadata
    
    After enable this feature, when the page was removed from the innodb buffer pool, InnoDB will move it to the flash memory or ssd storage. When InnoDB read a new page which is not in the buffer pool, it will read the secondary buffer pool first. If the page is cached in secondary buffer pool, it will not read the disk. Because the high random read performance of flash memory or ssd, this will boost the database performance.
    
    For using innodb secondary buffer pool, it is highly recommand you using 64 bit os system.
    

    使用闪存或SSD盘来作为InnoDB的二级缓冲池.
    这个功能非常类似于Oracle Exadata的闪存缓冲区.

    激活此功能,当缓存页移出InnoDB的缓冲池时,InnoDB会将其移动到闪存或SSD的存储上.当InnoDB读取一个缓冲池中找不到的页时,它会先尝试从二级缓冲池中进行读取.如果在二级缓冲池中找到此页,就不再去读取磁盘.由于闪存或SSD可以提供非常高的离散读性能,通过它可以显著提供数据库的性能.

    如果你使用InnoDB的二级缓冲池,强烈建议使用64位的操作系统.

  • Oracle 11gR2使用SSD作为Flash Cache,这一点可以参考本人翻译的Guy Harrison相关文章.
  • Sun 在2008年左右就开始使用SSD作为ZFS的二级缓存,在此就不再引述了.
  • No related posts.

    原文链接: http://item.feedsky.com/~feedsky/dbthink/~8068730/372340735/6175071/1/item.html

    -1     0

    我要给这篇文章打分:

    可以不填写评论, 而只是打分. 如果发表评论, 你可以给的分值是-5到+5, 否则, 你只能评-1, +1两种分数. 你的评论可能需要审核.

    评价列表(1)

    • -1 cc voted at 2011-08-29 20:15:27

      表示这个很无语: 顺序写很不好