作者:殳鑫鑫,花名辰石,阿里巴巴计算平台事业部EMR团队技术专家,目前从事大数据存储以及Spark相关方面的工作。
JindoFS 概述
JindoFS - 分层存储背景
JindoFS 分层主要解决客户冷热数据存储成本问题,对于大多数用户数据可以简单的分为冷数据和热数据
- 热数据:业务需要访问的数据往往是业务数据集的一部分,这种经常被访问的数据我们通常称为热数据,这部分数据在存储主要关注数据的存储性能,因此热数据主要存放在一些高性能的介质上。
- 冷数据:另外很大一部分数据很长时间内不会被访问,这部分长期不被访问的数据我们通常称为冷数据,冷数据因为很少被业务访问,在数据存储上主要考虑存储成本的问题,常见的做法如采用EC 算法代替三副本存储策略或者将数据存放在磁带或者SMR磁盘等低成本的存储介质上来降低存储成本
JindoFS 存储内部我们是通过分层存储来降低冷数据的存储成本,提高热数据的访问性能。
JindoFS - 分层存储
JindoFS 无论是Cache 模式还是Block 模式都提供数据本地备份来加速业务数据的访问,而数据的可靠性和可用性主要由后端存储OSS 提供,JindoFS 分层存储中冷数据存放主要依赖OSS 提供存储类型来提供,OSS 可以提供存储类型分为三种类型:标准存储类型,低频访问存储类型,归档存储类型。
- 标准存储类型:提供高可靠、高可用、高性能的对象存储服务,能够支持频繁的数据访问, 无数据取回费用,实时访问,毫秒延迟
- 低频存储类型:提供高可靠性、较低存储成本的对象存储服务。有最低存储时间(30天)和最小计量单位(64 KB)要求。支持数据实时访问,访问数据时会产生数据取回费用,适用于较低访问频率(平均每月访问频率1到2次)的业务场景
- 归档存储类型:提供了高可靠性、极低存储成本的对象存储服务。有最低存储时间(60天)和最小计量单位(64 KB)要求。数据需解冻(约1分钟)后访问,解冻会产生数据取回费用。适用于数据长期保存的业务场景。
JindoFS 内部可以将数据分为以下集中,热数据,温数据,冷数据,低频数据,归档数据。
JindoFS 分层存储支持存储数据在上述各种数据类型之间进行转换,用户可以根据自己业务的数据类型来确定数据的存储类型,从而为数据的存储提供一种最优的存储方案, 用户可以使用cache/uncache/archive/unarchive等命令来操作存储的文件或者目录进行数据类型转换。
结语
JindoFS 主要支持计算存储分离的场景,提供两种不同的模式支持用户不同的场景,两种模式各有优缺点,用户可以根据业务类型选用不同的模式或者同时选择两种不同模式,分层存储功能同时支持这两种模式,用户可以在性能以及存储成本方面考虑,选择不同存储类型,该功能预计会在下一个EMR主版本中发布支持。
EMR钉钉产品交流群
对开源大数据和感兴趣的同学可以加小编微信(下图二维码,备注“进群”)进入技术交流微信群。
Apache Spark技术交流社区公众号,微信扫一扫关注