数据湖的缘起

数字化转型网数据专题将关注数据治理、数据质量管理、数据架构、主数据管理、数据仓库、元数据管理、数据备份、数据挖掘、数据分析、数据安全、大数据、数据合规、等数据相关全产业链相关环节。

10年前,Pentaho公司(一家开源BI公司)的CTO詹姆斯·迪克森在他的博客中第一次提出“数据湖”(Data Lake)的概念;10年后的今天,在业界“数据中台”大火的时代背景下,再来讨论“数据湖”,应该别有一番韵味。数字化转型网www.szhzxw.cn

1、从事务系统到数据仓库

要了解数据湖的来龙去脉,首先得提数据仓库的缘起[1][2]。

“数据仓库”,由比尔·恩门(Bill Inmon)于1990年提出,其被广泛接受的定义是,一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策,通常也被认为是决策支持型应用的必要条件。数字化转型网www.szhzxw.cn

此处的定义大多都是针对事务型数据系统而制定的。所谓事务型数据系统,是指记录业务交易的系统,这个名词先是在金融业,特别是银行实施信息化IT系统时使用的。例如银行的交易流水数据库,每分每秒都有大量的交易被数据库所记录并持久化的保存下来,其最小的颗粒度就是一笔“交易”。

但事务性数据系统存在诸多劣势:试想,如果一个银行的分行长想知道今天到目前为止共有多少现钞存款入账,那么系统就需要遍历今天截止到目前的所有交易行为,并筛选其中的存款行为进行汇总。查询交易的行为需要遍历当前系统的所有记录,因此当这一行为频率变高时,会对数据系统造成巨大的读取压力。

除开查询或分析任务对事务型数据系统造成的资源压力外,系统执行任务时,返回的结果只代表着任务开始运行那一刻的数据状态,假设执行查询任务消耗了1分钟,这1分钟内很有可能发生多次的交易撤销、额度修改,增加交易等行为。有些数据系统允许在读取数据的同时写入数据,那么查询任务返回的结果并不能代表最新的状态;有些数据系统则有“读锁”,即在读取数据的时候不允许写入数据,那么这个长达1分钟的查询任务会使得业务交易失败或者暂缓进入数据系统,如果其中发生业务中断,这些交易数据可能面临丢失的风险。数字化转型网www.szhzxw.cn

当然,我们可以通过技术手段来避免或缓解事务型数据系统的不足,因此事务型的数据库并不是不能做业务分析,只是当决策者需要进行经营性的分析和决策时,大多数时候它并非最优方案。此时,数据仓库面向主题且便于分析的优势就体现出来了:

数据仓库是面向主题的。相对于事务型系统将交易类型(存款)、交易币种(人民币或外币)、交易数值(存款额)以一条事务(Transcation)的方式存储,数据仓库通常会将一条事务中的不同信息拆分到不同的主题域中分别存储,例如交易类型表、交易币种表和交易额度表等。

数据仓库是集成的。不同主题域中的信息之间以统一的ID,如交易流水号为标识进行链接。这样的好处是当分行长想知道今天到目前为止一共有多少人民币存款入账时,只需要先筛选出交易类型为存款,交易币种为人民币的交易流水号,再基于这些流水号去汇总交易额度,比起原先需要遍历全部交易记录后才能汇总的方式大大节约了系统资源的开销。数字化转型网www.szhzxw.cn

数据仓库是相对稳定的。数据仓库通常以时间窗口作为数据批量导入的分区,例如每一小时或一天从事务型系统导入一次数据,在下一次数据导入任务开始之前,系统处于一个相对稳定的状态,有利于进行经营性的业务分析。

数据仓库是反映历史变化的。正是由于通常数据仓库中的数据是基于预先设定好的时间窗口从事务型系统中获取数据,无论是一分钟、一小时还是一天、一周,它都是可以反映数据整体历史变化的,分行长可以清楚地知道今天银行的人民币存款入账环比昨天增长或减少了多少,同比上个月的今天又发生了什么变化。

