解决方案
大数据
背景与挑战
基于 Hadoop 生态的大数据分析平台是非常流行的,它内置的存储系统 HDFS 在管理和运维上要投入很多精力,增长到大数据量和大文件量的时候,社区对其扩展能力的限制和运维上的挑战已经有了共识。JuiceFS 解决了那些问题,为云而设计,为用户提供全托管服务,无需运维,在单一文件系统下可以管理百亿文件,是公有云大数据平台理想的数据存储选择。
当使用 Hadoop 的公司由机房迁移到公有云时,首要挑战就是如何迁移 HDFS 中存储的数据。通常公有云并不提供完全托管的 HDFS 解决方案,仍需要客户自己运维。此外,虽然 HDFS 是自建数据存储系统的常见选择,但它跟公有云已有的存储产品配合得并不好,无法发挥公有云的弹性优势,使得效果大打折扣。
让大数据平台直接使用对象存储也有很多问题。对象存储不是文件系统,缺乏 Hadoop 和 Spark 等计算组件严重依赖的一些特性,如数据强一致性、原子重命名等,无法保证计算任务的正确、稳定和高性能。
JuiceFS 作为基于对象存储实现的文件系统,在保持对象存储的弹性伸缩、免运维和低成本优势的同时,通过自身提供的强一致、高性能、高可用元数据服务,保障大规模数据分析任务的正确、稳定、高效地执行。
简而言之,JuiceFS 可以更快速、更省钱、更简单的处理 PB 级数据规模的生产任务。
方案
JuiceFS 与 Hadoop / Spark / Hive / HBase / Presto / Impala 等完全兼容。即可以将 JuiceFS 作为 HDFS 的补充,保存空间需求最多的冷数据。也可以用 JuiceFS 完全替代 HDFS,实现存储与计算分离,更好的利用公有云计算弹性伸缩的能力;
使用 JuiceFS 作为大数据存储有以下优势:
大幅降低存储成本
维护 HDFS 集群需要购买机器,投入人力维护。JuiceFS 则是完全托管的存储方案,你只需为存储付费,并且容量是弹性伸缩的,这也意味着不用考虑资源使用率的问题。考虑到 HDFS 通常都是 3 副本,同样的数据量,JuiceFS 可以节省约 70%。
没有 Java Full GC 带来的困扰
HDFS 是用 Java 编写的,会遇到垃圾回收带来的系统卡顿,导致整个集群在不可预知的时间内停止响应。JuiceFS 没有这样的问题。
无需持续的容量管理和扩容操作
HDFS 通常需要做持续的容量规划和管理,并持续地纵向或者横向扩容以满足不断变化的存储需求。而 JuiceFS 是完全弹性的,只需要为实际使用量付费。
无需担忧可用性
HDFS 需要持续的监控和运维操作以保证服务的高可用,JuiceFS 有专门的团队帮您解决这些问题,更高效的故障切换方案也会给可用性带来保障。
无需昂贵的第三方专业服务费用
因为 HDFS 的复杂性,很多公司会购买昂贵的第三方专业服务来保证 HDFS 的稳定运行。JuiceFS 作为全托管服务,我们会负责 JuiceFS 的可靠稳定运行。
可以跨区(Region)和公有云进行数据复制
HDFS 不支持异地数据复制,客户需要自行设计和实施其他复杂的数据复制方案,效果也非常有限。JuiceFS 允许你将数据复制到任何云的任何区域,使得你可以在两个云同时非常高效地访问同一份数据,也可以在两个公有云或者两个区之前无缝迁移计算任务。
近实时的全球数据复制能力
JuiceFS 还提供全球范围内任意公有云和区域间的近实时数据镜像,在保证数据一致性的前提下,只有秒级的数据延迟。
数据隐私保护
安装在主机中的 JuiceFS 客户端直接与对象存储通信,你的数据绝不会经过我们的服务器或第三方代理,保证数据的绝对隐私。数据复制也完全是通过你主机上的客户端完成的。
另外,相比直接将对象存储用作 HDFS 后端,JuiceFS 有以下优势:
- 数据强一致性保证;
- 性能比对象存储高数十倍以上;
- 临时查询可以直接用 Linux 命令行完成。如果数据存在对象存储中,需要先下载再使用,浪费大量时间。
人工智能
背景与挑战
人脸识别技术已经应用到各种生活场景之中,自动驾驶离我们好像也越来越近了。在人工智能到来的今天,一切的“智能”源于对海量信息的处理和分析能力,这里的信息包含千千万万中形式,有文本、图片、音频、视频、医学影像,还有来自于各种传感器采集到的数据。数据量正在指数级的增长,对我们的存储提出了新的挑战。
我们走访了很多人工智能领域的顶尖团队,看到数据存储是大家正在共同面对的挑战,尤其在图像识别、声音合成、自动驾驶等领域,要存储和处理数以十亿,甚至百亿级别的数据量。对于现有的存储系统都是巨大的挑战。
方案
JuiceFS 对机器学习场景和亿级文件规模做了针对性优化,为模型训练提供充沛的 I/O 能力。JuiceFS 使用 POSIX 接口,无需任何定制开发就能支持 TensorFlow / MXNet / Caffe / PyTorch 等机器学习框架。
在机器学习场景下,JuiceFS 具有以下优势:
- 针对亿级 inodes 优化,内存效率是现有开源存储方案的 5~10 倍。
- 有完备的缓存策略提升机器学习场景下的 I/O 负载需要。
- 无需任何定制开发、API 适配。
- POSIX 提供了直观的数据管理方式。
- 多集群之间的数据共享。
应用数据备份与恢复
背景与挑战
核心应用的数据需要经常备份,而且会基于一套完整严谨的备份策略保存较长时间段内多个版本的全量和增量备份,需要的空间通常是应用数据本身的十倍以上,比如 MySQL / MongoDB。
现在使用最多的是云硬盘。因为云硬盘只能单机访问,为多个应用实例做备份就需要维护很多磁盘,而且会遇到最大容量限制,需要做好容量规划,管理复杂。使用备份数据时,需要先找到对应的磁盘,挂载到用来恢复应用的主机上,这个过程难以自动化,运维效率难以提升。
如果上传至对象存储归档,虽然能弹性扩容,价格也便宜,但是备份 - 验证 - 恢复的流程需要很长时间。在 GitHub 2018 年数据库脑裂的事故中,大约有 8 小时花在从对象存储下载备份数据。
方案
将 JuiceFS 挂载到做备份的应用节点(比如数据库的副本节点),执行物理备份命令,将数据直接写入 JuiceFS 挂载目录。写入过程 JuiceFS 会自动压缩数据,大幅降低网络数据传输,提升速度。
还可以开启数据加密,在备份同时并行完成数据加密,保障数据隐私安全的同时,仍然保持高备份效率。
JuiceFS 支持基于目录的原子快照,可以对备份数据创建快照,然后使用快照数据启动 MySQL 实例验证备份正确性,过程中的数据基于 copy-on-write 机制修改,不会破坏原始备份。验证完成后直接删除快照即可。
日志收集与归档
背景与挑战
如今,日志已经不仅仅用在系统问题的定位上,很多用户访问相关的日志已经被广泛使用在商业智能领域,通过对日志分析和挖掘可以发现很多被忽视的重要价值,提升用户体验,增加商业价值。对日志数据的收集和归档就是迈向商业智能的第一步。
每个业务服务都会产生日志,所以日志产生是极度分散的,需要一个服务把散落在各个节点的日志收集汇总到一起做归档。在开源和商业领域,已有不少日志收集系统,但是它们的部署、维护、故障处理很复杂,需要持续投入人力运维。
同时,归档好的日志经年累月,需要很大的空间存储,一方面要能满足分析计算的性能需求,一方面成本也要经济。对象存储虽然满足弹性扩展、价格便宜的优势,但在分析、查询、管理上很不方便,性能差、人效低。
方案
JuiceFS 有多机共享的特性,又可以基于目录结构归档管理,天生适合做日志收集和归档。只需将 JuiceFS 挂载到所有产生日志的节点(可以是容器、虚拟机、物理机),利用系统自带的日志滚动机制就能完成自动改名、打包、压缩、复制到 JuiceFS 中。
使用 JuiceFS 做日志收集、归档会为你带来以下优势:
- 无需再维护收集组件,部署大量的 agent;
- 完全兼容 POSIX,没有任何学习门槛;
- 兼容 Hadoop 生态的计算框架,性能是对象存储的十倍以上;
- 查询方便,兼容所有 Linux 命令行工具;
- 弹性伸缩,容量无限,再也不需要做容量规划;
- 支持回收站,防止误删除。
数据共享
背景与挑战
NAS 是企业数据共享最普遍的方案,但是维护高可用的 NAS 非常困难。而且还要优化 NFS 网关的性能瓶颈,访问机器数量有限,明文数据传输不安全等多项问题。企业数据共享需要新一代存储产品的支持。
方案
JuiceFS 是理想的企业级 NAS 替代品。它具有高可用,弹性伸缩,加密传输 & 存储,支持上千台机器同时挂载共享数据等特性。可以完全兼容现有的应用,无需修改一行代码即可完成 JuiceFS 迁移。
使用 JuiceFS 进行数据共享有以下优势:
- 基于 Raft 协议的高可用性;
- 容量弹性伸缩,可达 10PB;
- 支持上千个客户端同时挂载,同时读写;
- 毫秒级时延,高吞吐量;
- 使用 TLS 加密传输,访问安全。
- 支持快照、回收站、完整的 Linux 权限控制。
异地灾备
背景与挑战
数据不灾备,业务两行泪。即使是 Google 的数据中心,也发生过被雷劈丢数据的事故。很多客户都忽视了异地灾备,重要数据需要在不同城市甚至不同国家之间做备份。以保证业务的安全性和连续性。
在过去的异地灾备方案中,通常需要在异地建设机房,即使使用公有云也往往需要搭建一套计算资源,用来和主要的业务中心做通信完成备份任务。人力物力的投入都是很大的,这也是异地灾备在过去一直难以实现的原因。
方案
JuiceFS 提供全自动的数据复制,可以跨服务区,跨云厂商。混合云客户也可以轻松将 IDC 中的数据通过 JuiceFS 备份上云。
使用 JuiceFS 做数据异地灾备有以下优势:
- 全自动,无需任何干预;
- 可以复制到任意可用区和公有云平台;
- TCO 大幅下降,异地只消耗对象存储,节省了大量 CPU、内存资源;
- 提供亚分钟级的中美跨大洲数据复制能力;
- 数据分块加密存储,放心备份敏感数据;
- JuiceFS 默认跨两个可用区部署,相当于同城双活,不受公有云单可用区故障影响。