企业宣传,产品推广,广告招商,广告投放联系seowdb

数据仓库终究能不能被取代 有了数据湖 他们又有什么样的区别呢

数据湖是近两年中比拟新的技术在大数据畛域中,关于一个真正的数据湖应该是什么样子,如今对数据湖认知还是处在探求的阶段,像如今代表的开源产品有iceberg、hudi、DeltaLake。

那关于数据湖应该是什么样子,先来看数据湖的作者AWS来说明数据湖是什么物品,比如下图:

疑问数据的人兴许会感觉数据湖很凶猛,而懂数据的人兴许会感觉仅是一堆数据仓库技术的堆砌包装而已,你看上方那张框架图,哪个专业词汇数据人士会疑问?凭什么数据湖被炒作成了一个新概念?

而关于数据湖的定义则是:

数据湖是一个集中式存储库,准许您以恣意规模存储一切结构化和非结构化数据。您可以按原样存储数据(无需先对数据启动结构化处置),并运转不同类型的剖析 –从控制面板和可视化到大数据处置、实时剖析和机器学习,以指点做出更好的决策。

那么数据湖和咱们早先的数据仓库终究有什么样的区别呢:

数据仓库是一个优化的数据库,用于剖析来自事务系统和业务线运行程序的相关数据。事前定义数据结构和 Schema 以优化极速 SQL查问,其中结果通罕用于操作报告和剖析。数据经过了清算、丰盛和转换,因此可以充任用户可信赖的“繁多消息源”。

数据湖有所不同,由于它存储来自业务线运行程序的相关数据,以及来自移动运行程序、IoT 设备和社交媒体的非相关数据。捕捉数据时,未定义数据结构或Schema。这象征着您可以存储一切数据,而不须要精心设计也无需知道未来您或者须要哪些疑问的答案。您可以对数据经常使用不同类型的剖析(如 SQL查问、大数据剖析、全文搜查、实时剖析和机器学习)来取得见地。

从引见来看如同数据仓库和数据湖的最关键的区别就是对结构化的数据和非结构化数据的存储,然而真的仅仅是这样吗?

理想上,这种比拟有较大逻辑破绽:即是从结果登程来看差异,而后又用这个差异来说明区别,颠倒了因果。比如AWS的数据湖能够处置非结构化数据,而数据仓库无法处置非结构化数据,就以为这是数据湖与数据仓库的实质区别之一。

上方的文章中未来探求数据湖和数据仓库终究有什么样的区别,学习一个新的事物要一步步的发现这个事物的实质是什么。

数据仓库和数据湖的处置流程可以用下图来表示,其中用红圈标出了5个对标的流程节点。

从图中可以看进去数据湖并不比数据仓库在处置流程上多出了什么内容,更多的在于结构性的变动,上方就从数据存储、模型设计、加工工具、开发人员和生产人员五个方面来启动比拟。

(1)数据存储

数据仓库采集、处置环节中存储上去的数据普通是以结构化的方式存在的,即使原始数据是非结构化的,但这些非结构化数据也只是在源头暂存一下,它经过结构化数据的方式进入数据仓库,成了数据仓库的基本存储格局,这个跟数据仓库的模型(维度或相关建模)都是树立在相关型数据基础上的特点无关。

理想上,是传统的数据建模累赘让数据仓库只处置结构化数据,其实谁都没规则过数据仓库只处置和存储结构化数据。

数据湖无所不包,轻装上阵,结构化与非结构化数据都成为了数据湖自身的一局部,这表现了数据湖中“湖”这个概念。由于没有数据仓库建模的限度,当然什么物品都可以往外面扔,但这为其变成数据沼泽埋下了伏笔。

(2)模型设计

数据仓库中一切的Schema(比如表结构)都是预先设计并生成好的,数据仓库树立最关键的上班就是建模,其经过封装好的、稳固的模型对外提供有限的、规范化的数据服务,模型能否设计的高内聚、松耦分解了评价数据仓库好坏的一个规范,就好比数据中台十分强调数据服务的复用性一样。

你会发现,数据仓库很像数据畛域的方案经济,一切的产品(模型)都是预先生成好的,模型可以变卦,但相当缓慢。

数据湖的模型不是预先生成的,而是随着每个运行的须要即时设计生成的,其更像是市场经济的产物,就义了复用性却带来了灵敏性,这也是为什么数据湖的运行更多强调探求剖析的要素。

(3)加工工具

