大数据架构(一)背景和概念

article/2025/9/12 2:26:46

-系列目录-

大数据架构(一)背景和概念

大数据架构(二)大数据发展史

一、背景

1.岗位现状

大数据在一线互联网已经爆发了好多年,2015年-2020年(国内互联网爆发期)那时候的大数据开发,刚毕业能写Hive SQL配置个离线任务、整个帆软报表都20K+起步。如果做到架构师,50K跑不掉。现在市场回归理性后:

  • 普通岗:大数据/数仓开发,实际上除超一线城市之外,尚存很多大型企业转型期信息化、互联网(物联网IOT)还在发展,数据还在爆发式增长,仍大有可为。
  • 精英岗/管理岗:大数据总监/架构师,在重视数据的企业(一线互联网大厂、数据服务厂商),年包上百万也不少。

2.行业现状

数据架构在过去20年发展迅速,尤其是过去十年,几乎每年都有新概念、新产品开源出来。一些新名词爆发式展现出来:数据仓库、数据集市、大数据、离线数仓、实时数仓、时空数据库、数据中台、数据湖、流批一体、湖仓一体、实时湖仓、商业智能(BI)等等。

  • 数据精细化:从经营与分析转为数据化的精细运营,对数据要求过程化、粒度更细
  • 产品多样性:传统 BI 中的 Report、OLAP 等工具开始转向面向最终用户自助式、半自助的产品,来快速获取数据并分析得到结果。
  • 数据时效性:从 T+1 转为近乎实时的数据诉求。
  • 平台轻薄化:阿里自砍中台战略,把中台拆分到各条业务线部门独自负责。把中台变得轻薄,更贴近业务。数据只有贴近业务才能焕发活力。底层逻辑是某业务领域的中心化是推荐的,有价值的

3.本文目标

本系列文章不做源码级分析大数据框架,而是关注大数据的发展历史主流架构和原理、落地流程。可作为架构师对于大数据架构的扫盲贴。(笔者花了2月的时间阅读大量文章总结出来的,可能会有问题,欢迎留言交流。)

二、概念解析

前面说了大数据领域出了很多概念:数据仓库、数据集市、大数据、离线数仓、实时数仓、时空数据库、数据中台、数据湖、流批一体、湖仓一体、实时湖仓。我们就来简单解析一下这些"专业名词",从概念上达成一致,有一个基本的定位。

如上图所示,这些大数据领域的名词,我们可以分为2大类:1.数据服务架构相关   2.数据库、数仓相关。其中绿色角标标识具体概念的,黄色角标标识抽象概念的。

1.大数据:广义上的大数据概念,涵盖数据服务、数据仓库领域的概念。

1.数据服务架构相关

  • 数据中台:归属阿里三大中台战略。但2023年4月马云回国后,将公司按照业务线拆分,各付盈亏。同时中台也同步拆分到各业务中去,原中台只保留偏底层的少量系统。由此可见,中台可能去中心化,大中台变部门小中台,更贴近业务,盘活数据。
  • Data Mesh数据网格:基于DDD领域驱动设计和服务网格思想的数据架构,可能会热度增加,但落地尚早(国内service mesh都还没热起来,按照惯性data mesh最少3年后再说)。

2.数据仓库架构相关

  1.具体概念

  • 数据库   按照数据结构来组织、存储和管理数据的仓库。
  • 数据仓库:抽取或导入结构化/半结构化数据,主要用于OLAP数据分析,支持管理决策。上世纪90年代,强制使用结构化数据+范式建模,构建EDW企业数据仓库
  • 数据集市:数据集市(Data Mart),也叫数据市场,是数据仓库的一个子集(部门级业务)。按照抽取方式可分为两类:1)独立型数据集市:直接从源数据抽取业务数据。2)从属型数据集市:从数据仓库/数据湖抽取。
  • 数据湖   :以原始类型存储数据的存储系统。倡导:先导入,后处理分析使用

  2.抽象概念(逻辑概念)

  • 离线数仓:数据仓库的延伸逻辑概念,描述的是批处理(离线计算)场景。
  • 实时数仓:数据仓库的延伸逻辑概念,描述的是实时处理(实时计算)场景。
  • 批流一体:  大数据的数据清洗ETL,可简单分为2类:批处理(离线任务)、流计算(实时计算)。批流一体讲究用一套技术方案实现2种目标。
  • 湖仓一体数据在数据湖和数仓中流动,兼具数仓的稳定性建模和数据湖的灵活特性。
  • 实时湖仓强调实时计算能力的湖仓一体架构。

2.1 数据库

 数据库是“按照数据结构来组织、存储和管理数据的仓库”。数据库有很多种类型适用不同业务场景,最常见的是关系型数据库、键值型数据库、时序数据库。

