ToB企服应用市场:ToB评测及商务社交产业平台

标题: 数据架构新篇章:存算一体与存算分离的协同演进 [打印本页]

作者: 写过一篇    时间: 2024-8-17 18:30
标题: 数据架构新篇章:存算一体与存算分离的协同演进
前言

降本增效大环境下,存算分离架构如火如荼,Why?
起首,先来简单相识两个架构的侧重点:

而大家所谈论的降本增效,是降本在前增效在后,先降本再考虑增效,故而降本才是真实的着重点!
所以,这也是为什么,当下存算分离架构被追捧的主要原因。
以上是从存算一体和存算分离架构效果效应而言,接下来我们从架构本身来聊聊它们之间的故事。
被误解的存算分离

经常会有小伙伴,会发出这么些疑问:
“Hadoop是不是本身就带有存算分离架构的属性,HDFS存储和YARN盘算管理分别摆设在差别的节点不就是存算分离?”
“湖仓一体,湖作为有界的流批一体存储,仓举行查询加快盘算,这是不是也可以理解为存算分离?”

从常规的摆设拓扑图而言,Hadoop的HDFS和Yarn分开摆设、湖仓存算分工,字面上是存和算分离了,但从存算一体的概念和存算分离的界说而言,并不是!
存算一体的概念

存算一体的过往


存算一体的概念形成,最早可以追溯到上个世纪70年代。随着云盘算和人工智能应用的发展,盘算中央面对着前所未有的数据洪流,数据搬运的速率慢和搬运过程中的高能耗等题目成为盘算的主要瓶颈点。
在传统的冯·诺依曼盘算架构中,数据需要频仍在存储单元和盘算单元之间传输,这不仅导致了巨大的能耗,还造成了盘算效率的低落。存算一体技能通过直接利用存储器举行数据处置处罚或盘算,将数据存储与盘算融合在同一个芯片的同一区域,从而彻底消除了冯·诺依曼架构的瓶颈。特别是在深度学习神经网络这种大数据量和大规模并行的应用场景中,存算一体技能显得尤为适用。
所以,存算一体也通指为"compute-in-memory"或"compute-near-memory",平常而言就是让存储和盘算更贴贴。它主要上风在于可以或许打破存储墙,消除不必要的数据搬移耽误和功耗,并利用存储单元提升算力,从而成百上千倍地提高盘算效率。在特定领域可以提供更大的算力(超过1000TOPS)和更高的能效(超过10-100TOPS/W),将能耗低落至1/10至1/100;使用存储单元参与逻辑盘算,从而提升算力,相称于在面积稳定的情况下大规模增长盘算焦点数。
存算一体的演进

回到世纪之初大数据兴起之时,用户数据快速膨胀,对海量数据的分析需求越来越显着,各行各业都在搭建本身的数据堆栈和商业智能体系。但传统的Unix主机和高端存储价格高昂,搭建一个用于决议支持的数据堆栈体系需要巨额投资。别的,可能泯灭巨资搭建的体系在举行海量数据统计汇总时速率非常慢。
经过分析发现,题目的根本在于IO瓶颈。因为盘算单元处置处罚数据,但并不存储数据,所有的数据都需要从存储中取出。而存储在取数据时是一个数据块一个数据块地取,无法判定这个块中哪些数据是盘算单元需要的。在传统的行存储场景中,一个决议查询可能只需要几个字段,但必须把所有数据都传输到盘算单元举行处置处罚和判定,之后再扬弃不需要的数据。这不仅浪费了大量IO,还因为盘算单元内存不敷,在大表join关联时会产生大量临时数据,这些数据需要在存储中临时存放,造成了进一步的资源浪费。

