文章目录
- 前言
- 一、数据库
- 1. 简介
- 2. 使用场景
- 3. 数据库类型
- 4. 数据类型
- 二、数据仓库
- 1. 简介
- 2. 使用场景
- 3. 数据仓库架构
- 4. 实施要点
- 三、数据平台
- 1. 简介
- 2. 使用场景
- 3. 数据仓库架构
- 4. 实施要点
- 四、数据湖
- 1. 简介
- 2. 使用场景
- 3. 数据湖架构
- 4. 实施要点
- 5. 湖仓一体
- 五、数据中台
- 1. 简介
- 2. 使用场景
- 3. 数据中台架构
- 4. 实施要点
- 六、总结
- 1. 区别
- 2. 联系
前言
大数据产品概念
数据库、数据仓库、数据平台、数据中台、数据湖。
一、数据库
1. 简介
数据库是用于存储、管理、维护和检索数据的系统。是所有软件应用、网站、企业信息系统和数据驱动决策的基础。简单来说就是:数据库就是一个存储信息(水)的容器。
2. 使用场景
3. 数据库类型
数据库类型:
关系型数据库和非关系型(NoSQL)数据库。
非关系型又分为四种类型:键值型、列存储型、文件型和图形数据库。
4. 数据类型
某些数据库(如 MongoDB)可以分为多个类别,因为它们支持不同的数据模型。此外,所提供的列表并不详尽,因为每个类别中还有许多其他数据库可用。
数据可以是结构化的、半结构化的,也可以是非结构化的,并以表格、文档和键值对等各种格式存储。它可以是任何东西,从简单的购物清单到图片库,再到企业网络中的大量信息。
数据库的重点在事务处理,可以简单理解为SQL操作上,不擅长数据分析。
二、数据仓库
1. 简介
数据仓库是一个集中式存储库,用于存储,来自多个数据源的大量结构化数据。它使组织能够整合数据,进行数据分析、报告等。
例如:数据库是超市的一瓶水或酒,数据仓库就是超市的酒水展览区。
也可以想象成一个超级整理师,专门把企业各处散落的账单、合同、报表这些结构化数据,按照一定的规则分门别类放进不同的柜子里。
2. 使用场景
3. 数据仓库架构
数据仓库适合处理结构化数据进行分析,但是无法处理半结构化、非结构化数据,也无法实时进行数据分析。
数据仓库的架构通常分成四层,每一层都有其明确的职责和数据处理目标:
ODS层(操作数据存储层):
- 定位:数据仓库的"入口"或"缓冲区"。它直接从各个业务系统(如ERP、CRM、订单系统)原样同步数据,不做任何业务逻辑加工。
- 特点:数据保持与源系统一致的结构和内容,通常是增量或全量同步。这里的数据是"原始素材",可能存在数据冗余、不一致、脏数据等问题。
- 目的:将业务系统的变更与数据仓库的复杂处理解耦,保护源系统性能,并为后续清洗提供稳定的数据源。
DWD层(数据明细层):
- 定位:数据仓库的"净化车间"。对ODS层数据进行清洗、转换、整合,形成最细粒度的、干净的、一致的业务过程数据。
- 核心操作:
- 数据清洗:处理空值、异常值、格式错误。
- 数据标准化:统一编码(如将"男/女"统一为"M/F")、统一计量单位。
- 维度退化:将一些常用的维度属性(如商品名称、用户昵称)直接冗余到事实表中,减少关联,提升查询性能。
- 数据关联:将不同来源的同一业务实体数据进行关联整合。
- 目的:产出高质量、可信的明细数据,为上层汇总分析打下坚实基础。
DWS层(数据服务层/轻度汇总层):
- 定位:数据仓库的"主题超市"。按照分析主题(如用户、商品、渠道、时间)对DWD层的明细数据进行轻度汇总。
- 特点:数据不再是原子粒度,而是按主题、按维度进行了预聚合。例如,生成"用户每日下单次数"、"商品每周销量"等宽表。
- 目的:避免上层应用每次都需要从海量明细数据中聚合计算,极大提升查询效率,并直接服务于业务部门的主题分析需求。
ADS层(应用数据层):
- 定位:数据仓库的"展示柜台"。直接面向最终报表、数据看板、API接口等具体应用场景的高度汇总数据。
- 特点:数据聚合程度最高,查询速度最快。通常是针对特定业务问题的结果集,如"本月销售Top10排行榜"、“实时运营大屏数据”。
- 目的:满足终端用户对查询性能和结果即时性的要求,实现"开箱即用"。
4. 实施要点
- 建模方法:
数据仓库最经典的是维度建模,其核心是事实表和维度表。
- 事实表:记录业务过程(如"下单"、“支付”),包含度量值(如"金额"、“数量”)和关联维度表的外键。
- 维度表:描述业务实体(如"用户"、“商品”、“时间”、“地点”),包含描述性属性。
常见的模型有:
- 星型模型:事实表直接关联所有相关的维度表。结构简单,查询性能高(关联少),但存在数据冗余。
- 雪花模型:维度表本身还可以关联其他子维度表。结构更规范(符合3NF),减少了数据冗余,但查询时需要更多的表关联,性能相对较低。
- 星座模型:多个事实表共享维度表,是复杂数据仓库的常见形态。
在实际项目中,由于存储成本远低于计算成本,星型模型因其出色的查询性能而更受欢迎,是构建数据仓库层(DWD/DWS)的主流选择。
- 数据集成工具:
其中把业务数据同步到ODS层这个过程,很多团队最初是写脚本搞定,但业务系统一多、表一多,脚本维护起来就是噩梦。现在业内普遍采用数据集成工具(如FineDataLink、DataX、Sqoop、Airbyte等)来处理这个过程。它能通过可视化配置,直接将MySQL、Oracle、API接口等异构数据源定时、增量或全量地同步到ODS层,并监控数据质量,大大降低了数据接入的复杂度和运维成本。
- 技术演进
经历了三个阶段:
关系型数据库时代:用Oracle、SQL Server做数据仓库,数据量小还好,上了TB级就扛不住
MPP架构时代:Teradata、Vertica、Greenplum这些专用数据仓库出现,通过并行计算大幅提升性能,但硬件成本依然高昂
云数据仓库时代:Snowflake、Amazon Redshift、阿里云的MaxCompute成为主流,存储计算分离,弹性扩展,按量付费,中小企业也能用得起
- 优缺点
数据仓库最大的优点是稳定可靠,查询性能强,数据质量高。
缺点也很明显:只认结构化数据,半结构化或非结构化数据根本进不来;建表模式固定,业务一变就要改表结构,灵活性差;成本还不低,虽然云仓降低了门槛,但大规模使用依然是一笔不小的开支。
三、数据平台
1. 简介
数据平台是一个全面的技术解决方案,对数据生命周期的整个数据处理流程,包括数据的收集、存储、管理、分析和可视化。它不仅包含数据仓库的功能,还扩展了非结构化数据的采集、大数据处理、实时分析、数据科学和机器学习等能力。
例如:数据平台就是超市的管理办公室,管理商品的摆放、下架等等。
如果说数据仓库是精装公寓,那大数据平台就是一块工业用地,上面可以建仓库、建工厂、建办公楼,怎么折腾都行。
2. 使用场景
3. 数据仓库架构
数据平台擅长处理结构化、非结构化数据,并深度、实时分析,生成报告,但相对较为闭塞。
核心能力体现在三个层面:
存储层:HDFS分布式文件系统,能把海量数据分散存到成百上千台普通服务器上,成本极低
计算层:MapReduce、Spark、Flink这些计算框架,能并行处理PB级数据
工具层:Hive、HBase、Kafka等组件,解决数据查询、实时流处理等各种具体问题
大数据平台的出现,本质上是因为传统数据仓库扛不住互联网公司的数据量。一个电商平台每天产生的行为日志、点击流、交易记录,用Oracle存成本会高到破产。用Hadoop存,硬件成本能降90%。
4. 实施要点
- 数据集成工具:
大数据平台数据来源极其复杂,可能有MySQL、Oracle、API接口、日志文件、IoT设备数据等等。把这么多异构数据实时或准实时地同步到HDFS里,是个头疼的事。有些团队会用开源工具自己搭,但维护成本高。如果团队使用FineDataLink类似的工具,就可以直接对接各种数据源,把数据抽过来做初步清洗再写入Hadoop体系,省去很多搬砖的麻烦。
- 优缺点:
大数据平台的优势是扩展性强、成本低、能处理各种数据类型。
劣势是技术栈复杂,维护团队需要很高的技术门槛;数据质量管控弱,容易变成数据垃圾场;查询性能一般不如专用数据仓库。
四、数据湖
1. 简介
数据湖是一个未整合的、非面向主题的数据集合。数据湖可以存放来源不同的任何类型的数据,这些数据可以是结构化的、非结构化的、半结构化的。它是你可以以可伸缩的方式存储和处理所有数据的地方。
例如:数据湖就是N个超市(还是不同类型的),山姆+华润万家+摆地摊等等。
这个概念最早由Pentaho的CTO提出,听起来很形象:就是一个巨大的湖泊,什么水都能往里倒,清水、雨水、河水全收。
2. 使用场景
3. 数据湖架构
数据湖是一个存储(N多数据)原始数据的地方,适合为数据分析人员和数据科学家提供一个自由探索的环境,他们可以在这里挖掘数据,发现新的见解。就像是一个实验室,里面的化学用品(数据)可以被拿来分析和实验,看看能发现什么新东西。
核心思想是存储原始数据的一切细节,先存起来再说,用的时候再按需处理。与数据仓库的schema-on-write模式不同,数据湖采用schema-on-read模式,写入时不定义结构,读取时再解析。
数据湖通常建立在Hadoop的HDFS或云存储S3、OSS之上,能容纳三种数据:
结构化数据:数据库表、CSV文件
半结构化数据:JSON、XML、日志文件
非结构化数据:图片、视频、音频、文档
4. 实施要点
- 技术演进
- 优缺点
这种存储方式带来巨大灵活性。数据科学家可以拿到最原始的数据做挖掘,发现之前没注意到的价值。比如用户行为日志,在数据仓库里可能只保留了聚合后的PV、UV,但在数据湖里,每一次点击的坐标、停留时间、页面元素交互都原样保存,这些细节可能藏着产品优化的金钥匙。
但数据湖有个致命问题:容易变成数据沼泽。数据一股脑往里倒,缺乏治理,半年后谁也找不到谁,数据质量参差不齐,最后没人敢用。所以现代数据湖都强调要加强元数据管理、数据质量监控和访问权限控制。
5. 湖仓一体
湖仓一体是近年最火的概念,本质上是在解决数据湖和数据仓库各自的痛点。
数据湖灵活但不好用,数据仓库好用但不灵活。湖仓一体就想搞个融合方案,在数据湖的基础上,加上数据仓库的管理能力和查询性能。
实现湖仓一体有两条路径:
给数据仓库增加数据湖的能力:比如Snowflake支持直接查询S3上的Parquet文件
给数据湖增加数据仓库的特性:比如Databricks在Spark基础上增加ACID事务、索引优化、数据版本控制
无论哪条路径,核心目标都是实现三个统一:
统一存储:一份数据,既支持数据科学家的探索分析,也支持业务人员的报表查询
统一计算:SQL查询和机器学习可以跑在同一套数据上,不用来回搬运
统一治理:数据质量、权限管理、血缘关系在湖和仓之间保持一致
需要注意的是,湖仓一体架构下,数据从湖到仓、从仓到湖的流动非常频繁。比如原始日志先进入数据湖,经过清洗后进入数据仓库的ODS层,然后加工成DWD、DWS层,这个过程需要稳定可靠的管道。同时,数据仓库里的聚合结果可能要导回数据湖,供算法团队使用。
湖仓一体的优势显而易见:降低了数据冗余,减少了ETL的复杂度,让数据分析和AI训练能更好地结合。但目前技术还在快速发展中,不同厂商的方案差异较大,选型时需要谨慎评估。
五、数据中台
1. 简介
数据中台是一种以数据为核心的架构和理念,旨在构建一个集中、可控、高效的数据管理平台。它将企业内外的各类数据整合,通过统一的标准和规范,实现数据的互通和共享。
例如:数据中台就是超市的供应链,接收派发来自不同厂家的商品、物资等,进行分类、存储和摆放。
数据中台是阿里在2015年提出的概念,也是这几个词里最偏向业务的一个。它不只是一个技术架构,更是一套组织方法论。
2. 使用场景
3. 数据中台架构
数据中台能提供API或其他共享方式提供数据服务,确保数据快速、灵活地服务于业务,加速决策。但是缺少原始的、未加工的形式的数据。
数据中台的目标是把数据变成企业可以重复使用的资产,快速响应前端业务需求。它建在数据仓库或数据湖之上,核心是三个东西:
数据资产体系:把原始数据加工成标签、指标、算法模型这些标准化组件
数据服务平台:通过API、SDK等方式,让业务部门像搭积木一样调用数据能力
数据运营机制:配备专门团队持续迭代数据资产,保证质量
举个例子,电商公司要做一个精准营销功能。传统做法是市场部门提需求,数据团队写SQL取数,开发团队做接口,折腾一个月上线。有了数据中台,用户标签、商品标签、推荐模型都已经是现成的服务,业务部门直接调用API,三天就能上线活动页面。
4. 实施要点
- 优缺点
数据中台最大的价值是缩短数据到业务的距离。但它不是万能药,建设周期长,需要高层强力推动,而且如果业务场景不清晰,很容易做成面子工程。
六、总结
它们从来不是同一套系统的不同叫法,而是数据领域五个不同的专业方向,各有各的定位,各有各的价值。理解这些概念的区别,并不是为了背定义装专业,而是在实际工作中能做出正确选择。
近年来技术圈的新概念层出不穷,但底层逻辑万变不离其宗:存储、计算、治理、应用。
1. 区别
总的来说,这些技术在不同的场景中都有各自的价值。
- 数据库:数据管理的基础。
- 数据仓库:用于分析和决策支持。
- 数据平台:提供全面的数据处理能力。
- 数据湖:用于存储大量的原始数据。
- 数据中台:强调数据的整合和共享。
- 数据类型:
数据库:主要处理结构化数据,有明确的数据结构和模式。
数据仓库:通常处理结构化数据,经过了一定的清洗、转换和整合。
数据平台:能够处理结构化、半结构化和非结构化数据。
数据湖:可以容纳各种类型的数据,包括原始的、未经处理的结构化、半结构化和非结构化数据。
数据中台:整合了多种类型的数据,包括结构化、半结构化和非结构化。
- 数据用途:
数据库:支持日常的事务处理,如订单录入、客户信息管理等。
数据仓库:用于数据分析和决策支持,例如生成报表、进行数据挖掘。
数据平台:涵盖了数据的全生命周期管理,包括采集、存储、处理、分析和应用。
数据湖:作为数据的存储池,为后续的分析和处理提供原始数据。
数据中台:着重于打破数据孤岛,实现数据的共享和复用,以支持快速的业务创新。
- 数据模式:
数据库:遵循严格的预定义模式。
数据仓库:通常有较为固定的模式,但相对数据库可能更具灵活性。
数据平台:模式较为灵活,可根据不同的处理需求进行调整。
数据湖:没有预先定义的模式,数据在写入时无需进行模式定义。
数据中台:强调统一的数据标准和规范,以确保数据的一致性和可用性。
- 数据处理速度:
数据库:注重事务处理的速度和一致性。
数据仓库:处理大规模数据的分析查询,速度相对较慢。
数据平台:性能取决于具体的技术架构和配置。
数据湖:在处理大规模数据时,性能可能会受到存储架构和计算资源的影响。
数据中台:致力于提供快速的数据服务和响应能力。
- 成本:
数据库:相对较低的建设和维护成本。
数据仓库:建设和维护成本较高。
数据平台:成本因规模和技术选型而异。
数据湖:存储成本可能较高,但处理成本相对较低。
数据中台:通常需要较高的投入来构建和运营。
| 维度 | 数据库 | 数据仓库 | 数据平台 | 数据中台 | 数据湖 |
|---|---|---|---|---|---|
| 数据类型 | 主要处理结构化数据,有明确的数据结构和模式。 | 通常处理结构化数据,经过了一定的清洗、转换和整合。 | 能够处理结构化、半结构化和非结构化数据。 | 整合了多种类型的数据,包括结构化、半结构化和非结构化。 | 可以容纳各类类型的数据,包括原始的、未经处理的结构化、半结构化和非结构化数据。 |
| 数据用途 | 支持日常的事务处理,如订单录入、客户信息管理等。 | 用于数据分析和决策支持,例如生成报表、进行数据挖掘。 | 涵盖了数据的全生命周期管理,包括采集、存储、处理、分析和应用。 | 着重于打破数据孤岛,实现数据的共享和复用,以支持快速的业务创新。 | 作为数据的存储池,为后续的分析和处理提供原始数据。 |
| 数据模式 | 遵循严格的预定义模式。 | 通常有较为固定的模式,但相对数据库可能更具灵活性。 | 模式较为灵活,可根据不同的处理需求进行调整。 | 强调统一的数据标准和规范,以确保数据的一致性和可用性。 | 没有预定义的模式,数据在写入时无需进行模式定义。 |
| 处理速度 | 注重事务处理的速度和一致性。 | 处理大规模数据的分析查询,速度相对较慢。 | 性能取决于具体的技术架构和配置。 | 致力于提供快速的数据服务和响应能力。 | 在处理大规模数据时,性能可能会受到存储架构和计算资源的影响。 |
| 成本 | 相对较低的建设和维护成本。 | 建设和维护成本较高。 | 成本因规模和技术选型而异。 | 通常需要较高的投入来构建和运营。 | 存储成本可能较高,但处理成本相对较低。 |
2. 联系
它们共同构成了企业的数据管理体系,相互协作以满足不同的业务需求。
数据库为其他组件提供了基础的数据来源。
数据仓库常常从数据库中获取数据,并进行整合和分析。
数据平台可以整合来自数据库、数据仓库、数据湖等的数据,并提供统一的处理和管理环境。
数据湖可以作为数据的原始存储,为数据仓库、数据中台等提供数据支持。
数据中台依赖于数据库、数据仓库和数据平台等提供的数据,实现数据的共享和服务化。
例如:一家超市企业可能使用数据库来管理订单和用户信息,将这些数据抽取到数据仓库进行销售趋势分析,利用数据平台进行大数据处理和机器学习模型训练,通过数据中台实现数据在不同业务部门的共享和复用,同时将大量的用户行为数据存储在数据湖中以备后续的深入分析。
本文的引用仅限自我学习如有侵权,请联系作者删除。
参考知识
一文读懂数据库、数据仓库、数据平台、数据中台、数据湖
数据仓库、大数据平台、数据湖、数据中台、湖仓一体:一文说清区别