加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

企业大数据发展面临问题之存算分离技术思考

发布时间:2022-10-22 15:02:34 所属栏目:云计算 来源:网络
导读: 文章目录
概述 背景
Hadoop一出生就是奔存算一体设计,当时设计思想就是存储不动而计算(code也即是代码程序)动,负责调度Yarn会把计算任务尽量发到要处理数据所在的实例上,这也是与传统集

文章目录

概述 背景

Hadoop一出生就是奔存算一体设计,当时设计思想就是存储不动而计算(code也即是代码程序)动,负责调度Yarn会把计算任务尽量发到要处理数据所在的实例上,这也是与传统集中式存储最大的不同。为何当时Hadoop设计存算一体的耦合?要知道2006年服务器带宽只有100Mb/s~1Gb/s,但是HDD也即是磁盘吞吐量有50MB/s,这样带宽远远不够传输数据,网络瓶颈尤为明显,无奈之举只好把计算任务发到数据所在的位置。

image-20221012150555665

众观历史常言道天下分久必合合久必分,随着云计算技术的发展,数据库也开始拥抱云原生时代,在当前越来越强调云原生的环境下,存储计算分离已经是大势所趋,“存算分离”作为一种架构思想在企业项目研发过程中逐渐为大家所熟知和使用,随着数字化转型带来的企业IT架构的重塑,存算分离技术将逐渐走入历史的舞台。存算是指存储和计算组成,通常所说的计算是指由CPU和内存组成的算力单元,存储指的是持久化的数据存放单元。在企业生产实践过程中没有一成不变的架构,只有不变的以业务为核心的架构意识。

家庭宽带自从升级到100m bps甚至更大,从来不保存电影,要看直接下载,基本几分钟就好了,而这在十年前是不可想象。带宽的速度特别是IDC机房内带宽的速度,已经从1000mps、2000mps、10000mps,甚至100000mpbs,网络带宽提升100倍甚至更高,网络已经不再是瓶颈,但是从磁盘吞吐性能上并没有太大提升,仅仅提升1倍左右(100MB/S),由于硬件的变化带来了软件架构的变化。高效的压缩算法与列式存储也进一步减少I/O的压力,大数据的瓶颈逐渐由I/O变成CPU。同时集群规模越来越大,存算利用率不均衡,选型受限的问题越来越明显。

为何要存算分离

随着累积的数据量的增大,大数据业务量的增多,数据存储和处理的成本越来越高,企业数据基础设施的投资越来越大。同时,大数据处理组件多,不同组件使用不同的数据处理格式,比如大家熟悉的数据湖、数据仓库使用的就是不同的格式,多样化的数据格式导致数据存储变得复杂,系统中应对不同的场景,往往同样的数据需要存储多份,不同组件之间还需要大量的数据拷贝和格式转换,消耗大量的资源。经过十几年大数据发展,随着海量负载和大数据用例的出现,单一Hadoop集群的规模变大,多个Hadoop集群需同时支撑不同的业务。因此在存储和计算耦合架构下,大数据集群将面临如下问题:

优势

image-20221012160506507

针对传统hadoop架构中计算资源和存储资源按某一比例强绑定,系统扩容必须按节点数目增加,导致内存或磁盘浪费的问题。“存算分离”不仅能节约成本,还可以让资源根据业务需求弹性伸缩,按需分配,降低了系统部署和扩展成本,解决了资源利用不均衡的问题。

应用场景

存储和计算分离目前主要应用在数据库和消息队列两个方向。

存算分离产品 技术流派

存储作为数据湖的底座,业界有两个技术流派:一是基于分布式文件,二是基于对象存储。

华为

华为OceanData

数据是一个端到端的系统架构的方案,不光要考虑数据库软件自身,还要考虑整个集群管理,包括一些周边的备份容灾,以及整个基础设施的选择。所以华为构筑OceanData这样的一个解决方案出来,把整个数据库端到端的堆栈打通,去减少拼装这些方案的时候遇到的这些问题。更多的是把心思放在业务上,而不是放在怎么去搭建出一套完整的数据库方案出来。

华为OceanStor Pacific作为国内大数据下一代存算分离的解决方案先行者之一,在存储层实现了原生HDFS语义接口的存算分离方案,打破了传统大数据平台计算存储的部署架构。同时率先在存储上支持湖仓融合的新兴数据格式,在下一代存算分离架构下云计算分布式系统,基于一份数据支持接数据湖、数据仓库同时访问。提供以业务为中心的高弹性大数据计算,以数据为中心的高性能海量存储,用户无感知的原生HDFS和S3兼容能力。OceanStor Pacific不仅算力密度在业界领先30%,而且做到一站式交付、一键式部署,可以有效匹配企业大数据快速迭代发展。

JuiceFS

JuiceFS 是一款开源分布式文件系统,创新地将对象存储作为底层存储介质,实现了存储空间的无限扩展。任何存入 JuiceFS 的文件都会按照特定规则被拆分成固定大小的数据块保存在对象存储,数据块的元数据则保存在 Redis、MySQL、TiKV 等数据库中。同时 JuiceFS 的 Hadoop Java SDK 完全兼容 HDFS API,提供完整的文件系统特性,大数据组件可以无缝从 HDFS 迁移到 JuiceFS。

存算分离最初尝试:

image-20221012153108193

使用对象存储替代HDFS

image-20221012153208990

使用对象存储替代HDFS的优势和痛点分别如下:

痛点

JuiceFS大数据存算分离方案

image-20221012153931609

HashData

HashData为了追求极致的弹性和扩展性,计算集群和持久化存储严格实行物理分离:计算集群由类似AWS EC2的虚拟机组成,持久化存储则使用对象存储。

image-20221012154307268

HashData利用云存储作为数据持久存储层,并与计算资源物理上分离、逻辑上集成。由于自身的高可用性和近乎无限的可扩展性,云存储大大简化了数据仓库系统错误恢复、多维度扩缩容、备份恢复等流程,同时使得不同集群间共享同一份数据、统一的数据存储平台成为可能。

image-20221012155026279

缓存层设计理念是在元数据集群和对象存储集群之间,适度增加计算资源和缓存层,具体是怎么实现的?

缓存的优化对象包括哪些?

通过网络获取到数据是否会导致网络IO的压力过大?

存储层结构是底层采用对象存储,上层对资源进行分片,保障全数据类型的支持、拓展能力、高可用和高持久,能否举例详细说明?

对象存储相比于HDFS有什么优势?

XSKY

XSKY 基于分布式文件的大数据方案

image-20221012160654477

image-20221012160849608

image-20221012160902428

image-20221012160929149

image-20221012160942445

image-20221012161210284

**本人博客网站 **IT小神

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!