作者 张良模 阿里云智能资深产品专家
谈到数据仓库,我们往往容易忽略“数据”两个字,阿里云有着很多营业场景和营业体系,在这些数据应用之下我们如何治理数据的呢?数据仓库是如何帮到我们以及它自身是如何演进的?
数据仓库概念从1990年提出,经过了四个主要阶段。从最初的数据库演进到数据仓库,到MPP架构,到大数据时代的数据仓库,再到今天的云原生的数据仓库。在不断的演进过程中,数据仓库面对着不同的挑衅。
第一 启动成本高、建设周期长,价值难以快速验证
对于数仓的建设人员,面对的挑衅是营业人员希望数仓建设周期能更短。而传统数据仓库往往要面对从采购效劳器,建立物理仓库到逻辑仓库等一个较长的周期,所以数据仓库面对的第一个挑衅就是怎样去降低建设周期。
第二 如何处理多样数据,拥抱新技术,充分挖掘数据价值
随着大数据的到来,传统数据仓库治理的大多是结构化数据。如何对半结构化的数据从事统一全面的治理就成为传统数据仓库面对的第二个挑衅。
第三 难以共享企业数据资产、数据创新成本高
数据仓库更加强调治理和安全,在强调安全的情况下如何在组织里以及整个生态上下游中更好的共享和交换数据,成为了新的挑衅。例如在企业的部门间或营业间依然存在为数不少的数据孤岛,数据共享成本高,缺乏企业级别的统一的数据获取出口,由此导致数据消费方获取数据困难,难于自助分析,严重依赖IT部门支持来满足企业更广泛的数据需求。
第四 平台架构复杂、运营成本高
随着数据处理种类的多样化和数据量的不断变大,不同的技术被叠加在一起从而使得数据仓库架构变得越发复杂。同一企业里往往会同时存在各种技术类型的数据仓库。所以如何简化数据仓库的架构也是面对的一个重要挑衅。一般需求投入专业团队负责治理复杂的数据平台,同时对资源利用率不高的情况从事治理和治理。
第五 满足营业需求的扩展性、弹性、灵活性
营业快速发展的企业,经常会有大促活动,补数据,处理非常规事件的需求,如何快速扩展数仓性能,提高营业峰谷的响应时效,也带来很多挑衅。
对于传统数据仓库面对的这些挑衅,在技术和营业的驱动下新型数据仓库如何应对呢?这里可以看到六个主要的驱动力。
第一 我们希望有一个统一的数据平台,能去连接,去保存和处理多种数据。
第二 及时化,企业鉴于数据驱动能及时对营业作出支撑和决策的信息,这里有更高时效性的要求。
第三 数据量变得非常庞大,在海量数据中如何找到想要的数据,就需求有一张地图,要对数据从事治理和治理。
第四 传统数据仓库中,数据的保存采用集中的办法,一定要把数据集中在同一个保存中。而在新的营业驱动下,需求去连接数据而不是统一保存在一起。
第五 数据仓库之上如何支持更多智能化的应用,信息化的营业以及营业的信息化等关系。这就是数仓智能化和智能化数仓的需求驱动力。
第六 数据领域的不同角色对数据平台有着不同需求。例如数据工程师,数据分析人员,数据科学家等,他们对数据平台的响应时间,处理速度,数据量,开发语言等有着不同的需求。所以更多的做好分析效劳,成为数据治理平台第六个驱动力。
据仓库在不断地演进过程中,从30年前的概念来看已经注入了更多新的内涵。对于新的内涵,我们可以从数据仓库的基础架构,数据架构,数据分析以及效劳模型四个角度来明显看到云原生,湖仓一体,离线及时一体化、效劳模型的SAAS化的演进趋势。
云原生 — 数仓基础架构的演进方向
云原生是数仓基础架构的一个基本的演进方向。传统数据仓库是鉴于物理效劳器或云上托管效劳器的模式。而云原生的情况下可以更多去应用云的基础效劳,包括保存效劳,网络效劳以及更多的监控效劳。这就意味着在云上用原生效劳可以获得云的自效劳、弹性等本领,云数仓就可以更好的去集成更多的云上效劳,包括如何把日志数据从各种数据源抽取到数据仓库中,也包括如何从事全链路的数据治理和机器学习等。所以云原生往往包含了如何建立和如何与云上效劳原生的集成。
如图,云原生的情况下在底层充分利用了云的弹性计较,保存以及安全本领。在此之上可以看到我们把所有云的复杂性都屏蔽掉,作为数据平台的用户,只需开通效劳,通过web办法创建项目空间,五分钟开通一个数据仓库从事数据仓库后面模型的开发。大大简化了效劳交付的周期以及数据仓库整个底层架构,技术架构建立过程。另一方面是云原生数仓的扩展性,不管你提交了一个只需求1CU的作业还是提交一个可能需求10000CU的作业,平台都会按你的需求调度资源来从事数据处理。所以云原生又给我们带来近乎无限的扩展性。
湖仓一体 — 数仓数据架构的演进方向
讲到湖仓一体,先来看湖仓一体背后的原因。不得不说到今天为止数据仓库仍然是企业治理数据最优的解决方案。各个企业大都有自己的数据仓库,只不过可能是鉴于不同的技术形态建立的数据仓库。在处理策略,对语义的支持上,对场景的优化上以及工程经验上,数据仓库是目前沉淀下来的一个最优的方案。在此之上,企业数据量越来越大,需求更灵活更敏捷的数据探索本领。同时,对未知数据存在先保存下来再进一步探索的诉求。由此,企业在架构上需求融合数据分析的最优化和可探索两个方面的优势,从处理策略到语义支持,以及使用案例上,数据仓库和数据湖分别带给企业不同的优势。数据仓库在易治理,数据质量高,而数据湖在可探索,灵活性强方面为我们带来优势。我们要思考和讨论如何将两种办法结合起来共用,这就是提出“湖仓一体”的背景。
在MaxCompute以数据仓库为主的场景下,将数据仓库对数据治理的最优工程经验,治理经验和数据湖对数据治理的灵活性,数据处理的灵活性更好的结合在一起, 2019年我们在全球率先提出了“湖仓一体”的全新数据治理架构。鉴于MaxCompute数据仓库来提供安全可靠的,结构化的数据治理办法,以及在此之上由DataWorks提供数据血缘,数据地图和数据治理等本领。这些本领如何延伸到数据湖中?今天我们可见的数据湖包括鉴于云上的对象保存OSS,也包含企业中鉴于Hadoop HDFS的数据湖,对于这两类数据湖如何鉴于已有的灵活性能够获得更容易探索本领,能提升它们得数据处理性能,治理本领和安全性?
我们所做的就是把数据仓库和数据湖两者打通,通过数据湖建立DLF,发现数据湖的元数据,从事结构化的统一治理,融合湖的灵活和便捷优势。这就是以仓为中心的湖仓一体新型数据治理的架构,数据仓库在企业数据的治理办法上往前又推进了一步。
离线及时一体 — 数仓数据分析的演进方向
在企业的数据仓库中,通过SLS、Kafka等订阅的办法从事数据采集,通常有三种路径。第一种可能是将一部分数据归档在数据仓库中,然后从事全量的分析。第二种是从事及时的查询分析,比如风控场景下查一个电话号码过去三年的通话记录,要马上查出来,就需求从事及时的连接分析。第三种是从事一些关联的多维度查询,对这些及时数据等从事关联的基础上,后面再来从事批量的处理,及时处理以及点查。及时数据的获取,计较以及应用这三方面,构成了整个数仓由离线向及时发展的三个核心含义。这里最核心的就是计较。计较的本质无外乎两个,一个是主动计较,另一个是被动计较。离线计较往往是被动计较,需求数仓工程师通过定义任务来调度作业,才能计较出新的结果。在及时离线一体化中,除了被动计较,还要有主动计较本领。当数据流入后,不做人工干预,任何作业的插入和重启都能自动算出新的结果或中间结果。参与及时计较就最大程度的增加了主动计较的过程,而主动的结果带给我们的好处就是无需重新调度任何作业就能拿到想要的结果数据。
在离线和及时一体的情况下虽然可以解决营业上的一些问题,但架构会非常复杂。所以阿里云提出离线及时一体化的数仓架构。简化是说我们只需求核心的几个产品,就可以实现离线和及时一体化的架构。数据源包括了交易数据以及各个效劳器生成的人的行为数据和物的行为数据,通过日志效劳,定期归档到Hologres,之后,及时数仓加上流计较来从事及时计较,然后在下面是全量的数仓,整个完成了主动计较、被动计较和数据的及时获取。结果数据可以不用做任何搬迁,直接通过Hologres来做及时分析。将及时的数据获取,及时的数据计较和及时的数据分析效劳三者打通为一体,架构上做了最大程度的简化,这就是今天所说的离线及时一体化的云数据仓库。
SaaS模式 — 数仓效劳模式的演进方向
鉴于数仓基础架构、数据治理架构、数据分析架构的演进,这些产品的效劳是如何被交付的呢?那就是通过SaaS化的办法向客户来交付数据仓库,可以最简化的去使用数据仓库的效劳。
数据仓库的构成有几种办法,第一种是说鉴于物理效劳器自建数据仓库,这是大家最为熟悉的办法。第二种是在云上鉴于Hadoop,也可以鉴于各种MPP的数据库去建立和搭建半托管的云上数据仓库。第三种和第四种就属于比较深的云原生的形式,第三种是典型Snowflake的办法,这种办法下云基础效劳其实并不会暴露给数据仓库的治理者,所以我们把它叫做嵌入式的,将IaaS这一层嵌入到PaaS层中,但最终数据仓库是通过SaaS的完全web的办法暴露出来的。2021年全球Forrester评测中有13家厂商参与了评估,其中以SaaS模式交付数据仓库效劳的只有三家,分别是谷歌的BigQuery,Snowflake和阿里云MaxCompute。
可以看到通过云计较的数据仓库效劳,从自建到云原生,帮我们最大化的降低了数据仓库的治理复杂度,整个架构少了很多层,无需治理集群和软件,通过效劳化的办法达到免运维,将底层的所有这些需治理的内容去掉,后台升级是由云厂商来提供效劳的,只需求治理自己的数据和数据模型,通过web办法来使用数据仓库效劳。在数据仓库里保存的数据与云保存一样,按保存量付费。计较也是一样的,不计较不花钱。充分体现了SaaS化的优势。同时,在匹配营业需求上具备非常强的弹性本领,我们有很多客户日常只需求一万核的算力,在双十一当天需求三万核的算力。在这种SaaS模式的效劳下,用户在完全无感知的情况下我们就可以保证充沛的弹性本领去满足数据仓库的各种工作需求了。
综上,数据仓库从1990年的数据库演进到数据仓库,到MPP架构,到大数据时代的数据仓库,再到今天的云原生的数据仓库的一路演进,基础架构的云原生,数据架构的湖仓一体,数据分析的离线及时一体化以及数仓效劳模式的SaaS化,是最为主要的四个演进的方向和特征。 阿里云正在通过全新数据仓库架构给企业带来具备更优体验的数据治理的办法。