Facebook升级了Flashcache开源工具,让管理员从配置了PCIe闪存卡的廉价磁盘阵列中获得更高性能。
Flashcache工具现在升级到了3.0版本。该工具让Facebook利用PCIe闪存卡上的高性能缓存加速访问重要数据,不需要花费高昂的成本使用全闪存阵列。
Flashcache是一项回写块缓存技术,被部署为一个Linux内核设备映射的目标,使得将通用系统用于应对高流量应用成为一件简单的事情。
企业级闪存加上大规模阵列也许对那些希望构建多TB、需要网络访问延迟系统的人来说是有吸引力的,它不需要重写软件以发挥其优点,因此在少数几台设备上的投资要远远低于把所有东西都放在全闪存上的投资,Facebook公司数据工程师Mituzas这样表示。
Flashcache 3.0提供了更好的读写分布,调节了磁盘和闪存的容量大小,将热数据更多地分散到闪存上,从而避免遇到瓶颈。Facebook还修改了它的闪存回收和写效率技术,提供更加可预见的性能。
尽管最初是针对Facebook自己使用而设计的,但是这项开源技术已经得到了来自社区的广泛青睐。Facebook数据工程师Domas Mituzas表示:“我们看到了社区方面围绕Flashcache所做的努力——邮件列表、开源代码提交、在数据库领域的咨询公司也开始提供对Flashcache的支持。”
Flashcache技术开发的下一个领域包括元数据重建以更有效地加速数据访问,确保不会向缓存过量写入,从而避免底层基础设施被排队写入操作所淹没。
Mituzas解释说:“最后当我们拥有数TB缓存、每台设备数十TB数据的时候,我们需要谨慎地平衡内存和CPU的使用。CPU更高效的算法将需要更高的成本。例如,增加更多元数据条目的指针或者时间标记,如果使用2TB缓存,一个系统页就需要4GB的RAM……因为应用程序可以很好地利用它。”
但是值得注意的是,Facebook的工具并非适合所有人,因为在实现完全集成的自建堆栈之前,你需要具备一定的专业技术和规模。
Mituzas表示:“从昂贵的技术转换到廉价的技术,这需要大量的软件相关的工作——这在大规模范围内来讲会节约很多成本,另一方面,就需要更强大的存储设备,这样就能在以存储为主导的系统设计方面走得更快。”