Flachcache初探

2010-09-27  |  11:38分类:Linux,MySQL  |  标签:  |  

Flashcache是Facebook技术团队的又一力作,最初是为加速MySQL设计的。Flashcache是在Linux层面的,所以任何受磁盘IO困绕的软件或应用都可以方便的使用之。

1. Why Flashcache

随着时间的流逝,网站上的数据一直在不停的积累。如果你经营的只是一个博客的话,这不会是问题,因为10G的空间,大概就够你写一辈子了(如果放在硬盘上,其实一辈子很短)。如果你恰巧在一个快速增长的公司,数据会越来越多,从MB,到GB,再到TB。

如果将这些数据全部放在大容量的SATA、SAS盘上时,会发现性能(响应时间)不够;如果全放在SSD上时,又会发现成本很高。即使公司能够大气到都放到SSD上,你会发现1TB的数据里面可能只有200G是经常被访问的,300G可能偶尔被访问到,最后剩下的500G可能已经成为历史数据了,几乎不被访问到,如果全部都放在SSD上有略有浪费。于是就有了Flashcache

Flashcache一个非常不错的软件(准确的说是一个Linux的模块),可以动态加载。Flashcache通过在文件系统(VFS)和设备驱动之间新增了一次缓存层,来实现对热门的缓存。Flashcache是另一种缓存,一般用SSD作为介质的缓存(一般的缓存用的是内存),通过将传统硬盘上的热门数据缓存到SSD上,然后利用SSD优秀的读性能,来加速系统。这个方法较之内存缓存,没有内存快,但是空间可以比内存大很多。

本文是一个关于Flashcache的初步介绍。

2. 谁适合用Flashcache

数据量很大(例如4TB),热门数据也很大(800GB),不必要或者不舍得全部买内存来缓存。

3. 谁适合用Flashcache

数据量不大的话,一般Flashcache就没什么用武之地了,内存就可以帮你解决问题了;

不差钱,买内存呗;

另外Flashcache的加入也使得系统的复杂度增加了一层,如果你坚持KISS原则(Keep it simple, Stupid!),也可以弃用之。

4. 基本原理图

Flashcache_orczhou

上图中,Flashcache将普通的SAS盘(/dev/sda)和一个高速的SSD(/dev/sdb)虚拟成一个带缓存的块设备(/dev/mapper/cachedev)。后续还将会有更多关于Flashcache相关的文章出现,敬请期待。

5. Flashcache是否只是一个过渡产品

对于当前,PCI接口的SSD价格还十分昂贵,而随着时间的推移,价格会降;另外,根据摩尔定律,未来会有更快的设备出现,所以Flashcache是一个“持久的”产品,还只是一个过渡软件,这并不好说。

关注未来新技术的发展吧:)

参考:

1. Facebook / Flashcache

2. Releasing Flashcache of Facebook

3. flashcache-doc.txt

PS:写完整篇文章,最大的收获是:发现人的一生其实很短、很短,可能连1GB都不到。

喜欢本文,那就收藏到:

9条评论 关于 “Flachcache初探”

  1. Joel 发表于: 九月 29th, 2010 02:56

    基本原理图应该把file system和VFS互换一下位置才对

  2. Joel 发表于: 九月 29th, 2010 02:59

    啊哦,对不起,记错了,图片是正确的,小白了。。。

  3. P.Linux 发表于: 九月 30th, 2010 16:52

    在RHEL 5.4下还没编译成功这个模块
    Device Mapper的头文件默认不在RH里,也没有Devel包
    得通过下载完整内核来提取dm*.h了

  4. admin 发表于: 十月 1st, 2010 05:36

    5.4下编译一定要注意这个文件:README-CentOS5.4! 我再5.4下编译并没有问题

  5. Flashcace安装 How-to - 一个故事@MySQL DBA 发表于: 十月 8th, 2010 18:28

    [...] Flashcace安装 How-to 2010-10-8  |  18:28分类:Linux,MySQL  |  标签:Flashcache、Linux  |  1 views Flashcache的安装在其README和README-CentOS5.4已经有一个很详细的说明了,但是实际操作并不是很顺利,而且有些同事表示在编译过程中仍遇到了一些问题,这里详细的记录一下自己的编译、安装过程。 1. 环境说明 [...]

  6. Taobao DBA Team » Flashcace安装 How-to 发表于: 十月 9th, 2010 08:26

    [...] Flashcache的安装在其README和README-CentOS5.4已经有一个很详细的说明了,但是实际操作并不是很顺利,而且有些同事表示在编译过程中仍遇到了一些问题,这里详细的记录一下自己的编译、安装过程。 1. 环境说明 [...]

  7. Flashcache配置 - 一个故事@MySQL DBA 发表于: 十一月 12th, 2010 00:14

    [...] Flashcache配置 2010-11-12  |  00:14分类:Linux,MySQL  |  标签:Flashcache  |  1 views 前面写了两篇文章,分别介绍了Flashcache的基本原理和编译安装,本文介绍一下Flashcache的配置。 [...]

  8. Flashcache新版重大变化 | Erlang非业余研究 发表于: 七月 21st, 2011 10:49

    [...] ppt 如何使用,或者参考我们的dba写的详细使用和配置,见 这里, 这里, [...]

  9. mroff 发表于: 九月 2nd, 2013 10:04

    10年的文章,内容稍微有点老。


发表您的评论