因此,比起事务型的数据系统,数据仓库能更有效地对业务数据进行统计分析,无论是在提高效率、稳定性还是降低资源成本上都有其优势,所以被广为接受而大行其道。

2、从数据仓库到数据集市

后来,数据仓库领域的大师Ralph Kimball又演化出“维度建模”的概念,认为数据仓库是一系列数据集市的集合。如果说数据仓库中包含着许多不同的主题域,那么数据集市可以理解为主要面向业务应用的单一主题域。数字化转型网www.szhzxw.cn

比如,分行长可以建设面向存储部门的、专门提供存款数据的“存款数据集市”,面向商业贷款部门的“贷款数据集市”,面向信用卡部门的“信用卡数据集市”等,其数据都源自数据仓库,但数据集市的汇总程度更高、更注重业务表示。例如“环比存款增长率”这个指标在数据仓库中可能表示为“上月存款额”和“本月存款额”两个不同的数值,而在数据集市或者数据仓库的“集市层”中,就表示为计算后的一个数值,可以直接被业务所用而无需再做多余的计算。

3、数据湖的由来

数据湖最早是由Pentaho的创始人兼CTO, 詹姆斯·迪克森,在2010年10月纽约Hadoop World大会上提出来的。当时Pentaho刚刚发布了Hadoop的第一个版本。在这样的一个大背景下,可以合理的猜测,当时James Dixon提出数据湖的概念,是为了推广自家的Pentaho产品以及Hadoop的。

Pentaho是个BI分析组件。当时的BI分析主要是基于数据集市(Data Mart)的。数据集市的建立需要事先识别出感兴趣的字段、属性,并对数据进行聚合处理。这样BI分析面临两个问题:

(1)只使用一部分属性,这些数据只能回答预先定义好(pre-determined)的问题。

(2)数据被聚合了,最低层级的细节丢失了,能回答的问题被限制了。

而基于Hadoop的BI分析,可以解决这个问题——把所有数据都原样存在Hadoop中,后面需要的时候再来取用。如果说数据集市、数据仓库里面是瓶装的水——它是清洁的、打包好的、摆放整齐方便取用的;那么数据湖里面就是原生态的水——它是未经处理的,原汁原味的。数据湖中的水从源头流入湖中,各种用户都可以来湖里获取、蒸馏提纯这些水(数据)。数字化转型网www.szhzxw.cn

接下来发生的事件让数据湖的内涵获得了拓展,这是詹姆斯·迪克森没想到的。

2011年,福布斯在文章《Big Data Requires a Big, New Architecture》中报道了“data lake”这个词,并给出了数据仓库与数据湖的对比:数据仓库的数据在被集成时就会被预先分类,并以最优的方式进行存储,以支撑特定的分析;但在大数据时代,我们从源系统抽取数据时可能无法明确知道这些数据的价值,因此无法给出一个最优的存储方式。

例如,分行长从交易系统中将所有的数据都抽取过来,但并不知道业务部门想做什么类型反映业务历史的变化。因此建议将这些数据先保存在一个海量的数据库中。由于数据来源的格式五花八门而且会越存越多,因此这个数据库需要具备容易访问且存储成本低(允许硬件资源扩容的成本而尽可能降低其他成本,例如软件使用费用、人工维护费用等)的特性,需要进行分析时,再来组织和筛选所需数据,这个数据库就是数据湖(Data Lake)。

彼时的数据湖概念更多地是关于当企业在处理海量异构的数据时,如何在数据产生实际的应用价值之前,为海量数据构建一个易访问且成本低的存储方式,和数据资产化、资产服务化等当下热点名词并没有太大关系。数字化转型网www.szhzxw.cn

2014年,福布斯杂志上刊登了一篇名为《The Data Lake Dream》的文章,文章作者EddDumbill描述了数据湖的愿景:

(1)融合所有数据,解决系统间数据孤岛、各类应用统一访问问题;

(2)数据可获取性提高,应用部署时间缩短;

(3)具有弹性的分布数据处理的平台,能同时支撑批量和实时数据操作处理和分析;