2.1.1 关系型数据库

支持事务ACID特性的数据库。常见的有Mysql、Oracle、PostgresSQL等。

2.1.2 非关系型数据库

  • 文档型数据库(Document databases):MongoDB。优点是对数据结构要求不特别的严格。而缺点是查询性的性能不好。
  • 键值型数据库(Key-value databases):Redis、Memcached,常用于缓存方案。
  • 数据库(Column-family databases):以列族的形式存储数据,如Apache Cassandra、HBase。优点是查询快速。缺点是数据结构有局限性。
  • 时间序列数据库(Time-series databases):专门用于存储时间序列数据,如InfluxDB、OpenTSDB。目前时序大数据存储场景很多,前景极大,处于上升期。

2.2 数据仓库

2.2.1 数据仓库

  数据仓库是Bill Inmon在1991年出版的“Building the Data Warehouse”一书中所提出的定义被广泛接受:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。

  • 面向主题的:根据使用者的需求,将来自不同数据源的数据围绕着各种主题进行分类整合。
  • 集成的:来自各种数据源的数据按照统一的标准集成于数据仓库中。
  • 相对稳定的:数据仓库中的数据是一系列的历史快照,不允许修改或删除,只涉及数据查询。
  • 反映历史变化的 :数据仓库会定期接收新的集成数据,从而反映出最新的数据变化。

2.2.2 数据仓库VS数据库

2.2.3 企业数据仓库EDW

EDW也是一种数据仓库DW。上世纪90年代,使用结构化数据+3NF范式建模,构建EDW企业数据仓库

2.2.4 离线数仓

2003~2006年  Google发表了三篇论文:分布式文件系统GFS分布式计算框架MapReduce分布式存储系统BigTable。2006年,Hadoop正式面世。此后,以Hadoop技术栈为代表的离线数仓架构引领大数据发展了十多年。这时候的处理任务基本都是批处理任务。离线数仓特指:应对批处理(离线计算)场景的数据仓库。如下图所示:

早期离线数仓使用离线计算引擎实现批处理数据。最常用的离线计算引擎就是Hive(Hadoop技术体系)。典型应用是定时任务跑批生成报表数据。

2.2.5 实时数仓

2014年,Flink为代表的实时计算风靡,基于Flink为计算引擎的实时数仓跃然纸上。实时数仓特指:应对实时处理(实时计算)场景的数据仓库。典型的实时数仓如下图所示:

 

2.3 数据集市

数据集市(Data Mart),也叫数据市场,就是满足特定的部门或者用户的需求,按照多维的方式进行存储,包括定义维度、需要计算的指标、维度的层次等,生成面向决策分析需求的数据立方体。

按照抽取方式可分为两类:

1)独立型数据集市:直接从源数据抽取业务数据。

2)从属型数据集市:从数据仓库/数据湖抽取。

数据仓库VS数据集市

2.4 数据湖

