漫画|数据仓库、数据中台、数据湖,终于搞懂了
01
数据仓库
数据仓库由数据仓库之父比尔·恩门于1990年提出,英文名称为Data Warehouse,可简写为DW或DWH。
数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建,为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
主要特点如下:
■ 面向主题,指数据仓库内的信息是按主题进行组织的,而不是像业务系统那样按照功能组织。
■ 集成,指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。
■ 数据是基于历史的,指数据仓库内的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
👉 MOLAP,数据以多维方式存储以减少存储空间并提高查询效率,代表厂商为微软;
👉 ROLAP,数据以关系数据库方式存储,代表厂商为SAP BO。
■ 数据实时性问题:由于数据仓库是基于历史数据的,无法满足现代企业管理需求,原来数据仓库基于历史数据设计主要是为了提高查询效率,但是现代的硬件技术与分布式计算早已提供了更好的解决方法。
■ 数据共享问题:数据仓库以主题方式组织数据,比如财务数据、销售数据、采购数据,就使得在解决数据孤岛的问题上又形成了一棵棵“数据烟囱”,各部门在使用数据时,仍然会面临数据不一致问题,且数据仓库与业务之间高度耦合,也使得数据仓库维护工作量很大,修改起来工作量巨大,难以跟上管理变革。
■ 数据分析对业务的支撑不足:由于数据分析是基于历史数据的分析,而业务是实时的,所以两者之间存在一定的时间差,导致数据分析只能起到对业务的“支撑”作用,而无法起到对业务的“驱动”作用。
02
数据中台
数据中台主要特点如下:
■ 数据是“打平”的,而非主题式,以利于企业从全局角度对数据进行分析。
■ 数据是实时的,实时不是简单指数据只有最新数据,而是不仅仅有历史数据,也有当前实时数据,当数据发生变化时,如果对历史数据产生影响,历史数据的影响也要能实时反应出来。
■ 数据是可平滑扩充的,利用分布式存储与分布式计算技术,当数据量扩大或者分析业务扩充时,能够在不影响已有数据的情况下,快速平滑扩充。
■ 数据的变化与使用是可追溯的,支持血缘追溯功能,当数据发生错误时,可快速定位错误的来源,并且对数据的影响范围与用户清晰,化被动为主动。
■ 数据是以业务语言表示的,业务人员可直接使用:不同于数据仓库时代数据都是以表和字段等技术语言来表示,数据中台的数据要支撑管理模型,对外以业务语言来表示,能够为业务人员直接使用。
■ 数据与业务松耦合,当数据发生变化时,不会对业务分析造成困扰,同样当业务需求发生变化时,也不会直接影响到数据中台的数据组织方式。
注意:在数据中台阶段,因习惯性,数据仓库的名称仍然被沿用,此处数据仓库指的是数据中台内存储数据的数据库及数据(包括关系型数据库或分布式数据)。
03
数据湖
数据湖的概念最初是由大数据厂商提出的,是一种数据存储的理念。
特点如下:
■ 数据是以原始格式存储,不同于数据中台的结构化存储方式,数据湖以自然格式存储数据。
■ 数据不需要提前进行定义,在准备使用数据时,再定义即可,提高了最高的灵活性与可扩展性。
目前Hadoop是最常用的部署数据湖的技术,所以很多人会误解觉得数据湖就是Hadoop集群,其实数据湖是一个概念,Hadoop是实现这个概念的技术。同样很多厂商跟风宣称支持数据湖,其实只是支持Hadoop而已。
数据湖是一个新的概念,也是一个非常好的理念,但是从一个理念变成一个可以落地的系统时,就面临着许多问题:
■ 数据的存储成本:数据湖把所有数据都存储下来,需要一个前提,就是存储成本很低,在当今数据爆炸的时代,把所有原始数据,不区分价值大小,都存储下来,这在经济上能否被企业接受,存在疑问。
■ 数据的安全:数据湖中存储着所有的明细数据、日志数据,这些数据的安全怎么保证?怎样划分权限?特别是以非结构化形式存储,权限如何划定?比如一个视频,员工A只能看第一分钟的左半屏的视频,员工B只能看第五分钟的上半屏的视频,当前权限无法支撑。
■ 数据治理、数据质量问题:数据使用时再对数据进行定义,谁来定义?数据谁来治理,谁来进行数据质量保证?数据发生错误怎样开速定位?
04
对比与区别
三种概念的直接对比与建议:
比如企业A有两个客户:“明星公司”、“天天公司”,2019年“明星公司”收购“天天公司”,变成一家公司,新公司名称仍为“群星公司”,现在A企业要对所有客户进行收入分析与客户ABC分析。原始数据如下:
1)如果用数据仓库方式实现,设计如下:
参照表:(数据处理过程表,不面向最终使用者)
在数据抽取时,会对数据进行标准化处理,结果如下:
① 如果是在2019年前进行的数据仓库建设,事实表如下:
2018年的数据作为“历史数据”,不会被后来发生的事情影响,那么当进行客户增长性分析、客户利润分析及ABC分析时,会得到错误的结果。
② 如果是在2019年后进行的数据仓库建设,事实表如下:
作为历史的“天天公司”在业务人员面前“消失”,但是当进行地区分析时,又会得到错误的结果。
2)如果用数据中台方式实现,设计如下:
参照表(对业务人员开放):
数据在进行抽取及清洗时,不进行标准化处理,而是把历史数据与变化信息均存储下来,并形成一个客户变更的模型,在变更模型内,业务表与参照表自动建立关联关系,当业务人员查询时,会根据需要自动形成如下结果:
业务人员可以根据分析需求使用数据,保证了数据的正确性。
3)如果用数据湖的方式实现
数据将采用与原业务系统一致的方式存储,但是在数据使用时,需要对数据进行定义。
基于目前的成熟度与企业未来发展与扩充考虑,我们建议企业采用混搭结构,数据统一以原始格式存储于数据湖内(直接用Hadoop即可以实现),确认有用的数据从数据湖内转为结构化存储,进入数据中台使用。
来源:数钥分析云