facebook 开源项目 flashcache 初探【转】

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

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. 基本原理图
img_cfd640d14cf40123453763621a45ac90.jpg

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

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

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

img_e25d4fb2f8de1caf41a735ec53088516.png1113470.jpg

目录
相关文章
|
JavaScript 前端开发 测试技术
|
9月前
|
Linux 开发工具 云计算
微软收购 GitHub 后对我们有什么影响?
Git 是一款分布式代码版本控制系统,可以便捷地管理你的代码版本,高效地支持多人协作开发。
|
11月前
|
机器学习/深度学习 人工智能 搜索推荐
阿里巴巴宣布加入 Linux Foundation AI&Data 基金会,捐赠首个开源项目 DeepRec
持续加大对AI和大数据技术的投入以促进相关开源建设。
|
机器学习/深度学习 传感器 人工智能
微软Build 2018亮点全揭晓:主推Azure、Microsoft 365,开源ML.Net
微软开发者大会 Build 2018 于 7-9 日在西雅图的华盛顿会议中心举行,本文带你浏览大会第一天的核心亮点。
190 0
微软Build 2018亮点全揭晓:主推Azure、Microsoft 365,开源ML.Net
|
SQL 存储 前端开发
Facebook 在 2013 年的开源贡献
自从 Facebook 的第一行PHP代码,第一句 MySQL 的 INSERT 语句以来,开源就已经是我们工程哲学中的一个重要的部分。
173 0
Facebook 在 2013 年的开源贡献
|
机器学习/深度学习 算法 大数据
开源-开源公司-Google
Google开源软件一览(大数据和AI方向) 1. Tensorflow 官网地址:https://www.tensorflow.org/Github:https://github.com/tensorflow/tensorflow 2.
1738 0
|
前端开发
Google、Facebook、GitHub、Babel核心成员齐聚,第13届D2前端技术论坛正式启动
由阿里巴巴前端委员会举办的第13届D2前端技术论坛将于2019年1月6日在杭州举办。
3510 0
|
机器学习/深度学习 Linux Shell