2.4.1 数据湖

  随着互联网->移动互联网->IOT物联网 这一条商业智能发展线路的改变,产生了大量的照片、视频、文档等非结构化数据、时序数据。数据湖诞生了:允许用户以任意规模存储所有结构化和非结构化数据,并支持对数据进行快速加工和分析。用户可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析(从控制面板和可视化到大数据处理、实时分析和机器学习,以指导做出更好的决策。

2.4.2 数据仓库VS数据湖

数据仓库的成长性很好,而数据湖更灵活。数据仓库支持的数据结构种类比较单一,数据湖的种类比较丰富,可以包罗万象。数据仓库更加适合成熟的数据当中的分析和处理,数据湖更加适合在异构数据上的价值的挖掘。

 =========参考=============

How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh


http://chatgpt.dhexx.cn/article/FtSe1o2k.shtml

相关文章

大数据架构

大数据核心原理和场景分析 processon:https://www.processon.com/view/link/60b4d0071e08532bd00e9290

大数据架构图

大数据管理数据处理过程图 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察力。大数据处理的主要流程包括数据收集、数据存储、数据处理、数据应用等主要环节。随着业务的增长,大量和流程、…

大数据架构:全网最全大数据架构生态

文章目录 简介1、数据采集技术框架2、数据存储技术框架3、分布式资源管理框架4、数据计算框架(1)离线数据计算 5、数据分析技术框架6、任务调度技术框架7、大数据底层基础技术框架8、数据检索技术框架9、大数据集群安装管理框架 简介 随着大数据行业的发…

架构-大数据架构-阿里

大数据架构 大数据框架从0到1整个过程的实现,根据本博客内容,可以实现整个大数据基本搭建,只是大概步骤,供学习参考。 本博客从下面5个方面介绍: 技术框架技术选型系统架构设计业务流程生态实现步骤 以阿里为例的大数…

大数据架构新解

大数据系统大体可以分成以下四个部分: 1,数据采集层 2,数据计算层 3,数据服务层 4,数据应用层 下图是阿里巴巴大数据系统架构图: 一、数据采集层 数据采集主要分成以下三块数据: 1&#xff…

大数据技术及大数据架构

大数据架构分为:数据来源层->数据采集层->分布式存储层->传输层->分析计算层->业务存储层->展示层共七层,基本使用flume sqoop hive hadoop spark flink mysql redis logstash elasticsearch datax等技术

大数据基础课03 阿里美团这些大厂都在用什么大数据架构?

首先,我想讲一个叫庖丁解牛的故事,想必你应该听过。庖丁从开始杀牛,到他的故事被写下,操刀十九年,杀了数千头牛。也正是由于丰富的实践经验,他总结出了解杀牛的方法论:依照牛生理上的天然结构&a…

大数据架构演变

大数据架构演变 一、传统离线大数据架构二、Lambda架构(离线处理实时链路)-传统实时开发三、Lambda架构(离线数仓实时数仓)四、Kappa架构五、架构选择:六、湖仓一体(流批一体)实时数仓架构七、从…

大数据基础架构

一、大数据两大核心技术: 分布式存储:HDFS、HBase、NoSQL、NewSQL 分布式处理:MapReduce 二、大数据计算模式: 三、代表性大数据技术: 1.Hadoop:ETL工具(extract、transform、load&#xff0…

大数据架构简介

大数据技术其实是分布式技术在数据处理领域的创新性应用,其本质和此前讲到的分布式技术思路一脉相承,即用更多的计算机组成一个集群,提供更多的计算资源,从而满足更大的计算压力要求。 大数据技术讨论的是,如何利用更多…

大数据之大数据技术架构

上期我们说到大数据的概念,其实,大数据比我们想象中的还要复杂,本期,我们主要从技术的角度介绍一下大数据的知识。 大数据技术是一系列技术的总称,它是集合了数据采集与传输、数据存储、数据处理与分析、数据挖掘、数据…

常用的几种大数据架构剖析

数据分析工作虽然隐藏在业务系统背后,但是具有非常重要的作用,数据分析的结果对决策、业务发展有着举足轻重的作用。随着大数据技术的发展,数据挖掘、数据探索等专有名词曝光度越来越高,但是在类似于Hadoop系列的大数据分析系统大…

一张图解释清楚大数据技术架构,堪称阿里的核心机密

我们先来看看这张图,这是某公司使用的大数据平台架构图,大部分公司应该都差不多: 从这张大数据的整体架构图上看来,大数据的核心层应该是:数据采集层、数据存储与分析层、数据共享层、数据应用层,可能叫法有…

一文搞懂Matlab的3种取整函数(round、ceil、floor)

1、四舍五入取整:round(x) 对实数和复数(实部和虚部)都是四舍五入取整 2、向上取整:ceil(x) 对实数和复数(实部和虚部)都是向上取整 3、向下取整:floor(x) 对实数和复数(实部和…

MATLAB取整及位数

Matlab取整函数: fix, floor, ceil, round 函数操作Y fix(X)向零取整Y floor(X)向下取整Y ceil(X)向上取整Y round(X)四舍五入取整 Y fix(X)将 X 的每个元素朝零方向四舍五入为最近的整数。对于正方向的 X,fix 的行为与 floor 相同。对于负方向的 X&#xff…

Matlab之取整函数

一、函数取整函数 函数取整,有如下四种函数 floor():向下取整ceil():向上取整round():取最近整数fix():向0取整 二、例程 1、floor():向下取整 disp(floor-向下取整); A1floor(1.2) A2floor(2.5) A3floor(-2.5) 2、ceil():向上取整 disp(ceil-向上取整); B1ce…

matlab中的取整函数(ceil、floor、round)

matlab中的取整函数主要有三种:ceil()、floor()、round() 1.ceil():在英文中,是天花板的意思,有向上的意思,所以,此函数是向上取整,它返回的是大于或等于函数参数,并且与之最接近的整数。 ceil…

Java中的拦截器和过滤器有什么区别

本文收录于JavaStarter ,里面有我完整的Java系列文章,学习或面试都可以看看 (一)什么是过滤器 过滤器Filter基于Servlet实现,过滤器的主要应用场景是对字符编码、跨域等问题进行过滤。Servlet的工作原理是拦截配置好的…

过滤器和拦截器区别以及执行顺序

过滤器和拦截器区别 觉得这个总结的很好,所以用来借鉴借鉴 摘抄于网络,侵删 过滤器和拦截器执行顺序 在SpringBoot中编写测试代码 自定义过滤器 /*** Author: xiaoshijiu* Date: 2019/5/22* Description: 自定义过滤器*/ public class MyFilter exten…