数据行业中涉及很多概念,其中包括:数据仓库、数据集市、数据湖、数据中台。
对于这些概念的介绍可以参考往期笔记。
数据库与数据仓库、数据湖、数据集市
下面对这些概念做一个对比和总结。
概念介绍
数据仓库是一个功能概念,是将企业的各业务系统产生的基础数据,通过维度建模的方式,将业务数据划分为多个主题(集市)统一存储,统一管理。
应用场景:一般都是作为商业智能系统、数据仪表盘等可视化报表服务的数据源。
数据集市是一个结构概念,它是企业级数据仓库的一个子集,主要面向部门级业务,并且只面向某个特定的主题。
应用场景:数据集市是数仓之上更聚焦的业务主题合集,更偏向于应对业务数据快速高效应用的需求,一般用于商业智能系统中探索式和交互式数据分析应用
数据湖是一种数据存储理念,存储企业各种各样的原始数据的大型仓库,包括结构化、非结构、二进制图像、音频、视频等等。
应用场景:以大数据技术为基础有多样化数据结构海量大数据存储需求,也可作为数据仓库或者数据集市的数据源。
数据中台是一个逻辑概念,为业务提供服务的主要方式是数据API,它包括了数据仓库,大数据、数据治理领域的内容。
应用场景:是将数据服务化提供给业务系统,目的是将数据能力渗透到业务各个环节,不限于决策分析。
对比
ODS VS 数据仓库 VS 数据集市
操作型数据库(ODS)、数据仓库(DW或EDW)、数据集市(DM)是目前标准数仓结构的三个核心组件。
对比项 | ODS | EDW | DM |
---|---|---|---|
核心目的 | 数据集中 | 数据存储 | 数据应用 |
主要工作内容 | 保留源系统业务逻辑的前提下,将上游数据的格式按照数仓要求统一,并做简单的数据清洗 | 数据整合重定义,解决多源造成定义不同意问题;业务规则统一,消除源系统壁垒;剔除数据冗余,提高存储与检索性能 | 根据不同需求,选取所需数据,组建各自的数据分析主题,获取数据组合后的新数据。分析主题间相对独立,互不影响。 |
服务对象 | EDW | 全局 | 局部 |
主要关注点 | 数据全面性 | 数据有效性、数据精确性 | 数据可用性、数据相关性 |
数据有效性 | 永久 | 永久或长期 | 中短期 |
数据设计规则 | 沿用源系统规则 | 三范式规则,法律法规、行业规则等客观业务规则 | 自定义规则 |
数据仓库 VS 数据湖
数据仓库与数据湖从存储对象上来讲,主要区别在于:
- 数据仓库则用于存储来自多个来源的结构化数据。
- 数据湖的不同之处在于它可存储非结构化、半结构化和结构化数据。 | 数据仓库 | 数据湖 | | —- | —- | | 主要处理历史的、结构化的数据,而且这些数据必须与数据仓库事先定义的模型吻合。 | 能处理所有类型的数据,如结构化数据,非结构化数据,半结构化数据等,数据的类型依赖于数据源系统的原始数据格式。 | | 处理结构化数据,将它们转化为多维数据或转换为报表,以满足后续的高级报表及数据分析需求。 | 拥有足够强的计算能力用于处理和分析所有类型的数据,分析后的数据会被存储起来供用户使用。 | | 数据仓库通常用于存储和维护长期数据,因此数据可以按需访问。 | 数据湖通常包含更多的相关的信息,这些信息有很高概率会被访问,并且能够为企业挖掘新的运营需求。 |
数据仓库 VS 数据湖 VS 数据中台
数据湖作为一个集中的存储库,可以在其中存储任何形式(结构化和非结构化)、任意规模的数据。在数据湖中,可以不对存储的数据进行结构化,只有在使用数据的时候,再利用数据湖强大的大数据查询、处理、分析等组件对数据进行处理和应用。因此,数据湖具备运行不同类型数据分析的能力。
数据中台从技术的层面承接了数据湖的技术,通过数据技术,对海量、多源、多样的数据进行采集、处理、存储、计算,同时统一标准和口径,把数据统一之后,以标准形式存储,形成大数据资产层,以满足前台数据分析和应用的需求。
数据中台更强调应用,离业务更近,强调服务于前台的能力,实现逻辑、算法、标签、模型、数据资产的沉淀和复用,能更快速的相应业务和应用开发的需求,可追溯,更精准。
对比项 | 数据仓库 | 数据中台 | 数据湖 |
---|---|---|---|
存储结构 | 主题式 | 平面 | 平面 |
存储方式 | 结构化 | 结构化 | 结构化、非结构化 |
实时支持 | 历史分析 | 实时分析 | 实时分析 |
是否预先定义 | 需要 | 需要 | 不需要 |
安全及权限 | 高 | 高 | 一般 |
分布式支持 | 不支持 | 支持 | 支持 |
总结
- 数据仓库是通过ETL技术把原始数据进一步加工处理,提高数据数据质量,统一数据标准,然后把数据再进行分类,就是主题的维度建模过程,将数据统一存储与管理,为了满足决策分析型需求。
- 数据湖就好比一个大型仓库,什么格式的数据都存储,但只存原始数据。
- 数据中台是将经过数据治理的数据仓库或大数据平台中的数据,通过接口的方式直接服务于应用系统。
附参考资料: