数据库 频道

数据仓库还没凉,数据湖还没搞明白,怎么又来了“湖仓一体化”?

  最近手上堆积了不少跟数据相关的需求,在跟客户和同事交流的过程中,发现一个问题,那就是大家对数据的底层处理逻辑好像没有一个统一的认知。仔细思考一番,觉得还是有必要梳理一下。其实从去年开始,在数据领域有一个新概念悄悄兴起,开始在实际项目和产品中落地,各方势力也纷纷响应。那就是,湖仓一体化。大家可能又要感慨,数据仓库还没凉,数据湖也还没搞明白,这咋就又来了湖仓一体化。对,这就是这个时代IT的典型特征,悲哀+悲催......

  一、数据湖与数据仓库的纷争

  数据湖是近几年热度比较高的一个数据域的一个概念,热度和认知度几乎超过了前些年的数据仓库。其实数据湖和数据仓库不完全一个层面的概念。数据湖和数据仓库代表了数据架构设计的两种取向。

  1、数据湖

  数据湖的根本理念是通过开放底层存储,给数据入湖带来最大的灵活性,入湖数据可以是结构化的,也可以是非结构化的,甚至可以是原始的日志型数据。从本质上来讲,数据湖不是一个产品,也不应该是一个产品,而是一种架构模式,是由“数据存储架构+数据处理工具”组成的解决方案。

  数据存储架构,要有足够的扩展性和可靠性,要满足企业能把所有原始数据都“囤”起来,存得下、存得久。比如AWS数据湖服务底层存储架构用的就是S3。

  数据处理工具,又可以分成两大类,一类是数据移动、管理和治理工具,主要包括采集、编目、访问控制等等,这类工具其实是数据质量的保障,也保持了数据湖的活性;第二类是数据分析、挖掘和利用工具,这类工具是连接数据和应用场景的重要手段。

  由此可见,数据湖不只是一个囤积数据的水坑,而是由数据入湖、数据出湖、数据应用等工具共同组成的一个解决方案。

  2、数据仓库

  数据仓库,更关注数据的使用效率、大规模下的数据管理和安全合规这类的企业级成长性需求。数仓一般采用内置的存储系统,数据通常会经过事先的schema(当然也可以入仓后进行),然后经过统一的接口进入数仓。数据的抽取和Schema的设计,都有非常强的针对性,便于业务分析师迅速获取洞察结果,用与决策支持。

  与数据湖不同的是,数仓的通常需要采用进行信息和转化,强调建模和数据管理。通常来讲,数据仓库里面的数据含金量会高于甚至远高于数据湖,数据湖给人感觉更像是兜底,不管什么数据好赖都要,兼容并包,讲究原汁原味。从产品形态看,数仓一般是一个独立的产品和平台,数据湖则不是,没有那个产品会直接叫数据湖,一般都是一系列数据工具的集合。

  近几年,数据湖和数据仓库的应用场景和分界还是很清晰的。数据仓库擅长的BI、数据洞察离业务更近、价值更大,而数据湖里的数据,更多的是为了远景画饼。

  但是随着数据处理技术的发展以及AI的广泛应用,原来为画饼准备的数据湖里的数据得以重见天日,其价值被重新定义。这就是湖仓一体化。

  二、为全域数据赋能,湖仓一体化

  在数字化转型的推动下,数据作为重要的生产要素,其价值被重新定义,数据开始从一种无实际意义的资源变成有价值的资产。对数据价值的深度挖掘成了行业客户普遍关注的热点,所以很多人就行能不能把数据仓库和数据湖的价值进行叠加,让数据流动起来,减少重复建设。比如,让“数仓”在进行数据分析的时候,可以直接访问数据湖里的数据。再比如,让数据湖在架构设计上,就“原生”支持数仓能力。

  正是这些想法和需求,推动了数仓和数据湖的打通和融合,也就是当下炙手可热的概念:Lake House,现在也叫智慧湖仓。好玩吧,IT行业就是善于创造概念。

  智慧湖仓架构最重要的一点,是实现“湖里”和“仓里”的数据/元数据能够无缝打通,并且“自由”流动。湖里的“新鲜”数据可以流到仓里,甚至可以直接被数仓使用,而仓里的“不新鲜”数据,也可以流到湖里,低成本长久保存,供未来的数据挖掘使用。

  在湖仓一体化架构下,以下场景得以实现:

  ·可以将数据湖中最近几个月的“热数据”抽取到数仓中;

  ·可以轻松将大量冷门历史数据从数仓转移至成本更低廉的数据湖内,同时这些移到湖里的数据,仍然可以被数仓查询使用;

  ·处理数仓内的热数据与数据湖中的历史数据,生成丰富的数据集,全程无需执行任何数据移动操作;

  ·生成的新数据集可以插入到数仓中的表内,或者直接插入由数据湖托管的外部表中。

  在实际业务场景中,数据的移动不只是存在于数据湖和数据仓库之间,可以简单归纳为三种,一种是由外向内的数据入湖,第二种是由内向外的数据出湖,第三钟是围绕数据湖数据在数据服务组件之间流动。数据越多,管理和治理起来就约困难,就会形成所谓的“数据重力”现象。湖仓一体化不仅需要把数仓和数据湖集成起来,还要克服数据重力,让数据在服务之间按需流动。

  湖仓一体化也好,智能湖仓也好,并非单一产品,它描述的是一种架构。这套架构,以数据湖为中心,把数据湖作为中央存储库,再围绕数据湖建立专用“数据服务环”,环上的服务包括了数仓、机器学习、大数据处理、日志分析,甚至RDS和NOSQL服务等等。

  我们真正的目的是,从数据源定义、数据抽取和入湖入仓,到湖仓打通与集成,再到数据出湖、数据处理和数据消费,一气呵成,各种云上数据服务无缝集成在一起。数据从各种源头“流入”到智能湖仓存储中,又按需流出,被处理、被消费。

  在“智能湖仓”架构下,企业可以轻松汇集和保存海量业务数据,并随心所欲地调用各种数据服务,用于BI、可视化分析、搜索、建模、特征提取、流处理等等,未来新的数据源、新的分析方法,也可以快速应对。

  其实,真的不要被这些概念困扰,无论概念怎么变,我们都应该坚持对需求的正确理解和引导,构建完整的需求管理机制,以需求管理为基础,以架构规划为核心,以业务发展为导向,至于技术、产品都是为业务和架构服务的。

    【作者】郑金辉

0
相关文章