存算一体 分离

notion image

存算分离 vs 存算一体

Hadoop 大数据组件(包括 Hive、Spark、Yarn、HBase、 Presto/Trino 等)总体上是基于 HDFS 标准 API来访问底层分布式文件系统。我们将存储服务(HDFS)和计算服务(Yarn)部署在一套集群的方案称为存算一体方案,将存储服务切换到火山引擎对象存储服务(TOS) 的方案称为存算分离方案。
HDFS 集群(即存算一体方案)相比TOS(存算分离方案)有一些明显的不足:
  • HDFS 集群对存储资源使用多,对计算资源使用少。用户一般会将计算组件和 HDFS 组件混合部署在同一批节点上,达到充分复用存储和计算资源的目的,但这会使集群的存储能力和计算能力深度耦合。
    • 举例来说,某业务拥有1PB的数据,而一周才跑一次离线计算,采用 Hadoop 混部意味着用户需要为这1PB数据支付昂贵的计算资源费用。采用存算分离模式,用户只需支付1PB数据的存储费用和少量计算资源费用即可,大大减少成本开支。
  • 用户需要为 HDFS 集群提前预留空闲存储空间(例如预留30%左右的闲置空间供未来使用),而火山引擎 TOS 是按需付费,用户不需要为预留存储资源付费。
  • 开源版本的 HDFS 冷数据存储(HDFS Erasure Coding)能力,使用和维护门槛较高,维护冷数据到自建 HDFS 集群对运维人员的挑战较大。而火山引擎对象存储服务的冷数据存储能力经历公司内外部场景磨炼,相对成熟。根据 TOS 定价文档可以看出,冷归档存储容量费用(即冷数据存储)相比标准存储容量费用单价低很多。因此,对于低频访问的大体量冷数据,用户可借助云上 TOS 冷数据存储能力大幅降低存储成本。
TOS 对象存储服务在给 Hadoop 大数据用户带来诸多便利和成本优化的同时,同样存在一些挑战:
  • TOS 对象存储的 Rename 操作比较耗时,且原子性语义不容易保证。
  • TOS 对象存储的 List 操作相对 HDFS 比较耗时。
Loading...
目录
文章列表
王小扬博客
产品
Think
Git
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP