阿里封神-大数据处理技术漫谈

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 以前一篇博客,从宏观描述了云梯1当时整体生态,年底了,笔者再梳理下软件栈,主要以开源软件为主,闭源不谈。大数据发展至今,开源软件层出不穷,也去解决了不同的问题,笔者试图去弄清楚这些,分门别类,后面也可以参照下。由于笔者知识面有限,难免会出现一些偏颇,不全,不正确,还请指正。后面也会有很多新的软件出现

以前一篇博客,从宏观描述了云梯1当时整体生态,年底了,笔者再梳理下软件栈,主要以开源软件为主,闭源不谈。大数据发展至今,开源软件层出不穷,也去解决了不同的问题,笔者试图去弄清楚这些,分门别类,后面也可以参照下。由于笔者知识面有限,难免会出现一些偏颇,不全,不正确,还请指正。后面也会有很多新的软件出现,一段时间后,软件栈也会变化的。

典型架构

Classic_architecture

很多的场景都是如上的,有web(包括无线、以前CS的模式、现在的BS模式等)、DB、cache、数据分析我就用了Hadoop了(代名词,或者泛指数据仓库了),另外就是一些传感器之类的,数据通道(有的简单如:jdbc等,有的比较复杂,保序不丢等),其中也简单列了一些中间件的软件。这张图组成了一家公司的基本架构形式,其中每个点都是一个领域。每个点、每条边、有成千上万的同学在奉献。其中DB、Hadoop一般沉淀了数据,包含了大部分的计算。

大数据软件栈

bigdatasystem
从软件栈上看,笔者简单列出了一些主流的软件,当然每层的软件肯定不仅仅这些。还有上一层是开发者平台,再上是BI,应用,此点就属于sass层,很多公司在此层创业,笔者没有列出。其中分布式计算这层软件最多,有两句话:业务数据化,就是业务系统的数据沉淀在大数据平台;还有数据业务化,也就是体现数据的价值,需要各种各样的计算引擎了。另外:从部署来看,大数据基础软件上云,虚拟化应该是一个趋势。存储、计算分离,分开部署是否是一个趋势呢? 随着网络带宽的提速及成本的降低,在一些场景下简化了复杂性,也未尝不是一种尝试。deploy层解决大数据的部署问题,更加弹性的添加释放资源,包括资源的隔离,跟Resourcemanager层有点类似;storge format数据存储的格式,列式存数为主;distributeFileSystem提供分布式文件的存储能力, 其实可以是如:亚马逊的S3,或者阿里的OSS;Resourcemanager提供大数据操作系统,可以把不同的engine调度起来,包括怎么做隔离等;distribute engine百花齐放,为不同场景提供了很多解决方案,一般应用系统会使用多个engine的,甚至也可以包括DB,如果下层的Resourcemanager做的足够优秀;script层一般降低使用大数据的成本,包括sql、pig等方式,这层是有表的概念的,我们可以跟存储结合起来,提供一个全局的元数据中心;data exchange提供不同系统之间数据流转的能力。

数据量与处理时间

time_datasize
在以时间、数据量的坐标抽上列出目前引擎大致擅长处理数据的坐标,应该还需要加上数据复杂度、成本等维度,才能更好的体现侧重点。没有哪个软件能解决所有的问题,能解决问题也是在一个范围内,即使是spark、flink等。目前存在有意思的事情是:greenplum类似的MPP引擎想处理大数据的需求,hadoop等被定位为大数据的引擎也想解决小数据的问题(列式存储、或者也加入一些索引)。图中右上角的想往左边靠,减少延迟,图中左下角的想往上面靠,增大能处理的数据量。

场景

scene
笔者没有想到更好的方式组织此图,只能如此画出,每个领域或者场景内,又会细分出很多的子场景。

DB层不用去讲,每个网址必有一个DB的。NO-SQL产品就太多了,还分文档类型的,有读优写查、读差写优的等,其实也是DB。MPP其实也发展了很多年,比hadoop之类还要早,主要限制点就是扩展性、灵活性。greenplum开源后,此思潮又火了一把。search一直笔者认为是一个很有意思的产品,产品本身没有准确性的要求,是讲究准确率的。streaming是目前比较火的,特别是物联网、工业4.0的概念越来越火以后。graph也有相应的db,这里一般是分析型的,graph很多问题用ml也可以解决,或者认为其本身也是ml吧,场景比较多,一般就独立出来了。ml可以说现在也是热点之一,只要是数据创业公司,基本ml是其核心的,门槛也比较高。ETL个人感觉目前还是hive最适合的,能取得很高的吞吐,当然别的产品也可以跑的。 一些如GPU、量子计算、银河之类的就不讨论了。

spark、flink肯定是明星,他们能解决了好几个领域的问题。大数据的实时分析系统是否就是用MPP之类去实现,还是以一种更加杂揉的方式实现,目前我也不清楚。druid、kudu不知道放在哪里好,也许就是这种杂揉体,说不定会解决很多的问题,赢得市场。

说了这么多,是希望能成体系的梳理下现有的软件。每个软件做出来肯定是为了解决特定场景的问题,也会发挥一定的价值,万物有生有灭,也许下一代计算机的出现,如量子计算会颠覆现有的模式,到时候就是去HADOOP、超级计算机了,希望笔者还能看到。

版权声明

笔者微博:阿里封神 欢迎转载,但请保留原文地址

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
存储 机器学习/深度学习 SQL
大数据处理与分析技术
大数据处理与分析技术
102 2
|
1月前
|
存储 分布式计算 NoSQL
【赵渝强老师】大数据技术的理论基础
本文介绍了大数据平台的核心思想,包括Google的三篇重要论文:Google文件系统(GFS)、MapReduce分布式计算模型和BigTable大表。这些论文奠定了大数据生态圈的技术基础,进而发展出了Hadoop、Spark和Flink等生态系统。文章详细解释了GFS的架构、MapReduce的计算过程以及BigTable的思想和HBase的实现。
|
2天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
16 2
|
16天前
|
SQL 运维 大数据
轻量级的大数据处理技术
现代大数据应用架构中,数据中心作为核心,连接数据源与应用,承担着数据处理与服务的重要角色。然而,随着数据量的激增,数据中心面临运维复杂、体系封闭及应用间耦合性高等挑战。为缓解这些问题,一种轻量级的解决方案——esProc SPL应运而生。esProc SPL通过集成性、开放性、高性能、数据路由和敏捷性等特性,有效解决了现有架构的不足,实现了灵活高效的数据处理,特别适用于应用端的前置计算,降低了整体成本和复杂度。
|
25天前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
62 4
|
1月前
|
机器学习/深度学习 存储 大数据
云计算与大数据技术的融合应用
云计算与大数据技术的融合应用
|
1月前
|
SQL 存储 大数据
单机顶集群的大数据技术来了
大数据时代,分布式数仓如MPP成为热门技术,但其高昂的成本让人望而却步。对于多数任务,数据量并未达到PB级,单体数据库即可胜任。然而,由于SQL语法的局限性和计算任务的复杂性,分布式解决方案显得更为必要。esProc SPL作为一种开源轻量级计算引擎,通过高效的算法和存储机制,实现了单机性能超越集群的效果,为低成本、高效能的数据处理提供了新选择。
|
1月前
|
SQL 存储 算法
比 SQL 快出数量级的大数据计算技术
SQL 是大数据计算中最常用的工具,但在实际应用中,SQL 经常跑得很慢,浪费大量硬件资源。例如,某银行的反洗钱计算在 11 节点的 Vertica 集群上跑了 1.5 小时,而用 SPL 重写后,单机只需 26 秒。类似地,电商漏斗运算和时空碰撞任务在使用 SPL 后,性能也大幅提升。这是因为 SQL 无法写出低复杂度的算法,而 SPL 提供了更强大的数据类型和基础运算,能够实现高效计算。
|
1月前
|
存储 大数据 定位技术
大数据 数据索引技术
【10月更文挑战第26天】
58 3
|
1月前
|
存储 大数据 OLAP
大数据数据分区技术
【10月更文挑战第26天】
66 2
下一篇
DataWorks