为了应对这些挑战,天然催生出新的架构。广泛的原理是在OLTP体系中每次利用都是小数据量,适合移动数据到盘算单元;而在OLAP体系中每次都会涉及大量数据处置处罚,适合移动盘算到数据单元。这意味着海量数据起首在本地举行初步加工,减少数据量后再参与后续盘算,从而节流IO和算力,提高性能。在这个阶段,技能的焦点关注点在于减少网络间传输的IO。通过列式存储来支持分析体系中按列统计的习惯,每次查询只需要取需要的列,从而减少无谓的IO。同时,利用各种索引技能加快数据定位和存取的效率,闪存技能的高速发展也进一步提升了体系的性能。
总而言之,存算一体的概念焦点是为相识决传统盘算架构中的数据搬运瓶颈和存储单元参与逻辑盘算低效的题目。通过将存储和盘算功能集成在同一芯片上,大幅减少数据在存储和盘算单元之间的传输需求,显著低落了能耗并提升了盘算效率。在大数据分析和需求不断增长的背景下,基于这种概念,通过减少网络传输和IO利用,优化存储和盘算的协同工作,也为大数据架构提供了一种高效的解决方案。
存算分离的界说

存算分离的过往


提到存算分离,不得不提一位传奇人物,即Oracle的创始人之一Larry Ellison。自1977年创建SDL并在1982年更名为Oracle以来,Oracle敏捷利用小型机的快速发展占据了商用数据库市场的主导职位。直至本日,Oracle仍然在DB-Engine排行榜上名列前茅,数十年未被动摇。
存算分离的概念最早在Unix体系的普及过程中渐渐成型。当时,市场上可以或许提供Unix主机的企业数目不断增长,除了IBM,尚有HP、Compaq和富士通和Sun等公司。这些Unix主机广泛接纳了连接独立存储服务器的方式,第一次实现了存储和盘算的分离。
在这次存算分离的实现过程中,几项关键技能起到了重要作用,包括成熟的网络组网技能和存储网络技能,当然尚有Oracle自身的杀手级技能——缓存融合。通过这些技能,用户可以获得N多利益:
存算分离的演进

随着公有云的快速发展,按需付费的理念逐步深入人心,用户对大规模数据分析的需求也要求可以或许按需供给,而传统MPP存算一体的紧耦合架构已经无法满意这种需求。与此同时,网络技能和存储技能的飞速发展,天然而然地催生了新一代的云原生数据库架构——存算分离架构。
以业界最闻名的Snowflake公司为例,其创始人Benoit Dageville和Thierry Cruanes曾在Oracle从事数据工程工作多年,后来他们决定在云上创建数仓,联合另一位创始人Marcin Żukowski共同创立了Snowflake。为了更好地利用云上的资源,他们起首将存储和盘算再次分离。数据被大量分区地存储在共享的对象存储中,并以列式存储方式生存。中间的盘算层通过无状态的虚拟数据堆栈来动态拉起和烧毁,实现用户差别工作负载的机动调理和计费。
Snowflake的乐成进一步分析了存算分离的界说和上风。在存算分离架构中,数据存储和盘算资源被解耦,从而实现了更高的资源利用率和机动性。数据被存储在共享存储中,而盘算任务可以根据需求动态地启动和烧毁。这种方法不仅提高了体系的弹性,还减少了资源的浪费。
结合Snowflake关于存算分离的论文来分析关于存算分离的界说:

可以简单总结为两点:
那么,结合以上存储一体的概念和存算分离的界说而言,Hadoop和湖仓架构并不算严格意义上的存算分离,只是存算一体紧耦合的架构。
存算一体和分离示例

以Apache Doris的存算一体和存算分离架构为例:
Doris 的团体架构由两类进程组成:Frontend (FE) 和 Backend (BE)。此中 FE 主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作;BE 主要负责数据存储、查询操持的执行。

存算一体的适用场景



存算分离的优点

存算分离的适用场景

总结

基于上述的一些对比分析,数据架构中存算一体和存算分离的选择建议:
末了,Apache Doris 3.0大版本也在近来Release。主要新特性是存算分离架构,当前已经有不少Doris用户在测试环境体验中,欢迎大家多多关注!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4