云端共享文件系统 JuiceFS 在 2021 年选择开源

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 1年
对象存储 OSS,内容安全 1000 次 1年
简介: 云端共享文件系统 JuiceFS 在 2021 年选择开源

1460000038930889.png今天,云原生分布式文件系统官方公众号 Juicedata果汁数据科技发布消息称 JuiceFS 已经开源了!

开源地址:https://github.com/juicedata/...


JuiceFS 是什么


JuiceFS是基于Redis和对象存储(例如Amazon S3)构建的开源POSIX文件系统,针对云本机环境进行了设计和优化。通过使用广泛采用的Redis和S3作为持久性存储,JuiceFS可以用作无状态中间件,以使许多应用程序轻松共享数据。

突出的功能是:

  • 完全兼容POSIX:JuiceFS是完全兼容POSIX的文件系统。现有的应用程序可以使用它而无需进行任何更改。请参阅下面的pjdfstest结果。
  • 出色的性能:延迟可以低至几毫秒,并且吞吐量可以扩展到几乎无限。
  • Cloud Native:通过利用云对象存储,您可以独立扩展存储和计算,也就是分解存储和计算架构。
  • 共享:JuiceFS是一个共享文件存储,可以被许多客户端读取和写入。
  • 全局文件锁:JuiceFS支持BSD锁(flock)和POSIX记录锁(fcntl)。
  • 数据压缩:默认情况下,JuiceFS使用LZ4压缩所有数据,也可以使用Zstandard。


JuiceFS的由来


创始人刘洪清清华硕士毕业,毕业后即加入豆瓣成为早期员工,并研发了国内最早的开源 KV 存储 Beansdb 和 DPark ( Python clone of Spark );2013 年他加入 Facebook 总部负责 HDFS 方面的研发,2014 年加入 Databricks,帮助 Spark SQL 实现了上百倍的性能提升。

时值 Davies 负责为 Databricks 的存储层提速,虽然 AWS 已有相关的存储方案,但问题很多,且迟迟无法解决。于是,他提议,自研新的存储方案,系统性地解决问题。

不过,在当时的 Databricks,从架构师到管理层,几乎全部认为风险太大,无人支持 Davies 的提议。Davies 在接受TGO鲲鹏会的采访时表示说:「当时, CTO (注:Matei Zaharia,Apache Spark 作者)亲口对我说:『存储这不是我们擅长的事情,能不碰尽量不要碰。』」

在 Databricks 否决 Davies 的技术方案后,大概 Matei Zaharia 也没有想到,这个中国来的工程师颇有「美式英雄主义」精神。他不但没有放弃,反而用业余时间单枪匹马地写了个原型出来。之后,Davies 回忆道:「我找了一些朋友的公司去试用,发现效果也可以,所以我在想既然有这么不错的东西,就不能埋没它。」

2017 年,Davies 在美国远程敲定了国内的投资和早期客户,叫上当时也在创业的苏锐,共同创立了 Juicedata,并将产品命名为 JuiceFS。


为什么选择开源


刘洪清在创业之初,认为 SaaS 可以为用户提供最佳的体验,同时可以更快地迭代产品,所以决定优先把 SaaS 做好。经过 4 年的持续迭代和积累,JuiceFS 已经在几十家科技企业的大数据、AI、容器平台、归档、备份等场景中形成最佳实践, SaaS 使用量也持续快速增长,并且在过去的 2020 年首次实现了盈亏平衡。他相信找到了可持续发展的模式,有信心保障 JuiceFS 的长期运营。

他也发现闭源的基础软件会限制使用者对它的深度理解,不利于它服务更多的人,依靠 SaaS 产品的收入支撑和开源社区的力量,可以让 JuiceFS 帮助更多的人。


未来发展


最近几年,数据库领域发生了一件有趣的事情:当 NoSQL 数据库在满足了数据的快速增长后,它在一致性、访问便捷性和管理能力方面的不足逐渐显露,把这些复杂性转嫁到了业务系统和运维上,开始被人诟病。同时, SQL 数据库也有了长足的进展,已经能够满足现在的数据规模需求,经过全面的对比分析后,大家又在回归 SQL 数据库,曾经的 NoSQL 运动也逐渐显出颓势。

估计类似的事情也会发生在非结构数据领域。对象存储在媒体文件等场景取得了巨大的成功,但当人们以为它就是未来的存储形态,开始推广到更大范围时,它牺牲掉的树形目录结构、可修改性、元数据性能、一致性等等,变成了一只只拦路虎,影响它在其他场景的使用效果。


JuiceFS 坚信文件系统是最好的管理非结构化数据的方式,对象存储只适用于某些简单场景。分布式文件系统一直是基础软件中难啃的骨头,JuiceFS 通过对文件系统中元数据和数据的独立抽象,大大减低了系统复杂度,使得文件系统能够借助这些年来对象存储和分布式数据库的进展,管理超大规模的数据。同时,复杂度的降低可以让更多的开发者参与进来,未来更多的应用也会建立在文件系统接口之上。

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




相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
目录
相关文章
|
C++
C/C++给文件加crc校验
C/C++给文件加crc校验
274 1
|
Kubernetes Java Nacos
nacos常见问题之通过helm方式部署设置开启授权认证功能如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
1030 0
|
存储 固态存储 关系型数据库
性能优化特性之:16K原子写
本文介绍了在倚天实例上进行内存优化的调优特性:16K原子写 的优化原理、使用方法。
|
存储 运维 监控
阿里云对象存储 OSS 发布全球第一可用性 SLA 背后的技术体系
2020年6月,阿里云对象存储 OSS 通过十年积累的技术红利,将可用性 SLA(Service Level Agreement) 提升 10 倍,做到了全球第一的核心竞争力,是其他的云厂家的 10~20 倍,如下图所示。
2131 0
阿里云对象存储 OSS 发布全球第一可用性 SLA 背后的技术体系
|
存储 分布式计算 Kubernetes
JuiceFS-开源分布式文件系统入门(一篇就够了)
讲解JuiceFS的一些概念、架构以及实操的案例
7643 0
JuiceFS-开源分布式文件系统入门(一篇就够了)
|
前端开发 UED 开发者
uni-app:去除导航栏&跨域的问题&blobe查看图片&v-deep&页面操作 (五)
本文介绍了几个前端开发技巧:1) 如何通过设置 `navigationStyle` 为 `custom` 去除顶部导航;2) 解决跨域问题的方法,包括使用 `dotenv` 加载全局变量和配置 `devServer` 的代理;3) 使用 Blob 和 FileReader 查看图片;4) 利用 `v-deep` 深度作用选择器修改样式;5) 修改页面左上角返回按钮的行为。
467 0
|
SQL 监控 关系型数据库
多个表同时更新的SQL技巧与方法
在数据库管理中,有时需要同时对多个表进行更新操作,以满足复杂的业务需求或数据一致性要求
1266 0
|
Java 测试技术 程序员
基于SpringBoot+Vue交流和分享平台的设计与实现(源码+部署说明+演示视频+源码介绍)(2)
基于SpringBoot+Vue交流和分享平台的设计与实现(源码+部署说明+演示视频+源码介绍)
264 1
|
监控 分布式数据库 Hbase
WAL 对写入性能的直接影响
WAL 对写入性能的直接影响
|
固态存储 关系型数据库 MySQL
NVMe SSD原子写
NVMe SSD原子写
1055 0
NVMe SSD原子写