万字详解数据堆栈、数据湖、数据中台和湖仓一体
一、前言数字化转型浪潮卷起各种新老概念满天飞,数据湖、数据堆栈、数据中台轮番在朋友圈刷屏,有人说“数据中台算个啥,数据湖才是趋势”,有人说“再见了数据湖、数据堆栈,数据中台已成气候”……
企业还没推开数字化大门,先被各种概念绊了一脚。那么它们 3 者究竟有啥区别?别急,先跟各人分享两个有趣的比喻。
1、图书馆VS地摊
如果把数据堆栈比喻成“图书馆”,那么数据湖就是“地摊”。去图书馆借书(数据),册本质量有保障,但你得等,等什么?等管理员先查到这本书属于哪个类目、在哪个架子上,你才气精准拿到自己想要的书;而地摊上没有人会给你把关,什么书都有,你自己翻找、随用随取,流程上比图书馆便捷多了,但各人找书的过程是没有经验可复用的,偶尔多拿少拿咱们可能也不知道。
2、升级版银行
假定数据堆栈、数据湖、数据中台都是银行,可以提供现金、黄金等多种服务。过去各人进银行前都得先问门卫,里面每个门牌上的数字对应哪个服务呢?是现金照旧黄金呢?然后推开对应的门把东西取出来。而有了“数据中台”这个银行,各人一进来就能看到标着“现金”、“黄金”汉字的窗口,一览无余,你只必要走到窗口前,就有专人帮你办理。
以上两个例子不一定全面,但基本能表明三者的优劣势。数据堆栈具备规范性,但取数用数流程长;数据湖取数用数更实时、存储量大,但数据质量难以保障;数据中台能精准快速地相应业务需求,离业务侧最近。
为了更清晰地区别三者,接下来咱们再来看看它们各自的定义以及应用区别。
二、概念剖析
1. 数据堆栈
数据堆栈诞生于 1990 年,绝对算得上是“老先辈”了,它是一个相对具体的功能概念。现在对数据堆栈的主流定义是位于多个数据库上的大容量存储库,它的作用在于存储大量的结构化数据,并能进行频繁和可重复的分析,帮助企业构建商业智能(BI)。
具体定义:
数据堆栈(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化的(Time Variant)数据集合,用于支持管理决议和信息的全局共享。其重要功能是将构造透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据堆栈理论所特有的资料储存架构,分析出有价值的资讯。
[*]所谓主题:是指用户使用数据堆栈进行决议时所关心的重点方面,如:收入、客户、销售渠道等;所谓面向主题,是指数据堆栈内的信息是按主题进行构造的,而不是像业务支撑系统那样是按照业务功能进行构造的。
[*]所谓集成:是指数据堆栈中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据堆栈中的信息是关于整个企业的一致的全局信息。
[*]所谓随时间变化:是指数据堆栈内的信息并不但是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
数据堆栈的作用:
数据堆栈系统的作用能实现跨业务条线、跨系统的数据整合,为管理分析和业务决议提供同一的数据支持。数据堆栈能够从根本上帮助你把公司的运营数据转化成为高价值的可以获取的信息(或知识),而且在恰当的时间通过恰当的方式把恰当的信息通报给恰当的人。
https://i-blog.csdnimg.cn/blog_migrate/4664a66ccae47f55bd72b56ecc789fc8.png
[*]是面向企业中、高级管理进行业务分析和绩效考核的数据整合、分析和显现的工具;
[*]是重要用于历史性、综合性和深层次数据分析;
[*]数据来源是ERP(例:SAP)系统或其他业务系统;
[*]能够提供机动、直观、简洁和易于操作的多维查询分析;
[*]不是日常交易操作系统,不能直接产生交易数据;
实时数仓
实时数仓和离线数仓非常的像,诞生的配景重要是近几年企业对于数据服务的实时性需求日益增多。里面的数据模子也会像中台一样分好几层:ODS 、CDM、ADS。但整体对于实时性要求极高,因此一般存储会考虑采用Kafka这种log base的MQ,而计算引擎会采用Flink这种流计算引擎。
2. 数据湖
数据湖是一种不绝演进中、可扩展的大数据存储、处理、分析的基础设施,它就像一个大型堆栈存储企业多样化原始数据以数据为导向,实现恣意来源、恣意速度、恣意规模、恣意范例数据的全量获取、全量存储、多模式处理与全生命周期管理。拥有强大的信息处理本领和处理险些无限的并发使命或工作的本领。
https://i-blog.csdnimg.cn/blog_migrate/36c46c34b5a9a8755ed482b14f1459e0.png
数据湖从企业的多个数据源获取原始数据,数据可能是恣意范例的信息,从结构化数据到完全非结构化数据,并通过与各类外部异构数据源的交互集成,支持各类企业级应用。团结先进的数据科学与机器学习技能,能帮助企业构建更多优化后的运营模子,也能为企业提供其他本领,如预测分析、保举模子等,这些模子能刺激企业本领的后续增长。
https://i-blog.csdnimg.cn/blog_migrate/e5acecf68a7a78afd71fc89f22503067.png
进入互联网时代,有两个最重要的变化。
一个是数据规模前所未有,一个乐成的互联网产物日活可以过亿,就像你熟知的头条、抖音、快手、网易云音乐,天天产生几千亿的用户行为。传统数据堆栈难于扩展,根本无法承载云云规模的海量数据。
另一个是数据范例变得异构化,互联网时代的数据除了来自业务数据库的结构化数据,另有来自 App、Web 的前端埋点数据,大概业务服务器的后端埋点日志,这些数据一般都是半结构化,甚至无结构的。传统数据堆栈对数据模子有严格的要求,在数据导入到数据堆栈前,数据模子就必须事先定义好,数据必须按照模子设计存储。
以是,数据规模和数据范例的限定,导致传统数据堆栈无法支撑互联网时代的商业智能。
05年的时间,Hadoop诞生了。Hadoop 相比传统数据堆栈重要有两个上风:
[*]完全分布式,易于扩展,可以使用价格低廉的机器堆出一个计算、存储本领很强的集群,满足海量数据的处理要求;
[*]弱化数据格式,数据被集成到 Hadoop 之后,可以不保存任何数据格式,数据模子与数据存储分离,数据(包含了原始数据)在被使用的时间,可以按照不同的模子读取,满足异构数据机动分析的需求。而数仓更加关注可以作为究竟依据的数据。
随着Hadoop与对象存储的成熟,数据湖的概念在10年被提出:数据湖(Data Lake)是一个以原始格式存储数据的存储库或系统(这意味着数据湖的底层不应该与任何存储耦合)。
对应的来说,如果数据湖没有被治理好(缺乏元数据、定义数据源、制定数据访问计谋和安全计谋,并移动数据、编制数据目次),则会变成数据沼泽。
而从产物形态上来说,数仓往往是独立尺度化的产物。而数据湖更像是一种架构指导——必要配合一系列的周边工具,来实现业务必要的数据湖。
3. 数据中台
大规模数据的应用,也逐渐暴袒露现一些标题。
业务发展前期,为了快速实现业务的需求,烟囱式的开辟导致企业不同业务线,甚至雷同业务线的不同应用之间,数据都是割裂的。两个数据应用的雷同指标,展示的结果不一致,导致运营对数据的信任度下降。如果你是运营,当你想看一下商品的销售额,发现两个报表上,都叫销售额的指标出现了两个值,你的感受如何? 你第一反应肯定是数据算错了,你不敢继承使用这个数据了。
数据割裂的另外一个标题,就是大量的重复计算、开辟,导致的研发效率的浪费,计算、存储资源的浪费,大数据的应用成本越来越高。
[*]如果你是运营,当你想要一个数据的时间,开辟告诉你至少必要一周,你肯定想是不是太慢了,能不能再快一点儿?
[*]如果你是数据开辟,当面对大量的需求的时间,你肯定是在抱怨,需求太多,人太少,活干不完。
[*]如果你是一个企业的老板,当你看到每个月的账单成指数级增长的时间,你肯定觉得这也太贵了,能不能再省一点,要不吃不消了。
这些标题的根源在于,数据无法共享。2016 年,阿里巴巴率先提出了“数据中台”的口号。数据中台的焦点,是制止数据的重复计算,通过数据服务化,提高数据的共享本领,赋能数据应用。之前,数据是要啥没啥,中间数据难于共享,无法积累。如今建立数据中台之后,要啥有啥,数据应用的研发速度不再受限于数据开辟的速度,一夜之间,我们就可以根据场景,孵化出许多数据应用,这些应用让数据产生价值。
https://i-blog.csdnimg.cn/blog_migrate/5540c09aff9fa5e0804fc5b5b7983875.png
数据中台样板
在建立中台的过程中,一般强调如许几个重点:
[*]效率、质量和成本是决定数据可否支撑好业务的关键,构建数据中台的目标就是要实现高效率、高质量、低成本。
[*]数据只加工一次是建立数据中台的焦点,本质上是要实现公共计算逻辑的下沉和复用。
[*]如果你的企业拥有 3 个以上的数据应用场景,数据产物还在不绝研发和更新,你必须要认真考虑建立数据中台。
那么接下来就看一下阿里巴巴对于数据中台的实践。
正如上述提到的数据只加工一次是建立数据中台的焦点,本质上是要实现公共计算逻辑的下沉和复用。阿里数据中台提到了各种one思想,如:
[*]OneData:公共数据只保存一份
[*]OneService:通过一个服务接口进行袒露
三、具体区别
1. 数据堆栈 VS 数据湖
相较而言,数据湖是较新的技能,拥有不绝演变的架构。数据湖存储任何情势(包括结构化和非结构化)和任何格式(包括文本、音频、视频和图像)的原始数据。根据定义,数据湖不会接受数据治理,但专家们一致以为精良的数据管理对防备数据湖变化为数据沼泽不可或缺。数据湖在数据读取期间创建模式。与数据堆栈相比,数据湖缺乏结构性,而且更机动,而且提供了更高的敏捷性。值得一提的是,数据湖非常得当使用机器学习和深度学习来执行各种使命,好比数据发掘和数据分析,以及提取非结构化数据等。
https://i-blog.csdnimg.cn/blog_migrate/bb3913ab5a2fbe954d88c85ef6e29f85.png
2. 数据堆栈 VS 数据中台
数据堆栈和传统的数据平台,其出发点为一个支撑性的技能系统,即一定要先考虑我具有什么数据,然后我才气干什么,因此特殊强调数据质量和元数据管理;而数据中台的第一出发点不是数据而是业务,一开始不用看你系统里面有什么数据,而是去解决你的业务标题必要什么样的数据服务。
在具体的技能处理环节,二者也有明显不同,数据的预处理流程正在从传统的ETL结构向ELT结构变化。传统的数据堆栈集成处理架构是ETL结构,这是构建数据堆栈的重要一环,即用户从数据源抽取出所需的数据,经过数据清洗,将数据加载到数据堆栈中去。而大数据配景下的架构体系是ELT结构,其根据上层的应用需求,随时从数据中台中抽取想要的原始数据进行建模分析。
https://i-blog.csdnimg.cn/blog_migrate/eb771e2607aac0a6b1dc176b84145d87.png
3. 总结
根据以上数据堆栈、数据湖和数据中台的概念论述和对比,我们进行如下总结:
[*]数据中台、数据堆栈和数据湖没有直接的关系;
[*]数据中台、数据堆栈和数据湖在某个维度上为业务产生价值的情势有不同的偏重;
[*]数据中台是企业级的逻辑概念,体现企业数据向业务价值转化的本领,为业务提供服务的重要方式是数据 API;
[*]数据堆栈是一个相对具体的功能概念,是存储和管理一个或多个主题数据的集合,为业务提供服务的方式重要是分析报表;
[*]数据中台间隔业务更近,能够更快速的相应业务和应用开辟需求,从而为业务提供速度更快的服务;
[*]数据堆栈是为了支持管理决议分析,而数据中台则是将数据服务化之后提供给业务系统,不仅限于分析型场景,也实用于交易型场景;
[*]数据中台可以建立在数据堆栈和数据平台之上,是加速企业从数据到业务价值的过程的中间层。
四、湖仓一体
有人说“湖仓一体成为下一站灯塔,数仓、数据湖架构即将退出群聊”。
2020年,大数据DataBricks公司首次提出了湖仓一体(Data Lakehouse)概念,盼望将数据湖和数据堆栈技能合而为一,此概念一出各路云厂商纷纷跟进。
Data Lakehouse(湖仓一体)是新出现的一种数据架构,它同时吸取了数据堆栈和数据湖的上风,数据分析师和数据科学家可以在同一个数据存储中对数据进行操作,同时它也能为公司进行数据治理带来更多的便利性。
1. 现在数据存储的方案
一直以来,我们都在使用两种数据存储方式来架构数据:
[*]数据堆栈:重要存储的是以关系型数据库构造起来的结构化数据。数据通过转换、整合以及清算,并导入到目标表中。在数仓中,数据存储的结构与其定义的schema是强匹配的。
[*]数据湖:存储任何范例的数据,包括像图片、文档如许的非结构化数据。数据湖通常更大,其存储成本也更为便宜。存储其中的数据不必要满足特定的schema,数据湖也不会实验去将特定的schema施行其上。相反的是,数据的拥有者通常会在读取数据的时间剖析schema(schema-on-read),当处理相应的数据时,将转换施加其上。
如今许多的公司往往同时会搭建数仓、数据湖这两种存储架构,一个大的数仓和多个小的数据湖。如许,数据在这两种存储中就会有一定的冗余。
2. Data Lakehouse(湖仓一体)
Data Lakehouse的出现试图去融合数仓和数据湖这两者之间的差异,通过将数仓构建在数据湖上,使得存储变得更为便宜和弹性,同时lakehouse能够有效地提升数据质量,减小数据冗余。在lakehouse的构建中,ETL起了非常重要的作用,它能够将未经规整的数据湖层数据转换成数仓层结构化的数据。
下面详细表明下:
湖仓一体(Data Lakehouse):
依据DataBricks公司对Lakehouse 的定义:一种团结了数据湖和数据堆栈上风的新范式,解决了数据湖的范围性。Lakehouse 使用新的系统设计:直接在用于数据湖的低成本存储上实现与数据堆栈中雷同的数据结构和数据管理功能。
表明拓展:
湖仓一体,简单明白就是把面向企业的数据堆栈技能与数据湖存储技能相团结,为企业提供一个同一的、可共享的数据底座。
制止传统的数据湖、数据堆栈之间的数据移动,将原始数据、加工清洗数据、模子化数据,共同存储于一体化的“湖仓”中,既能面向业务实现高并发、精准化、高性能的历史数据、实时数据的查询服务,又能承载分析报表、批处理、数据发掘等分析型业务。
湖仓一体方案的出现,帮助企业构建起全新的、融合的数据平台。通过对机器学习和AI算法的支持,实现数据湖+数据堆栈的闭环,提升业务的效率。数据湖和数据堆栈的本领充分团结,形成互补,同时对接上层多样化的计算生态。
Lakehouse有如下关键特性:
[*]事物支持:Lakehouse 在企业级应用中,许多数据管道通常会同时读取和写入数据。通常多方同时使用 SQL 读取或写入数据,Lakehouse 保证支持ACID事务的一致性。
[*]模式实施和治理:Lakehouse 应该有一种支持模式实施和演变的方法,支持 DW 模式规范,例如 star /snowflake-schemas。该系统应该能够推理数据完整性,而且应该具有健壮的治理和审核机制。
[*]BI支持:Lakehouse 可以直接在源数据上使用BI工具。如许可以减少陈旧度和等待时间,提高新近度,而且降低必须在数据湖和堆栈中操作两个数据副本的成本。
[*]存储与计算分离:究竟上,这意味着存储和计算使用单独的群集,因此这些系统能够扩展到更多并发用户和更大数据量。一些今世数据堆栈也具有这种属性。
[*]兼容性:Lakehouse 使用的存储格式是开放式和尺度化的,例如 Parquet,而且它提供了多种 API,包括机器学习和 Python/R 库,因此各种工具和引擎都可以直接有效地访问数据。
[*]支持从非结构化数据到结构化数据的多种数据范例:Lakehouse 可用于存储,优化,分析和访问许多新数据应用步伐所需的数据范例,包括图像,视频,音频,半结构化数据和文本。
[*]支持各种工作场景:包括数据科学,机器学习和 SQL 分析。这些可能依靠于多种工具来支持的工作场景,它们都依靠于雷同的数据存储库。
[*]端到端流式使命:实时报告是许多企业的日常必要。对流处理的支持消除了对专门服务于实时数据应用步伐的单独系统的需求。
https://i-blog.csdnimg.cn/blog_migrate/3a002b560d8e1638e765b6b6c71daf96.png
上面这张图是DataBricks给出的架构演化参考图。
我们可以看到,传统的数仓目标非常明确,实用于将各业务数据源合并后,进行商务BI分析和报表。随着企业必要处理的数据范例越来越多,包括客户行为,IoT,图片,视频等, 数据规模也成指数增长。
数据湖技能被引入,并用于承担通用数据存储和处理平台的作用,数据湖由于其分布式存储和计算本领的特点,也可以更好的支持机器学习计算, 在数据湖时代,我们通常可以看到DataLake和Data Warehouse照旧会同时存在的。
随着大数据时代的到来,是不是有可能让大数据技能可以取代传统数仓,形成一个同一的数据处理架构,湖仓一体的概念被提出,并由DataBricks和云厂商们在进行快速的推演和实践。
转自:https://mp.weixin.qq.com/s/C7IHhl9he_ZNCuzyItErtg
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]