数据仓库、数据集市、数据湖、数据中台这些概念,终于整明白了
这几年的数据领域出现好多的概念,例如:人工智能、物联网、边缘计算、数据治理、数据湖、数据中台……可谓是“百花齐放”!一时间大家都在提新概念,但却不是所有人都清楚到底意味着什么。
“人家都数据中台了,你还在做数据报表”
“人家都数据湖了,你还在搞数据仓库”“
阿里“拆中台”了,中台难道不香了”
……
到底为什么要做数据湖/数据中台,有什么价值呢?孰优孰劣?究竟我的公司是不是也要做数据中台/数据湖吗,这是随之而来的问题。
事物总是在不断演化的,唯一不变的就是变化。今天就和大家展开讨论数据仓库、数据湖和数据中台这几个概念之间的藕断丝连。
01数据仓库
1988年,为解决企业的数据集成问题,IBM的两位研究员创造性地提出了一个新的术语:数据仓库(Data Warehouse)。到了1992年,后来被誉为“数据仓库之父”的比尔·恩门给出了数据仓库的定义,二十多年后的今天他的定义依然没有被时代淘汰。我们来看看他是怎么定义的:
数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理中的决策制定。
对于数据仓库的概念我们可以从两个层次予以理解:
- 首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;
- 其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
简单的理解,其实就是为了进行OLAP,把分布在各个散落独立的数据库孤岛整合在了一个数据结构里面,称之为数据仓库。
△数据仓库逻辑架构
原来各个数据孤岛中的数据,可能会在物理位置(比如沃尔玛在各个州可能都有自己的数据中心)、存储格式(比如月份是数值类型,但天气可能是字符类型)、商业平台(不同数据库可能用的是Oracle数据库,有的是微软SQL Server数据库)、编写的语言(Java或者Scale等)等等各个方面完全不同,数据仓库要做的工作就是将他们按照所需要的格式提取出来,再进行必要的转换(统一数据格式)、清洗(去掉无效或者不需要的数据)等,最后装载进数据仓库。
自从数据仓库出现之后,信息产业就开始从以关系型数据库为基础的运营式系统慢慢向决策支持系统发展。这个决策支持系统,其实就是我们现在说的商务智能即BI。可以这么说,数据仓库为OLAP解决了数据来源问题,数据仓库和OLAP互相促进发展,进一步驱动了商务智能的成熟。
数据仓库是一个功能概念,是将企业的各业务系统产生的基础数据,通过维度建模的方式,将业务数据划分为多个主题(集市)统一存储,统一管理。
应用场景:一般都是作为商业智能系统、数据仪表盘等可视化报表服务的数据源。
02数据集市
数据仓库之父比尔·恩门说过一句话叫“IT经理们面对最重要的问题就是到底先建立数据仓库还是先建立数据集市”,足以说明搞清楚这两者之间的关系是十分重要而迫切的。通常在考虑建立数据仓库之前,会涉及到如下一些问题:
- 采取自上而下还是自下而上的设计方法
- 企业范围还是部门范围
- 先建立数据仓库还是数据集市
- 建立领航系统还是直接实施
- 数据集市是否相互独立
数据集市可以理解为是一种"小型数据仓库",它只包含单个主题,且关注范围也非全局。数据集市可以分为两种:
- 一种是独立数据集市,这类数据集市有自己的源数据库和ETL架构;
- 另一种是非独立数据集市,这种数据集市没有自己的源系统,它的数据来自数据仓库。当用户或者应用程序不需要/不必要/不允许用到整个数据仓库的数据时,非独立数据集市就可以简单为用户提供一个数据仓库的子集。
数据集市是一个结构概念,它是企业级数据仓库的一个子集,主要面向部门级业务,并且只面向某个特定的主题。
应用场景:数据集市是数仓之上更聚焦的业务主题合集,更偏向于应对业务数据快速高效应用的需求,一般用于商业智能系统中探索式和交互式数据分析应用
03数据湖
2010年,Pentaho首席技术官James Dixon创造了“数据湖”一词。他把数据集市描述成一瓶清洗过的、包装过的和结构化易于使用的水。而数据湖更像是在自然状态下的水,数据流从源系统流向这个湖。用户可以在数据湖里校验,取样或完全地使用数据。
这个也是一个不精确的定义。数据湖还有以下特点:
- 从源系统导入所有的数据,没有数据流失。
- 数据存储时没有经过转换或只是简单的处理。
- 数据转换和定义schema 用于满足分析需求。
数据湖能给企业带来多种能力,例如,能实现数据的集中式管理,在此之上,企业能挖掘出很多之前所不具备的能力。
另外,数据湖结合先进的数据科学与机器学习技术,能帮助企业构建更多优化后的运营模型,也能为企业提供其他能力,如预测分析、推荐模型等,这些模型能刺激企业能力的后续增长。
△数据湖示意图
数据湖是一种数据存储理念,存储企业各种各样的原始数据的大型仓库,包括结构化、非结构、二进制图像、音频、视频等等。
应用场景:以大数据技术为基础有多样化数据结构海量大数据存储需求,也可作为数据仓库或者数据集市的数据源。
04数据中台
数据中台是指通过企业内外部多源异构的数据采集、治理、建模、分析,应用,使数据对内优化管理提高业务,对外可以数据合作价值释放,成为企业数据资产管理中枢。数据中台建立后,会形成数据API,为企业和客户提供高效各种数据服务。
△数据中台架构图
数据中台整体技术架构上采用云计算架构模式,将数据资源、计算资源、存储资源充分云化,并通过多租户技术进行资源打包整合,并进行开放,为用户提供“一站式”数据服务。
利用大数据技术,对海量数据进行统一采集、计算、存储,并使用统一的数据规范进行管理,将企业内部所有数据统一处理形成标准化数据,挖掘出对企业最有价值的数据,构建企业数据资产库,提供一致的、高可用大数据服务。
数据中台不是一套软件,也不是一个信息系统,而是一系列数据组件的集合,企业基于自身的信息化建设基础、数据基础以及业务特点对数据中台的能力进行定义,基于能力定义利用数据组件搭建自己的数据中台。
数据中台是一个逻辑概念,为业务提供服务的主要方式是数据API,它包括了数据仓库,大数据、数据治理领域的内容。
应用场景:是将数据服务化提供给业务系统,目的是将数据能力渗透到业务各个环节,不限于决策分析。
05各种概念对比
ODS VS 数据仓库 VS 数据集市
操作型数据库(ODS)、数据仓库(DW或EDW)、数据集市(DM)是目前标准数仓结构的三个核心组件。
ODS用作所有原始数据的临时存储区域,这些数据即将进入数据仓库进行数据处理。我们可以将其想象成仓库装卸码头,货物在此处交付、检查和验证。在ODS中,数据在进入仓库前可以被清理、检查(因为冗余目的),也可检查是否符合业务规则。在ODS中,我们可以对数据进行查询,但是数据是临时的,因此它仅提供简单信息查询,例如正在进行的客户订单状态。
数据集市通常是数据仓库的子集;它的数据通常来自数据仓库,尽管还可以来自其他来源。数据集市的数据专门针对特定的用户(例如销售团队),以便他们能够快速找到所需的数据。通常,数据保存在那里用于特定用途,例如财务分析。
数据集市也比数据仓库小得多,它们可以容纳数十千兆字节,相比之下,数据仓库可以存储数百千兆字节到PB级数据,并可用于数据处理。数据集市可从现有数据仓库或其他数据源系统构建,你只需设计和构建数据库表,使用相关数据填充数据库表并决定谁可以访问数据集即可。
数据仓库 VS 数据湖
数据仓库与数据湖从存储对象上来讲,主要区别在于:
- 数据仓库则用于存储来自多个来源的结构化数据。
- 数据湖的不同之处在于它可存储非结构化、半结构化和结构化数据。
数据仓库 VS 数据湖 VS 数据中台
大数据时代,数据量越来越多,数据形式日益复杂,而以数据仓库为代表的、现有的数据存储和处理技术无法满足海量、多样的数据处理需求的背景下产生的。“数据湖”是将复杂的事物具象化,偏技术一些,以一个形象的名字,反应了它在大数据存储和大数据处理方面的优势和能力。
数据湖作为一个集中的存储库,可以在其中存储任何形式(结构化和非结构化)、任意规模的数据。在数据湖中,可以不对存储的数据进行结构化,只有在使用数据的时候,再利用数据湖强大的大数据查询、处理、分析等组件对数据进行处理和应用。因此,数据湖具备运行不同类型数据分析的能力。
数据中台从技术的层面承接了数据湖的技术,通过数据技术,对海量、多源、多样的数据进行采集、处理、存储、计算,同时统一标准和口径,把数据统一之后,以标准形式存储,形成大数据资产层,以满足前台数据分析和应用的需求。数据中台更强调应用,离业务更近,强调服务于前台的能力,实现逻辑、算法、标签、模型、数据资产的沉淀和复用,能更快速的相应业务和应用开发的需求,可追溯,更精准。
06总结
根据以上数据仓库、数据湖和数据中台的概念论述和对比,我们进行如下总结:
1、数据仓库是通过ETL技术把原始数据进一步加工处理,提高数据数据质量,统一数据标准,然后把数据再进行分类,就是主题的维度建模过程,将数据统一存储与管理,为了满足决策分析型需求。
2、数据湖就好比一个大型仓库,什么格式的数据都存储,但只存原始数据。
3、数据中台是将经过数据治理的数据仓库或大数据平台中的数据,通过接口的方式直接服务于应用系统。
那么所有这些企业都必须做吗?
对企业来说,选择哪种平台?答案是没有最好,只有最合适,盘点下自己企业数据资产情况、数据服务的需求情况、数据治理的能力情况,再根据成熟度能力模型评估,正确定位自己。
无论是建立数据仓库还是数据中台都是以业务目标为主,切莫盲目跟风,没有最好的技术,只有最合适的平台。