- 历时四年,分布式文件系统JuiceFS正式开源
- 来源:趣味科技v
云原生分布式文件系统 JuiceFS 正式开源
1月11日,Juicedata 果汁数据科技官方账号宣布 JuiceFS 正式开源,这是一个云原生分布式文件系统,经过了四年的持续迭代和累计几千万小时的线上考验。Davies(刘洪清,Juicedata 创始人、TGO 鲲鹏会会员)在文中表示:
JuiceFS 的创新架构更符合云原生的发展趋势,我们一开始就以 SaaS 的形式将它提供给公有云的客户,让客户分钟级就可以获得 PB 级企业文件存储服务。同时,我们也和行业优秀的对象存储厂商一起服务私有云客户。
2020年2月份,Davies 曾在接受 TGO 采访时聊起了一路创办 Juicedata 的故事。Davies 在清华硕士毕业后即加入豆瓣成为早期员工,并研发了国内最早的开源 KV 存储 Beansdb 和 DPark ( Python clone of Spark );2013年他加入 Facebook 总部负责 HDFS 方面的研发,2014年加入 Databricks,帮助 Spark SQL 实现了上百倍的性能提升。2017年,似乎是顺利成章,在大数据领域摸爬滚打了近十年的 Davies,开始了与几个伙伴的创业之旅。
“创业太艰难了,对一个团队的要求太全面了。你不能犯任何错误,要竭尽全力,然后要借助所有可能借助的力量,还要借助偶然的机遇才可能成功……(我)觉得这个事情是非常难的,还是不要创业。”
话虽如此,但创业似乎对 Davies 有种奇妙的吸引力。
在他长达13年的职业生涯中,居然有近12年身在创业企业。2016年,正是在硅谷创业企业 Databricks 任职期间,他萌生了创业的想法。
时值 Davies 负责为 Databricks 的存储层提速,虽然 AWS 已有相关的存储方案,但问题很多,且迟迟无法解决。于是,他提议,自研新的存储方案,系统性地解决问题。
不过,在当时的 Databricks,从架构师到管理层,几乎全部认为风险太大,无人支持 Davies 的提议。Davies 说:“当时, CTO (注:Matei Zaharia,Apache Spark 作者)亲口对我说:‘存储这不是我们擅长的事情,能不碰尽量不要碰。’“
在 Databricks 否决 Davies 的技术方案后,大概 Matei Zaharia 也没有想到,这个中国来的工程师颇有“美式英雄主义”精神。他不但没有放弃,反而用业余时间单枪匹马地写了个原型出来。之后,Davies 回忆道:“我找了一些朋友的公司去试用,发现效果也可以,所以我在想既然有这么不错的东西,就不能埋没它。”
2017年,Davies 在美国远程敲定了国内的投资和早期客户,叫上当时也在创业的苏锐,共同创立了 Juicedata,并将产品命名为 JuiceFS。
经过了四年的历练,整个团队最终决定将 JuiceFS 正式开源。Davies 表示:在创业之初,我们认为 SaaS 可以为用户提供最佳的体验,同时让我们更快地迭代产品,决定优先把 SaaS 做好。经过4年的持续迭代和积累,JuiceFS 已经在几十家科技企业的大数据、AI、容器平台、归档、备份等场景中形成最佳实践, SaaS 使用量也持续快速增长,并且在过去的2020年首次实现了盈亏平衡。我们相信找到了可持续发展的模式,有信心保障 JuiceFS 的长期运营。
此外,Davies 等人也发现闭源的基础软件会限制使用者对它的深度理解,不利于服务更多人,依靠 SaaS 产品的收入支撑和开源社区的力量或许可以让 JuiceFS 走得更远。
为什么我们需要新的文件系统?
文件系统是计算机中一个非常重要的组件,为存储设备提供一致的访问和管理方式。在不同的操作系统中,文件系统会有一些差别,但也有一些共性几十年都没怎么变化:
• 数据是以文件的形式存在,提供 Open、Read、Write、Seek、Close 等API 进行访问;
• 文件以树形目录进行组织,提供原子的重命名(Rename)操作改变文件或者目录的位置。
文件系统提供的访问和管理方法支撑了绝大部分的计算机应用,Unix 的“万物皆文件”的理念更是凸显了它的重要地位。文件系统的复杂性使得它的可扩展性未能跟得上互联网的高速发展,极大简化了的对象存储及时填补了空缺得以快速发展起来。因为对象存储缺乏树状结构也不支持原子重命名操作,跟文件系统有很大的差别,本文暂不讨论。
绝大多数文件系统都是单机的,在单机操作系统内为一个或者多个存储设备提供访问和管理。随着互联网的高速发展,单机文件系统面临很多的挑战:
• 共享:无法同时为分布在多个机器中的应用提供访问,于是有了 NFS 协议,可以将单机文件系统通过网络的方式同时提供给多个机器访问。
• 容量:无法提供足够空间来存储数据,数据只好分散在多个隔离的单机文件系统里。
• 性能:无法满足某些应用需要非常高的读写性能要求,应用只好做逻辑拆分同时读写多个文件系统。
• 可靠性:受限于单个机器的可靠性,机器故障可能导致数据丢失。
• 可用性:受限于单个操作系统的可用性,故障或者重启等运维操作会导致不可用。
• 随着互联网的高速发展,这些问题变得日益突出,涌现出了一些分布式文件系统来应对这些挑战。
如今,我们耳熟能详的分布式文件系统有 GlusterFS、CephFS、GFS 以及 HDFS 等,每种方案各有优劣,JuiceFS 与这些相比的差异性在于更加适合云原生的环境。
具体而言,GFS、HDFS 和 MooseFS 都是针对自建机房这种软硬件环境设计的,将数据的可靠性和节点可用性合在一起用多机多副本的方式解决。但是在公有云或者私有云的虚拟机里,块设备已经是具有三副本可靠性设计的虚拟块设备,如果再通过多机多副本的方式来做,会导致数据的成本居高不下(实际上是9个拷贝)。
于是,整个团队针对公有云,改进 HDFS 和 MooseFS 的架构,设计了 JuiceFS,架构如下图所示:
JuiceFS 使用公有云中已有的对象存储来替换 DataNode 和 ChunkServer,实现一个完全弹性的 Serverless 的存储系统。公有云的对象存储已经很好地解决了大规模数据的安全高效存储,JuiceFS 只需要专注元数据的管理,也大大降低了元数据服务的复杂度(GFS 和 MooseFS 的 master 要同时解决元数据的存储和数据块的健康管理)。团队也对元数据部分做了很多改进,从一开始就实现了基于 Raft 的高可用。要真正提供一个高可用高性能的服务,元数据的管理和运维仍然是很有挑战的,元数据是以服务的形式提供给用户。因为 POSIX 文件系统 API 是应用最最广泛的 API,团队基于 FUSE 实现了高度 POSIX 兼容的客户端,用户可以通过一个命令行工具把 JuiceFS 挂载到 Linux 或者 macOS 中,像本地文件系统一样快速访问。
上图中右边虚线部分是负责数据存储和访问的部分,涉及用户的数据隐私,它们是完全在客户自己的账号和网络环境中,不会跟元数据服务接触。Juicedata 没有任何方法接触到客户的内容(元数据除外,请不要把敏感内容放到文件名里)。
上图中蓝色项目主要是给大数据场景使用的,实现的是 POSIX 的子集,而绿色的则是 POSIX 兼容的文件系统。
他们中以 GFS 为代表的元数据和数据分离的系统设计能够有效平衡系统的复杂度,有效解决大规模数据的存储问题(通常也都是大文件),有更好的可扩展性。这个架构下支持元数据的分布式存储的 Colossus 和 WarmStorage 更是具有无限的可扩展能力。
JuiceFS 作为后来者,学习了 MooseFS 实现分布式 POSIX 文件系统的方式,也学习了 Facebook 的 WarmStorage 等元数据和数据彻底分开的思路,希望为公有云或者私有云等场景下提供最好的分布式存储体验。JuiceFS 通过将数据存储到对象存储的方式,有效避免了使用以上分布式文件系统时的双层冗余(块存储的冗余和分布式系统的多机冗余)导致的成本过高问题。JuiceFS 还支持所有的公有云,不用担心某个云服务锁定,还能平滑地在公有云或者区之间迁移数据。
为开源做好准备,架构再升级
借助对象存储的帮助,JuiceFS 已经大大降低了分布式文件系统的复杂度,元数据管理是它最核心的问题。JuiceFS 的 SaaS 使用的元数据引擎,是专为文件系统打造的数据库,整个团队已经积累了丰富的运维经验,仍然如履薄冰。如果开源的话,让社区用户自己运维仍然会是一个大的挑战和负担,一旦运维失误导致数据丢失,后果非常严重。
带着这个问题,团队将元数据服务改造为支持多引擎的插件式架构,可以利用已有的开源数据库实现元数据存储。这样可以更灵活地适应不同场景,根据场景的规模、性能和成本需求,选用不同的元数据实现。这是 JuiceFS 的架构再升级,为未来的发展翻开新的篇章。
至于为什么选用 Redis 作为第一个开源存储引擎,是因为该引擎:
• 是全内存的,可以满足元数据的低延时和高 IOPS 要求;
• 支持乐观事务,能够满足文件系统元数据操作的原子性要求;
• 有丰富的数据结构,易于实现文件系统的诸多 API;
• 有着非常广泛的社区和成熟的生态,运维 Redis 不会是一个问题;
• 在各个云上都有托管的服务,在云上使用会更简单;
未来,团队还会增加 SQL 数据库、TiKV 等支持事务的 KV 数据库支持。
未来规划
最近几年,数据库领域发生了一件有趣的事情:当 NoSQL 数据库在满足了数据的快速增长后,它在一致性、访问便捷性和管理能力方面的不足逐渐显露,把这些复杂性转嫁到了业务系统和运维上,开始被人诟病。同时, SQL 数据库也有了长足的进展,已经能够满足现在的数据规模需求,经过全面的对比分析后,大家又在回归 SQL 数据库,曾经的 NoSQL 运动也逐渐显出颓势。
估计类似的事情也会发生在非结构数据领域。对象存储在媒体文件等场景取得了巨大的成功,但当人们以为它就是未来的存储形态,开始推广到更大范围时,它牺牲掉的树形目录结构、可修改性、元数据性能、一致性等等,变成了一只只拦路虎,影响它在其他场景的使用效果。
团队坚信文件系统是最好的管理非结构化数据的方式,对象存储只适用于某些简单场景。分布式文件系统一直是基础软件中难啃的骨头,JuiceFS 通过对文件系统中元数据和数据的独立抽象,大大减低了系统复杂度,使得文件系统能够借助这些年来对象存储和分布式数据库的进展,管理超大规模的数据。同时,复杂度的降低可以让更多的开发者参与进来,未来更多的应用也会建立在文件系统接口之上。
团队将通过开源社区的相互协作,一方面为各个应用提供更好的存储支持,也会在底层存储引擎和对象存储上加深协作,一起推动文件存储的快速发展,打造未来数据生态的坚实底座。
科技
-
-
- 线下展会,市民畅享科技大餐
- 5月28日,是2021中国国际大数据产业博览会线下展最后一天,也是免费向市民开放的公众日。趁此机会,记者继续带您探秘国际综合馆(W1馆)、数字应用馆(W2馆)、前沿技术馆(E1馆)、智慧产业馆(E2馆)4...
- 贵阳晚报
-
-
-
- 为何新药研发、基因测序、卫星遥感的发展提速都需要它?
- 人类第一次完整全基因组的测序花了13年,在新技术的加持下,这个时间已经降低到1天以内;没有这项新技术加持,电影《阿凡达》的渲染可能需要上万年;这项新技术还让新药的研发周期大幅缩短,让卫星遥感定位精度...
- 华为
-
-
-
- 大型金属3D打印厂商钢研极光亮相TCT,展示强大的生产服务能力
- 2021亚洲3D打印、增材制造展览会 (TCT Asia)于2021年5月26日-28日在国家会展中心(上海)7.1馆隆重举办。作为官方战略合作媒体,南极熊将会全程现场报道(地址https://www.nanjixiong.com/foru
- 南极熊3D打印
-
-
-
- 美国国家情报委员会《全球趋势2040——竞争更激烈的世界》报告摘译
- 2021年3月,美国国家情报委员会(NIC)发布了每四年一度的全球趋势预测报告《全球趋势2040——竞争更激烈的世界》。NIC是美国最高层级的战略情报机构,该委员会的成员均为来自政府、学术界和私营部门的高级专家...
- 全球技术地图
-
-
-
- 数字让监管更加智慧 上交所成功举办首届全行业技术大会
- 5月28日,上交所成功举办主题为“数字赋能,守正创新”的首届全行业技术大会。中国证监会副主席赵争平出席大会并致辞指出,证监会高度重视资本市场科技化转型与发展,确定了“数字让监管更加智慧”的愿景。...
- 上海证券报
-
-
-
- 湾区智行||中科创达赵鸿飞:汽车“新物种”需要共通的操作系统|中国汽车报
- “我是谁?我来自哪里?我要到哪里去?”这是哲学史上永恒的三大命题,同样也是我们甚至是企业需要不断思考的问题。此次采访对象——中科创达软件股份有限公司就是一家勤于思考、擅于思考的企业。这家企业在不断...
- 中国汽车报
-
-
-
- 广电总局表彰虚拟现实视频、超高清视频等5类96个优秀项目!
- 广电总局共评选出互动视频、沉浸式视频、虚拟现实视频、云游戏、超高清视频等5类96个优秀项目,分获一、二、三等奖和优秀奖,包括《中央广播电视总台5G+VR融合制播系统——春节联欢晚会 (2017- 2021)节目VR制作...
- 广电头条
-
-
-
- 占据市场最新赛道,“中国制造”机器人迎来爆发期
- 【环球时报记者 邢晓婧 杨沙沙】配餐机器人、迎宾机器人、扫地机器人……不知不觉间,中国老百姓对出现在餐馆、医院、火车站、养老院等场景的机器人逐渐习以为常,甚至家中也出现扫地、娱乐等家用机器人。有统计...
- 环球网
-
-
-
- 最受关注展项出炉,2021年北京科技周闭幕不落幕!
- 5月28日下午,2021年北京科技周闭幕式在中关村国家自主创新示范区展示中心举行。北京市科委、中关村管委会相关负责人介绍了本届北京科技周举办情况以及最受关注的展项。市科委、中关村管委会二级巡视员王建新出...
- 科普北京
-
-
-
- 魔高一尺,道高一丈:上交所VPN攻防札记
- 本文选自《交易技术前沿》总第四十二期文章(2020年12月)谢毅 / 上海证券交易所 yxie@sse.com.cn相晓辉 / 上海证券交易所 xhxiang@sse.com.cn虚拟专用网络(以下简称“VPN”)系统、互联网业务系统、外网
- Android编程精选
-
-
-
- 绿色召集令——聚力创赢,共赴绿色能源新征程!
- 申耀的科技观察读懂科技,赢取未来!申耀的科技观察,由科技与汽车跨界自媒体人申斯基创办,18年企业级科技媒体工作经验,专注企业数字化、产业智能化、智慧城市、汽车科技内容的观察和思考。
- 申耀的科技观察
-
-
-
- 汉朔科技和微软(中国)联合推动 IoT+AI 赋能全球零售
- (本文阅读时间:4分钟)2021年5月20日,全球领先的零售数字化解决方案供应商汉朔与微软(中国)在北京举行战略合作备忘录签约仪式,以进一步推动其在零售行业的全球布局和数字化战略。根据战略合作备忘录,汉朔...
- 微软科技
-
-
-
- 关于安全访问服务边缘(SASE),你需要知道的事情
- 在企业纷纷拥抱数字业务的过程中,由于边缘计算、云服务、混合网络的逐渐兴起,使得本就漏洞百出的传统网络安全架构更加岌岌可危,而且远远无法满足企业数字业务的需要。为了应对这种情况,一个全新的模型——安...
- FreeBuf
-
-
-
- [报告]2021年中国新能源汽车行业洞察(附44页PDF文件下载)
- 新能源车大势将至,造车新势力差异化突围。以下为报告节选:......文│Mob研究院本报告共计:44页。如欲获取完整版PDF文件,请扫描下方二维码加入“车友圈”获取。#重磅推荐#需要批量下载和及时更新最新汽车行业...
- 汽车之地
-