乐趣区

新版-UFile-上线ZB-时代的量贩式对象存储

随着 5G+IoT 时代来临,产生数据的主角除了人类还有海量的物理设备,相比 4G 移动互联网的短视频、直播等,会有更大量的数据产生。据 IDC 发布的《数据时代 2025》的预测,全球每年产生的数据将从 2018 年的 33ZB 增长到 2025 年的 175ZB,每年新增约 20ZB,如果使用 8T 的磁盘,只保存一份副本,每年需要 25 亿块磁盘,数亿台主机。

这些数据大多以视频、图片、文本等非结构化形式存在,并需要妥善保存以做后续利用。为此,数据的存储载体需要具备随时随地上传、安全、可扩展以及低成本的特性。目前, 对象存储是这些海量非结构化数据最好的存储载体。

UFile:做 Costco 式的对象存储

UFile 是 UCloud 2015 年推出的对象存储产品。过去一年间,UFile 从整体上做了一次较大升级,推出不少功能特性和优化,更好地满足用户对海量非结构化数据的需求。这一过程中,UFile 将其产品理念概括为“成为 Costco 式的存储”,为什么是 Costco 式的?


图:UFile 控制台界面

前段时间量贩式仓储会员店 Costco 在国内火爆开业,在一个既不缺线下商超、同时线上电商更是遍地开花,市场竞争异常激烈的中国市场,Costco 靠什么去切入用户?雷军是这么评价 Costco 的:“Costco 这么多年所向披靡的最重要原因就是抓住了其存在的本质,商品做到极好,价格做到极低,服务做到超预期。”

这个理念也同样适用于对象存储领域,UFile 把用户最本质的需求概括为 3 点:极高的可靠性和性能、极低的成本以及极优的体验。

对象存储的三个典型案例

在介绍 UFile 之前,我们先来看看 AI、大数据和 IoT 场景下的 3 个案例:

1

某传统金属件加工企业原本有这样一项业务:员工人力摘捡不合格产品。现在,该项业务转变为拍照取证+AI 智能检测的方式,相较之前大大节省了企业的人力投入成本,并降低了人工检测的误差。同时也产生了一项新需求: 所有图片数据需保存 25 年以供后续质保检验。

用户的需求:如何保证数据长时间存储的高可靠需求?

2

某大数据分析企业积攒了数个 PB 的大数据,在完成分析后这些数据的访问量降到较低,但在一段时间内仍需存储保留原始数据或者分析后的中间数据。 对企业来讲,这数 PB 的数据存储将会是一笔不小的开销。

用户的需求:如何实现海量数据的低成本存储需求?

3

某城市地铁每天停运后都需要人工沿地铁进行检修,效率较低且需要大量人力的投入。因此计划引入 IoT 技术:在地铁中部署一些传感器,检测地铁的声音、温度、图像、视频等, 数据使用 4G 网络随时随地上传到云端存储,解决人力工作成本并提高检修效率。

用户的需求:这些分散在地下各处的传感器如何方便、安全、低延时的进行数据的上传?

我们总结了这三个案例的关键字:高可靠、低成本、使用体验,下面我们来详细介绍 UFile 在这三方面所做的工作。

一、数据高可靠

1、多副本 + 同构的冗余机制

首先,UFile 采用 3 副本和纠删码技术,可以确保数据在两块磁盘损坏的时候数据不丢失。不同于类似 Ceph 异构的数据分布技术,UFile 3 副本技术采用同构的数据分布方式,这种同构的数据分布可以保证数据更高的可靠性。

图:同构与异构数据分布对比

从上图可知,同构情况下只有集群 a 或者 b 同时损坏 2 种丢失数据的可能情况,而在异构结构下有 6 种丢失数据的组合情况,同构的可靠性显然更高。

2、跨地域的数据灾备

UFile 是一个地域级别的存储产品,为了更好的提供数据灾备能力,UFile 今年推出了跨地域的灾备功能:支持 3 个及以上的地域复制,复制方式包括链式结构(A->B->C)与技术实现更复杂的环式结构(A->B->C->A)。环状结构的优点是能够支持更多地域的读写,并满足就近读写业务的需求。

图:多地域复制及就近读写功能示意

3、故障处理机制的完善和创新

除此之外,UFile 还在故障的快速发现和恢复上做了不少创新。除应用常规的硬件和软件层面的监控帮助用户快速发现数据异常外,UFile 采用 Set 化的架构设计,当出现机器或磁盘故障时,可以将该 Set 集群设置为只读,从而降低该 Set 集群的业务负载,帮助恢复程序以最快的速度恢复故障磁盘或机器,大大提高数据的可靠性。

二、业务低成本

1、对象级别的分层存储

UFile 采用专门的存储机型,存储密度更高,单位存储的成本最低可降到计算机型的 15%。同时采用纠删码技术,在确保数据可靠性的前提下,存储成本可降低到 3 副本冗余机制下的 40% 左右。

此外,UFile 还对数据分层和数据生命周期管理进行了优化,致力于从数据分层存储的角度进一步降低用户存储的成本。