数据仓库的采集、处置工具普通是比拟封锁的,很多采取代码的方式暴力成功,大多只向集中的专业开发人员放开,关键的目的是成功数据的一致采集和建模,它不为生产者(运行方)服务,也没这个必要。

数据湖的采集和处置工具是齐全放开的,由于第(2)点提到过:数据湖的模型是由运行即席设计生成的,象征着运行必定具有针对数据湖数据的间接ETL才干和加工才干才干成功定制化模型的树立,否则就没有落地的或者,更无灵敏性可言。

工具能否放开、体验能否足够好是数据湖能够成功的一个前提,显然传统数据仓库的一些采集和开发工具是不行的,它们往往无法能向普通群众放开。

(4)开发人员

数据仓库集中开发人员处置数据涵盖了数据采集、存储、加工等各个阶段,其不只要控制数据流,也要打造工具流。

由于数据流最终要为运行服务,因此其特意关注数据模型的品质,而工具流只需具有基本的配置、满足性能要求就可以了,反正是数据仓库团队人员自己用,造成的结果是害苦了运营人员。

数据湖齐全不一样,集中开发人员在数据流阶段只担任把原始数据扔到数据湖,更多的精神花在对工具流的革新上,由于这些工具是间接面向最终经常使用者的,假设不好用,数据湖就不能用了。

(5)运行人员

数据仓库关于运行人员泄露的一切物品就是建好的数据模型,运行方的一切角色只能在数据仓库限定好的数据模型范围内倒腾,这在必定水平下限度了运行方的翻新才干。比如原始数据有个字段很有价值,但数据仓库集中开发人员却把它过滤了。

这种疑问在数据仓库中很经常出现,很多取数人员只会取宽表,关于源端数据齐全不分明,所谓成也数据仓库,败也数据仓库。

数据湖的运行方则可以应用数据湖提供的工具流接触到最生鲜的原始数据,涵盖了从数据采集、抽取、存储、加工的各个阶段,其可以基于对业务的了解,压迫出原始数据的最大价值。

可以看到,数据仓库和数据湖,代表着两种数据处置形式和服务形式,是数据技术畛域的一次性轮回。

早在ORACLE的DBLINK时代,咱们就有了第一代的数据湖,由于那个时刻ORACLE一统天下,ORALCE的DBLINK让间接探求原始数据有了或者。

随着数据量的增长和数据类型的始终丰盛,咱们不得不搞出一种新的“数据库”来集成各种数据。

但那个时刻搞出的为什么是数据仓库而不是数据湖呢?

关键还是运行驱能源的疑问。

由于那个时刻大家关注的是报表,而报表最**的要求就是准确性和分歧性,规范化、规范化的维度和相关建模正好顺应了这一点,集中化的数据仓库撑持形式就是一种变相的方案经济。

随着大数据时代来到和数字化的开展,很多企业发现,原始数据的非结构化比例越来越高,前端运行照应的要求越来越高,海量数据开掘的要求越来越对,报表取数曾经满足不了数据驱动业务的要求了。

一方面企业须要深挖各种数据,从展现数据为主(报表)逐渐向开掘数据(探求预测)转变,另一方面企业也须要从循序渐进的撑持形式向极速灵敏的方向转变,要求数据仓库能够放开更多的灵敏性给运行方,这个时刻数据仓库就有点撑不住了。

数据湖就是在这种背景下降生的。

其实早在数据湖进去之前,很多企业就在做相似数据湖的上班了,然而只不过大家更多的集中在数据仓库结构化的数据处置中,关于非结构化的数据日志等更多的则是将其存储起来,关于须要的时刻再经过运行程序启动处置失掉到自己想要的结果,只不过是没有系统化的处置而已。

ETL之所以不放开,关键是驱能源不够,其实咱们没有那么多类型的数据要定制化抽取。

很多企业不搞可视化开发平台也是容易了解的,报表就能活得很好,干嘛业务人员要自己开发和开掘。如今数据湖叫的欢的,大多是互联网公司,比如亚马逊,这是很反常的。

而最近比拟新的概念湖仓一体,阿里提出的概念,上方这张图来看一下:

何谓湖仓一体?

那数据湖终究应该是什么样子,须要在接上去的开展中失掉到答案,然而以目前来看,典型的组织都须要数据仓库和数据湖,由于它们可满足不同的需求和经常使用诉求。所以数据湖和数据仓库的存在并不抵触,也并不是取代的相关,而是相互的融合相关。

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender