零零客微文大全00ke.net

  • 历时四年,分布式文件系统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 通过对文件系统中元数据和数据的独立抽象,大大减低了系统复杂度,使得文件系统能够借助这些年来对象存储和分布式数据库的进展,管理超大规模的数据。同时,复杂度的降低可以让更多的开发者参与进来,未来更多的应用也会建立在文件系统接口之上。


团队将通过开源社区的相互协作,一方面为各个应用提供更好的存储支持,也会在底层存储引擎和对象存储上加深协作,一起推动文件存储的快速发展,打造未来数据生态的坚实底座。

科技

  • ZB时代,企业如何为数据“场景化”定制存储?
    ZB时代,企业如何为数据“场景化”定制存储?
    关键讯息,D1时间送达!2020年新冠疫情席卷全球,使各国经济受到巨大打击,然而数字经济表现出了极大的韧性与顽强的生命力。数字经济加速推进5G、人工智能(AI)、物联网等相关技术在各行业的快速发展,数据已成为...
    企业网D1net
  • 花粉年会上,华为HMS透露出了哪些新消息?
    花粉年会上,华为HMS透露出了哪些新消息?
    2021年华为智慧全场景走向“关键时速”,HMS可谓是重中之重。作 者 丨 宿艺编 辑 丨 子淇1月23日举行的“2020华为花粉年会”,HMS成为花粉与华为用户关注的一大“关键词”。一方面,华为HMS月活用户超过5.8亿,H...
    壹观察
  • 删数据,还要删AI模型:美国科技公司遭遇最严厉隐私泄露处罚
    删数据,还要删AI模型:美国科技公司遭遇最严厉隐私泄露处罚
    机器之心报道编辑:张倩、泽南「想象一下 Facebook 或 Google 这样的公司被要求删除其类似算法会是什么结果。可能最后删得核心模型都不剩了。」近日,美国联邦贸易委员会(Federal Trade Commission ,FTC)公
    机器之心
  • 史炜:关于通信业网业分离的几点看法
    史炜:关于通信业网业分离的几点看法
    【摘要】只有充分考虑这些问题,不是为了改革而改革,才是真正的科学态度。| 科 | 技 | 杂 | 谈 |中国通信行业第一自媒体本文作者:史炜本文来源:史炜产业规划工作室杂谈投稿邮箱:631255063@qq.com网业分离是...
    科技杂谈
  • 3D打印房屋改变经济适用房?建筑成本降低40%、速度提高1倍,Mighty Bu
    3D打印房屋改变经济适用房?建筑成本降低40%、速度提高1倍,Mighty Bu
    南极熊导读:这个新的建筑3D打印技术,用在经济适用房领域,可能是个好点子,如果地价不贵的话。在美国,建筑3D打印房子,有可能帮助解决住房危机。Mighty Buildings 是一家3D建筑公司,成立于2017年,总部位于...
    南极熊3D打印
  • 5G+4K/8K+VR,这样的“尖叫之夜”请多来几场
    5G+4K/8K+VR,这样的“尖叫之夜”请多来几场
    1月15日,2021年爱奇艺“尖叫之夜”揭开面纱。用手机打开爱奇艺APP看到的晚会,是由一个主视觉、三个可切换场景构成的多机位高清视频直播。观众仿佛坐进了导播间,可以看到舞台、后台区、等候区、戏剧区。2020年...
    中国电子报
  • 应用宝,vivo、华为应用商店等被工信部通报,因侵害用户权益!
    应用宝,vivo、华为应用商店等被工信部通报,因侵害用户权益!
    22日,工信部通报今年首批157款侵害用户权益行为APP。通报称,依据《网络安全法》《电信条例》《电信和互联网用户个人信息保护规定》等法律法规,按照《关于开展纵深推进APP侵害用户权益专项整治行动的通知》(...
    新华社
  • 牛聘|2020年度岗位招聘第17期
    牛聘|2020年度岗位招聘第17期
    牛聘是安全牛旗下的垂直招聘平台,为了帮助安全牛会员企业更好的解决用人的需求,牛聘每周六陆续发布会员企业的招聘信息,发布顺序根据会员企业招聘信息提交时间和用人紧迫程度综合而定,本次发布2020年度岗位招...
    安全牛
  • 五个“注重”集聚科技型人才
    五个“注重”集聚科技型人才
      本报讯 1月20日,记者从观山湖区科学技术局获悉,该局积极探索激励科技人才的工作模式,为创新创业人才提供服务支撑,通过五个“注重”集聚科技型人才。目前,全区已引进科技人才400余人。  注重科技人才...
    贵阳晚报
  • 雾芯科技登陆纽交所:大涨146%市值458亿美元
    雾芯科技登陆纽交所:大涨146%市值458亿美元
    雷帝网 乐天 1月23日报道RLX科技(又称:“雾芯科技”)昨日在纽交所挂牌上市,股票代码为“RLX”。IPO的最终定价为12美元/ADS,融资额为14亿美元。RLX科技开盘价为22.34美元,较发行价上涨86%;此后,股价进一...
    雷帝触网
  • 聊聊供应链安全:建议与方法
    聊聊供应链安全:建议与方法
    上篇介绍了供应链安全的政策和问题,本篇会针对这些问题讨论相关建议和应对方法。聊聊供应链安全:政策与问题建议方法供应链就是以合适的价格、地点和时间为顾客提供他们需要的资源。供应链安全是一个多学科的问...
    FreeBuf
  • [报告]欧阳明高:面向碳中和的新能源汽车创新与发展(附36页PDF文件下载)
    [报告]欧阳明高:面向碳中和的新能源汽车创新与发展(附36页PDF文件下载)
    1月15-17日,以“新发展格局与汽车产业变革”为主题的2021中国电动汽车百人会论坛在北京举行。活动现场,中国电动汽车百人会副理事长、中国科学院院士欧阳明高发表了演讲。主要观点如下:1. 第四次工业革命我个...
    汽车之地
  • 提高数据中心运营弹性的七个要点
    提高数据中心运营弹性的七个要点
    关键讯息,D1时间送达!本文叙述了帮助数据中心运营商成功满足“新常态”要求的7种适应性措施。实施这些措施可以帮助数据中心所有者和运营商增强整体运营弹性,提高用户的舒适度和负载安全性,并使工作习惯与不...
    企业网D1net
  • 7点见|微信8.0版本更新;蚂蚁集团估值暴跌至1080亿美元
    7点见|微信8.0版本更新;蚂蚁集团估值暴跌至1080亿美元
    各位小伙伴早上好呀! 以下是今天的早报!微信8.0大更新:新增状态栏,优化浮窗样式等1月21日消息,据微信透露,微信8.0新版本优化了浮窗样式,新增支持历史浏览内容、支持聊天和朋友圈图片文字提取等能力。据悉...
    腾讯科技
  • [报告]2021中国商用车后市场白皮书(附18页PDF文件下载)
    [报告]2021中国商用车后市场白皮书(附18页PDF文件下载)
    近日,罗兰贝格发布《中国商用车后市场白皮书》,本次报告共分为是三个部分,分别介绍车辆配套服务如何创新升级,拓展业务纵深;如何围绕物流、司机运营增值,立体化服务以及后市场业务如何创新,分享五大新要求...
    汽车之地
1 2 3 4 5 >> 

公众号 • 趣味科技v

  • 趣味科技v微信号 : funnytechnology
  • 资深媒体人彭承文和他的小伙伴们耕耘打理的科技自媒体,点评趣味文字,八卦前卫科技,年度十大媒体人,十佳科技自媒体,美通社媒体传播专家,平昌冬奥会火炬手。商务合作请联系Weixin:249803062
  • 手机微信扫描上方二维码进行订阅
Flag Counter