FastCFS 是一款基于块存储的通用分布式文件系统,可以作为MySQL、PostgresSQL、Oracle等数据库和私有云的后端存储。
已经有了比较受欢迎的FastDFS,为啥还要研发FastCFS呢?FastDFS是轻量级的对象存储,只能通过专有API访问,为互联网应用量身定制,适合存放图片、视频、文档等等;而FastCFS是通用的分布式文件系统,可以mount到本机通过标准文件接口访问,为云平台量身定制,完全支持数据库。一句话总结:FastCFS是云原生分布式文件系统,保证数据强一致,比FastDFS更加通用和可靠。
为什么业界没有使用分布式文件系统跑数据库的惯例呢?我认为主要原因是现有分布式文件系统要么不支持数据库,要么支持得不好。因为数据库是IO密集型软件,对IO性能要求很高,并且对数据一致性要求非常严苛。FastCFS在保证数据强一致的前提下,同时做到了高性能,完全满足数据库对IO性能和数据一致性的严格要求。软件本身不应该成为系统的性能瓶颈,这是我奉行的原则并一直为之实践。若有朋友发现FastCFS在高端服务器上性能发挥不出来,欢迎来找我(tiguan)。分布式系统保证数据一致性的同时要做到高性能,挑战非常大,FastCFS是如何做到的呢?总结为两个关键词是简单高效和原生实现,后续会有文章介绍。
FastCFS完全自主研发(原生实现),除了依赖libfuse实现文件挂载外,不依赖任何第三方软件。FastCFS依赖的基础库libfastcommon来自FastDFS,目前非常成熟和稳定。
FastCFS 3人小团队历经11个月的研发,2020年11月份推出第一个可用版本,MySQL、PostgresSQL和Oracle可以跑通。
FastCFS目前团队有6人,当前版本为v2.1.0,k8s CSI驱动即将发布,欢迎大家测试和使用。