大数据计算架构的演进
导读:
麦肯锡率先提出大数据的概念,并称数据已经渗透到当今的各行各业,成为重要的生产因素。人们对于大数据的挖掘和运用,预示着新一波生产力增长和消费盈余浪潮的到来。
华为云数据湖探索(后文简称DLI)服务小组在多年的大数据计算实践中意识到,大数据真正难以对付的挑战来自于数据类型多样(variety)、要求及时响应(velocity)和数据的不确定性(veracity)。
针对数据计算的挑战,笔者从以下四点讲述他了解的架构故事。
1、800Mbps吞吐量、网络带宽1Gbps时代
2、计算存储耦合架构
3、计算存储分离架构
4、DLI服务架构
800Mbps吞吐量、网络带宽1Gbps时代
在十几年前,硬盘的吞吐量大概在800Mbps,网络带宽 1Gbps, 架构师们是如何设计大数据系统的架构呢?
1、 几十台、上百台普通的 x86 物理机部署在同一机房
单台物理机提供的算力有限,使用大规模的普通廉价物理机组成分布式集群,成千上万个普通x86 CPU并行计算突破了单台物理机算力极限。
2、数据尽量平衡的存储在每个机器甚至每个硬盘上
单台物理机挂载几个至十几个普通硬盘,使用普通x86机器和普通硬盘搭建了大规模存储,有效解决超大规模数据存储问题。
3、数据本地化(data locality)
数据均衡的存储在每个硬盘上,数据处理任务从远程物理机获取数据开销大。以数据为“中心”,将数据处理任务迁移到数据所在的物理机上,能有效降低网络带宽,保证了整体性能。
计算存储耦合架构
技术在进步,经过十多年的发展,单机网络从之前的1Gbps发展到40Gbps甚至100Gbps,提升了100倍。内存容量从以前的10+GB发展到了500+GB 提升了50倍。 带宽不再是稀缺资源,大数据处理的瓶颈逐渐从网络转移到CPU上,上述计算存储耦合架构的缺点也逐渐突显出来。
1、木桶效应
不同场景需要的存储空间和算力配比是不一样的。实际使用中要么计算资源达到瓶颈,要么是存储容量不足,只能对集群进行扩容,造成集群资源浪费。
2、不再万能的数据本地化
在云上,基于网络的块存储逐步取代了单机硬盘,数据本地化并不是真实的,数据处理任务读取本地数据在物理层也是远程读。
3、无法弹性计算
不同场景,不同时期需要的算力是不固定的,存在波峰和波谷。物理机中存储数据造成无法大规模关闭闲置节点,造成电力浪费。
计算存储分离架构
在云时代,我们有更加可靠和廉价的数据存储方案, 以华为云对象存储服务(下文简称OBS)为例
1、节约成本
在储存成本上,每GB数据每月只需要0.099元, 其储存成本是云盘的三分之一,甚至更低
2、安全可靠
在可靠性上,OBS跨数据中心桶支持跨数据中心高可靠,本地盘和云盘不支持
3、海量容量
单桶支持千亿文件,容量高达PB级远超云盘
4、 高速读取
单流读取带宽高达2400Gbps基本和云盘持平
有更高性能的计算节点,华为云内存优化网络增强型M3NE云服务器(下文简称M3NE)为例
1、 每个vcore至少600Mbps的带宽,单机带宽不再是问题。
2、CPU/内存配比1:8, 可以加载更多数据到内存中,硬盘不再是主战场。
将大数据系统的计算和存储分离能大幅提升资源效率,主要优点有:
1、 大幅减少存储成本
数据集中存储OBS上,按使用量付费,用多少算多少,无需事先规划存储容量,存储资源可线性无限扩展。
2、极致弹性
按使用时长计费,使用时收费,不使用不收算力费用。 无线事先规划计算集群规模,计算集群可自动弹性扩容。
3、跨数据中心容灾
DLI服务支持计算集群跨数据中心的容灾,确保数据在需要时安全可用。
当然世界上不存在完美的架构,计算存储分离后计算任务远程访问数据会导致单节点需要更多的带宽,更高的网络延迟。
DLI服务架构
超高IO云盘的读写时延只有1ms甚至500ns, OBS元数据操作延迟10ms左右,差一个数量级。
针对该问题,DLI服务引入Alluxio分布式缓存组件,支持分布式内存+本地SSD缓存,减少数据读取路径,并大幅减少南北向网络流量。支持CarbonData等高压缩比列存文件格式,利用列存和索引尽量减少单次计算任务读取的数据量。
DLI 服务使用最新M3NE类型虚拟机构建计算集群,M3NE使用Intel Xeon SkyLake全新一代CPU,配套华为自研25GE智能高速网卡,提供超高的网络性能。
接下来我们DLI服务将进一步降低用户计算成本,提高计算效率,减少耗能
1、计算集群支持RoCE网络
RoCE(RDMA over Converged Ethernet)是一种允许通过以太网使用远程直接内存访问(RDMA)的网络协议,能大幅减少网络IO占用的CPU,甚至只需5%的CPU就能跑满40Gbps的网卡。
大数据组件使用RoCE网络能大幅减少计算集群东西向流量占用的CPU资源。
2、基于ARM构建计算集群
基于华为自研的ARM架构服务器构建计算集群能大幅减少计算集群成本, 并降低电力消耗。
- 点赞
- 收藏
- 关注作者
评论(0)