本文目录:
一、前言
二、概念解析
- 数据仓库
- 数据湖
- 数据中台
三、具体区别
- 数据仓库 VS 数据湖
- 数据仓库 VS 数据中台
- 总结
四、湖仓一体
- 目前数据存储计划
- Data Lakehouse(湖仓一体)
一、前言
数字化转型浪潮卷起各种新老概念满天飞,数据湖、数据仓库、数据中台轮流在朋友圈刷屏,有人说“数据中台算个啥,数据湖才是趋势”,有人说“再见了数据湖、数据仓库,数据中台已成气象”……
50000 字详解数仓建设保姆级教程,涵盖离线和实时
企业还没推开数字化大门,先被各种概念绊了一脚。那么它们 3 者到底有啥区别?别急,先跟大家分享两个乏味的比喻。
1、图书馆 VS 地摊
如果把数据仓库比喻成“图书馆”,那么数据湖就是“地摊”。去图书馆借书(数据),书籍品质有保障,但你得等,等什么?等管理员先查到这本书属于哪个类目、在哪个架子上,你能力精准拿到本人想要的书;而地摊上没有人会给你把关,什么书都有,你本人翻找、随用随取,流程上比图书馆便捷多了,但大家找书的过程是没有教训可复用的,偶然多拿少拿咱们可能也不晓得。
2、升级版银行
假设数据仓库、数据湖、数据中台都是银行,能够提供现金、黄金等多种服务。过来大家进银行前都得先问门卫,外面每个门牌上的数字对应哪个服务呢?是现金还是黄金呢?而后推开对应的门把货色取出来。而有了“数据中台”这个银行,大家一进来就能看到标着“现金”、“黄金”汉字的窗口,高深莫测,你只须要走到窗口前,就有专人帮你办理。
以上两个例子不肯定全面,但根本能解释三者的优劣势。数据仓库具备规范性,但取数用数流程长;数据湖取数用数更实时、存储量大,但数据品质难以保障;数据中台能精准疾速地响应业务需要,离业务侧最近。
为了更清晰地区别三者,接下来咱们再来看看它们各自的定义以及利用区别。
二、概念解析
1. 数据仓库
数据仓库诞生于 1990 年,相对算得上是“老前辈”了,它是一个绝对具体的性能概念。目前对数据仓库的支流定义是位于多个数据库上的大容量存储库,它的作用在于存储大量的结构化数据,并能进行频繁和可反复的剖析,帮忙企业构建商业智能(BI)。
具体定义:
数据仓库 (Data Warehouse) 是一个面向主题的(Subject Oriented)、集成的(Integrated)、绝对稳固的(Non-Volatile)、反映历史变动的(Time Variant)数据汇合,用于反对管理决策和信息的全局共享。其次要性能是将组织透过资讯零碎之联机事务处理 (OLTP) 经久不息所累积的大量材料,透过数据仓库实践所特有的材料贮存架构,剖析出有价值的资讯。
- 所谓主题:是指用户应用数据仓库进行决策时所关怀的重点方面,如:支出、客户、销售渠道等;所谓面向主题,是指数据仓库内的信息是按主题进行组织的,而不是像业务撑持零碎那样是依照业务性能进行组织的。
- 所谓集成:是指数据仓库中的信息不是从各个业务零碎中简略抽取进去的,而是通过一系列加工、整顿和汇总的过程,因而数据仓库中的信息是对于整个企业的统一的全局信息。
- 所谓随工夫变动:是指数据仓库内的信息并不只是反映企业以后的状态,而是记录了从过来某一时点到以后各个阶段的信息。通过这些信息,能够对企业的倒退历程和将来趋势做出定量分析和预测。
数据仓库的作用:
数据仓库零碎的作用能实现跨业务条线、跨零碎的数据整合,为治理剖析和业务决策提供对立的数据反对。数据仓库可能从根本上帮忙你把公司的经营数据转化成为高价值的能够获取的信息(或常识),并且在失当的时候通过失当的形式把失当的信息传递给失当的人。
- 是面向企业中、高级治理进行业务剖析和绩效考核的数据整合、剖析和展示的工具;
- 是次要用于 历史性、综合性和深层次数据分析;
- 数据起源是 ERP(例:SAP)零碎或其余业务零碎;
- 可能提供灵便、直观、简洁和易于操作的多维查问剖析;
- 不是日常交易操作系统,不能间接产生交易数据;
实时数仓
实时数仓和离线数仓十分的像,诞生的背景次要是近几年企业对于数据服务的实时性需要日益增多。外面的数据模型也会像中台一样分好几层:ODS、CDM、ADS。但整体对于实时性要求极高,因而个别存储会思考采纳 Kafka 这种 log base 的 MQ,而计算引擎会采纳 Flink 这种流计算引擎。
2. 数据湖
数据湖是一种一直演进中、可扩大的大数据存储、解决、剖析的基础设施,它就像一个大型仓库存储企业多样化原始数据以数据为导向,实现任意起源、任意速度、任意规模、任意类型数据的全量获取、全量存储、多模式解决与全生命周期治理。领有弱小的信息处理能力和解决简直有限的并发工作或工作的能力。
数据湖从企业的多个数据源获取原始数据,数据可能是任意类型的信息,从结构化数据到齐全非结构化数据,并通过与各类内部异构数据源的交互集成,反对各类企业级利用。联合先进的数据迷信与机器学习技术,能帮忙企业构建更多优化后的经营模型,也能为企业提供其余能力,如预测剖析、举荐模型等,这些模型能刺激企业能力的后续增长。
进入互联网时代,有两个最重要的变动。
一个是数据规模前所未有,一个胜利的互联网产品日活能够过亿,就像你熟知的头条、抖音、快手、网易云音乐,每天产生几千亿的用户行为。传统数据仓库难于扩大,根本无法承载如此规模的海量数据。
另一个是数据类型变得异构化,互联网时代的数据除了来自业务数据库的结构化数据,还有来自 App、Web 的前端埋点数据,或者业务服务器的后端埋点日志,这些数据个别都是半结构化,甚至无构造的。传统数据仓库对数据模型有严格的要求,在数据导入到数据仓库前,数据模型就必须当时定义好,数据必须依照模型设计存储。
所以,数据规模和数据类型的限度,导致传统数据仓库无奈撑持互联网时代的商业智能。
05 年的时候,Hadoop 诞生了。Hadoop 相比传统数据仓库次要有两个劣势:
- 齐全分布式,易于扩大,能够应用价格低廉的机器堆出一个计算、存储能力很强的集群,满足海量数据的解决要求;
- 弱化数据格式,数据被集成到 Hadoop 之后,能够不保留任何数据格式,数据模型与数据存储拆散,数据(蕴含了原始数据)在被应用的时候,能够依照不同的模型读取,满足异构数据灵便剖析的需要。而数仓更加关注能够作为事实根据的数据。
随着 Hadoop 与对象存储的成熟,数据湖的概念在 10 年被提出:数据湖(Data Lake)是一个以原始格局存储数据的存储库或零碎(这意味着数据湖的底层不应该与任何存储耦合)。
对应的来说,如果数据湖没有被治理好(不足元数据、定义数据源、制订数据拜访策略和安全策略,并挪动数据、编制数据目录),则会变成 数据沼泽。
而从产品状态上来说,数仓往往是独立标准化的产品。而数据湖更像是一种架构领导——须要配合一系列的周边工具,来实现业务须要的数据湖。
3. 数据中台
大规模数据的利用,也逐步裸露呈现一些问题。
业务倒退后期,为了疾速实现业务的需要,烟囱式的开发导致企业不同业务线,甚至雷同业务线的不同利用之间,数据都是割裂的。两个数据利用的雷同指标,展现的后果不统一,导致经营对数据的信任度降落。如果你是经营,当你想看一下商品的销售额,发现两个报表上,都叫销售额的指标呈现了两个值,你的感触如何? 你第一反馈必定是数据算错了,你不敢持续应用这个数据了。
数据割裂的另外一个问题,就是大量的反复计算、开发,导致的研发效率的节约,计算、存储资源的节约,大数据的利用老本越来越高。
- 如果你是经营,当你想要一个数据的时候,开发通知你至多须要一周,你必定想是不是太慢了,能不能再快一点儿?
- 如果你是数据开发,当面对大量的需要的时候,你必定是在埋怨,需要太多,人太少,活干不完。
- 如果你是一个企业的老板,当你看到每个月的账单成指数级增长的时候,你必定感觉这也太贵了,能不能再省一点,要不吃不消了。
这些问题的本源在于,数据无奈共享。2016 年,阿里巴巴率先提出了“数据中台”的口号。数据中台的外围,是防止数据的反复计算,通过数据服务化,进步数据的共享能力,赋能数据利用。之前,数据是要啥没啥,两头数据难于共享,无奈积攒。当初建设数据中台之后,要啥有啥,数据利用的研发速度不再受限于数据开发的速度,一夜之间,咱们就能够依据场景,孵化出很多数据利用,这些利用让数据产生价值。
数据中台样板
在建设中台的过程中,个别强调这样几个重点:
- 效率、品质和老本是决定数据是否撑持好业务的要害,构建数据中台的指标就是要实现高效率、高质量、低成本。
- 数据只加工一次是建设数据中台的外围,实质上是要实现公共计算逻辑的下沉和复用。
- 如果你的企业领有 3 个以上的数据利用场景,数据产品还在一直研发和更新,你必须要认真思考建设数据中台。
那么接下来就看一下阿里巴巴对于数据中台的实际。
正如上述提到的 数据只加工一次是建设数据中台的外围,实质上是要实现公共计算逻辑的下沉和复用。阿里数据中台提到了各种 one 思维,如:
- OneData:公共数据只保留一份
- OneService:通过一个服务接口进行裸露
三、具体区别
1. 数据仓库 VS 数据湖
相较而言,数据湖是较新的技术,领有一直演变的架构。数据湖存储任何模式(包含结构化和非结构化)和任何格局(包含文本、音频、视频和图像)的原始数据。依据定义,数据湖不会承受数据治理,但专家们统一认为良好的数据管理对预防数据湖转变为数据沼泽不可或缺。数据湖在数据读取期间创立模式。与数据仓库相比,数据湖不足结构性,而且更灵便,并且提供了更高的敏捷性。值得一提的是,数据湖非常适合应用机器学习和深度学习来执行各种工作,比方数据挖掘和数据分析,以及提取非结构化数据等。
2. 数据仓库 VS 数据中台
数据仓库和传统的数据平台,其出发点为一个撑持性的技术零碎,即肯定要先思考我具备什么数据,而后我能力干什么,因而特别强调数据品质和元数据管理;而数据中台的第一出发点不是数据而是业务,一开始不必看你零碎外面有什么数据,而是去解决你的业务问题须要什么样的数据服务。
在具体的技术解决环节,二者也有显著不同,数据的预处理流程正在从传统的 ETL 构造向 ELT 构造转变。传统的数据仓库集成解决架构是 ETL 构造,这是构建数据仓库的重要一环,即用户从数据源抽取出所需的数据,通过数据荡涤,将数据加载到数据仓库中去。而大数据背景下的架构体系是 ELT 构造,其依据下层的利用需要,随时从数据中台中抽取想要的原始数据进行建模剖析。
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 剖析。这些可能依赖于多种工具来反对的工作场景,它们都依赖于雷同的数据存储库。
- 端到端流式工作:实时报告是许多企业的日常须要。对流解决的反对打消了对专门服务于实时数据应用程序的独自零碎的需要。
下面这张图是 DataBricks 给出的架构演变参考图。
咱们能够看到,传统的数仓指标十分明确,实用于将各业务数据源合并后,进行商务 BI 剖析和报表。随着企业须要解决的数据类型越来越多,包含客户行为,IoT,图片,视频等,数据规模也成指数减少。
数据湖技术被引入,并用于承当通用数据存储和解决平台的作用,数据湖因为其分布式存储和计算能力的特点,也能够更好的反对机器学习计算,在数据湖时代,咱们通常能够看到 DataLake 和 Data Warehouse 还是会同时存在的。
随着大数据时代的到来,是不是有可能让大数据技术能够取代传统数仓,造成一个对立的数据处理架构,湖仓一体的概念被提出,并由 DataBricks 和云厂商们在进行疾速的推演和实际。
参考
- 最强最全面的数仓建设标准指南
- 美团数据平台及数仓建设实际,超十万字总结
- 数仓建设保姆级教程