用户业务往往同时存在高频和低频访问的数据,而相同数据在不同生命周期也存在不同的访问频率。一个刚产生的高频访问的数据,随着时间的推移访问频率往往会逐渐减低,数个月后便可能从高频转为低频。不同访问频率的数据可采用不同成本的存储方案。

业内早期的解决方案是通过支持热、温、冷 3 种存储产品来满足不同频率访问数据的要求,用户分别在 3 种存储产品上创建 Bucket,然后根据数据的访问频率放置到对应的 Bucket。按照用户设置的时间规则,在不同时间点数据会在 3 种 Bucket 进行迁移。这种解决方案虽然解决了数据存储的成本问题,但是缺点在于对业务不太友好,需要业务感知这种变化。

图:传统的分层存储数据流转示意

针对该问题,UFile 在今年推出了对象级别的分层存储方案。和传统解决方案不一样的是,UFile 支持同个 Bucket 中同时存在热、温、冷 3 种数据,用户可以将同个业务中的 3 种数据上传到同个 Bucket,同时数据访问频率发生变化后还会保留在同个 Bucket 中。

这种方案对用户的业务更加友好,而且也为后续即将推出的数据自动化分层管理奠定了良好的基础。用户很多时候无法区分数据的冷、热程度,或者无法准确的预测数据什么时候开始变冷,而更好的做法是将这些工作交给后台程序自动完成,这样可以让用户享受到最低的存储成本。

图:UFile 分层存储方案数据流转示意

2、自建大数据存储与 UFile 归档存储的成本对比

我们回到开头的大数据用户的场景,该企业现有 5PB 的数据量,因为用户的数据访问频率较低,所以推荐采用 UFile 的归档存储方案,下表是使用自建大数据存储和 UFile 归档存储方案成本差异对比。

事实上,我们还没有考虑数据逐渐增长的过程,对象存储是按需付费的,实际使用多少资源才会支付多少费用,而自建大数据存储往往会存在资源和成本的空闲浪费。因此,针对海量数据的冷存储,UFile 归档存储方案能够提供更高的性价比。

三、产品体验优化

1、数据安全 + 高质量网络保证

移动设备和 IoT 设备都有随时随地上传的需求,而随时随地的上传则对数据安全和网络质量都提出了更高的要求。

针对该需求,首先 UFile 支持 Https 协议,支持用户使用公私钥或者 Token 的方式来随时随地的传输数据、确保数据的安全性。

其次,UFile 已在全球 10 多个国家和地区分布有节点,覆盖国内主要城市和国外主要国家,按照规划 UFile 后续还将覆盖到更多地区和国家。国内外的数据节点均采用 BGP 机房或者运营商节点机房,能够提供高质量的网络保障,确保用户数据上传过程中的稳定和低延时。

图:UFile 全球数据中心分布

2、用户接入体验优化

目前 UFile 的 SDK 覆盖了主流的开发语言,并分别支持 iOS 和 Android 移动端。同时 UFile 还兼容了常用的 S3 协议,支持第三方用户态网络文件系统访问 UFile,如 S3fs、Goofys,这样用户可以像使用本地文件系统一样使用对象存储。相比本地文件系统,以 UFile 为存储池的用户态网络文件系统可以为用户带来更大的存储空间和更低的存储成本。

图:通过 Goofys 把某个 Bucket 挂载成文件系统并操作

图:通过 Goofys 写 UFile 后的效果

3、各类应用场景下的定制化解决方案

此外,UFile 还提供了各类常用应用场景和备份场景的定制化解决方案:

针对多媒体场景,UFile 结合 UCloud 全球 500 多个 CDN 节点,给用户提供高质量的视频和图片类服务。
针对大数据场景,UFile 推出了计算存储分离的方案,使用 UFile 来替代 HDFS,计算层只需修改配置文件即可完成替换。
在 UCloud 今年推出的重量级数据分析产品 USQL 中便采用了计算存储分离的解决方案,对计算和存储都采用按需计费的方式,大大降低了大数据分析的成本。同时 USQL 依托于 UFile 强大的 IO 能力,以及无限存储容量,实现了海量数据的快速分析。
针对备份类的场景,UFile 提供了 Hadoop 冷数据备份场景、MySQL 数据库备份和恢复场景、ES 日志备份的场景、网站文件备份场景等解决方案,帮助用户轻松完成数据备份。
Hadoop 冷数据备份场景实例分析:

Step1

图:Hadoop 集群中的文件在 UFile 的某个 Bucket 中不存在

Step2

图:通过 distcp 工具备份至 UFile 的某个 Bucket 中

Step3

图:备份成功后可以在 UFile 控制台看到该文件

结语

最后,针对海量非结构化数据,除了数据高可靠、低成本以及良好的使用体验,还有一个非常重要的需求便是高性能。特别是在引入生命周期和目录功能后的列表查询场景以及类似网络摄像头的大量写入及删除类的场景,对索引和存储的性能提出较大的挑战。

UFile 目前已经上线了目录功能和生命周期功能,大批量删除的性能也相比以往有较大的提升。后期我们还将专门介绍这两类场景下索引和存储的优化工作,敬请期待。

退出移动版