(4)数据湖增加安全和管控层面的功能;

(5)重视集中、自动的元数据管理和入湖标准,避免成为没有价值的数据。

数据湖可以解决数据孤岛问题这种特性似乎也挺符合数据湖的理念的。各种数据源都汇聚到一个湖里,自然就解决了数据孤岛问题,但这应该并不是James的本意。从他后来的blog中可以看出,他所认为的数据湖是这样的:

(1)数据湖应该是来源于单一的数据源;

(2)你可以有多个数据湖;数字化转型网www.szhzxw.cn

(3)如果存储来自多个系统的数据并对他们进行关联,那么这不是数据湖,而是由多个数据湖填充而成的水上花园(Water Garden)

不过,创始人怎么想已经不重要了……目前大家普遍认为,解决数据孤岛是数据湖的一大特点,毕竟这是一个看上去很美好的事。

然后云计算的“XaaS”的风潮助推了数据湖的兴起,例如软件即服务(SaaS,Software as a Service),平台即服务(PaaS,Platform as a Service),基础设施即服务(Iaas,Infrastructure as a Service)。从这个时候开始,单纯的数据湖就朝向一个“平台级的方案”而演进。

数据湖从本质上来讲,是一种企业数据架构方法。物理实现上则是一个数据存储平台,用来集中化存储企业内海量的、多来源,多种类的数据,并支持对数据进行快速加工和分析。

目前Hadoop是最常用的部署数据湖的技术,以前这个概念国内谈的少,但绝大部分互联网公司都已经有了,国内一般把整个HDFS叫做数据仓库(广义),即存放所有数据的地方,而国外一般叫数据湖(data lake)。数字化转型网www.szhzxw.cn

真正将数据湖推而广之的是亚马逊AWS。AWS 构筑了一套以 S3 为中心化存储、Glue 为元数据服务,E-MapReduce、Athena 为引擎的开放协作式的产品解决方案,AWS 之后,各个云厂商也纷纷跟进数据湖的概念,并在自己的云服务上提供类似的产品解决方案。

2014年6月26日,西瓜哥在“高端存储知识”公众号发表了一篇文章”你知道数据湖泊(DATA LAKE)吗?”一文,首次把数据湖这个概念引入中国。由于那时还没有标准的翻译,为了和数据仓库术语字数对齐,翻译成数据湖泊。数字化转型网www.szhzxw.cn

现在,数据湖已经得到快速发展,很多厂商都推出了自己的解决方案。当前商业的数据湖产品包括AWS数据湖、华为数据湖、阿里云数据湖、Azure数据湖,开源的数据湖产品包括delta、iceberg和hudi等等。

声明:本文来自网络,版权归作者所有。文章内容仅代表作者独立观点,不代表数字化转型网立场,转载目的在于传递更多信息。如有侵权,请联系我们。数字化转型网www.szhzxw.cn

数字化转型网数据专题包含哪些内容

数字化转型网数据专题将关注数据治理、数据质量管理、数据架构、主数据管理、数据仓库、元数据管理、数据备份、数据挖掘、数据分析、数据安全、大数据、数据合规、等数据相关全产业链相关环节。

数字化转型网数据专题包含: 数字化转型网(www.szhzxw.cn)

1、数据相关外脑支持:100+数据相关专家、100+数据实践者、1000+相关资料

2、数据研习社:与全球数据相关专家、实践者共同探讨相关问题,推动产业发展!

3、国际认证培训:目前已引进DAMA国际认证CDMP,其他国内外认证也在逐步引进中

4、典型案例参考:与数字化转型网数据要素X研习社社员一起学习典型案例,共探企业数据落地应用

本文由数字化转型网(www.szhzxw.cn)转载而成,来源于 大鱼的数据人生;编辑/翻译:数字化转型网Jack。

免责声明: 本网站(http://www.szhzxw.cn/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。 本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等) 版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。http://www.szhzxw.cn/55828.html
联系我们

联系我们

17717556551

邮箱: editor@cxounion.org

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部