0%

数据湖与数据仓库

本文主要包括:

  • 数据库、数据仓库、数据湖、湖仓一体概念与区别

数据库、数据仓库、数据湖、湖仓一体概念与区别

什么是数据库?

数据库是“按照数据结构来组织、存储和管理数据的仓库”。
现在通常所说的数据库指的是关系型数据库。关系数据库是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,具有结构化程度高,独立性强,冗余度低等优点。
关系型数据库的主要用于联机事务处理OLTP(On-Line Transaction Processing)主要进行基本的、日常的事务处理,例如银行交易等场景。

什么是数据仓库?

随着数据库的大规模应用,使信息行业的数据爆炸式的增长。为了研究数据之间的关系,挖掘数据隐藏的价值,人们越来越多的需要使用联机分析处理OLAP(On-Line Analytical Processing)进行数据分析,探究一些深层次的关系和信息。但是不同的数据库之间很难做到数据共享,数据之间的集成与分析也存在非常大的挑战。
数据仓库主要功能是将OLTP经年累月所累积的大量数据,通过数据仓库特有的数据储存架构进行OLAP,最终帮助决策者能快速有效地从大量数据中,分析出有价值的信息,提供决策支持
数据仓库相比数据库,主要有以下两个特点:

  • 数据仓库是面向主题集成的。数据仓库是为了支撑各种业务而建立的,数据来自于分散的操作型数据。因此需要将所需数据从多个异构的数据源中抽取出来,进行加工与集成,按照主题进行重组,最终进入数据仓库。
  • 数据仓库主要用于支撑企业决策分析,所涉及的数据操作主要是数据查询。因此数据仓库通过表结构优化、存储方式优化等方式提高查询速度、降低开销。

数据仓库与数据库的对比:

维度 数据仓库 数据库
应用场景 OLAP OLTP
数据来源 多数据源 单数据源
数据标准化 非标准化Schema 高度标准化的静态Schema
数据读取优势 针对读操作进行优化 针对写操作进行优化

所以,数据仓库里的数据是一次写入多次读取

什么是数据湖?

数据湖是一个集中存储各类结构化和非结构化数据的大型数据仓库,它可以存储来自多个数据源、多种数据类型的原始数据,数据无需经过结构化处理,就可以进行存取、处理、分析和传输。数据湖能帮助企业快速完成异构数据源的联邦分析、挖掘和探索数据价值。

数据湖的出现主要是为了解决存储全域原始数据的问题。在捕获来自业务应用程序、移动应用程序、IoT设备和互联网的结构化和非结构化数据时,实际上并没有预先定义好数据结构,这意味着可以先存储数据而无须进行精心设计,也无须明确要进行什么分析,由数据科学家和数据工程师在后续工作中探索和尝试
从根本上来讲,数据湖的最主要目标是尽可能保持业务的可还原度

对于数据仓库与数据湖的不同之处,可以类比为仓库和湖泊的区别:仓库存储着来自特定来源的货物;而湖泊的水来自河流、溪流和其他来源,并且是原始数据
数据湖与数据仓库的对比:

维度 数据湖 数据仓库
应用场景 可以探索性分析所有类型的数据,包括机器学习、数据发现、特征分析、预测等 通过历史的结构化数据进行数据分析
使用成本 起步成本低,后期成本较高 起步成本高,后期成本较低
数据质量 包含大量原始数据,使用前需要清洗和标准化处理 质量高,可作为事实依据
适用对象 数据科学家、数据开发人员为主 业务分析师为主

个人理解,数据湖就是不管什么样的数据,都扔到这里,不强调数据标准,数据变化快,所以前期好发展,后期容易烟囱式发展,容易乱
但是它也有好处,就是什么数据都可以扔里面,而且它允许数据可以变化

数据湖写入的时候不关心数据格式,可以这么理解,以流量为例,流量大部分都是日志,入湖的时候,我们不用去关心流量里面有啥字段,可能就是一条完整的日志存进去,等数仓需要分析的时候,按照流量的分析需求,设计好流量的表结构,然后从湖里面拿流量日志,再去解析里面的字段

数据湖存储组件

数据湖的建设方式有很多种,有的企业使用以Hadoop为核心的数据湖实现,有的企业以MPP为核心加上一些对象存储来实现。虽然建设方式不同,但是它们建设数据湖的目标是一致的
使用MPP例如Doris,需要单独搭建集群,与现有的Hadoop生态是分开的,所以从长远角度来看,使用以Hadoop为核心来实现数据湖更加靠谱
因为大部分公司大数据平台都是以Hadoop生态为基础的

目前流行的数据湖组件有hudi、iceberg、Delta

关于数据湖与数据仓库,可以参考终于有人将数据湖讲明白了

什么是湖仓一体?

湖仓一体,又被称为Lake House,其出发点是通过数据仓库和数据湖的打通和融合,让数据流动起来,减少重复建设。Lake House架构最重要的一点,是实现数据仓库和数据湖的数据/元数据无缝打通和自由流动。湖里的“显性价值”数据可以流到仓里,甚至可以直接被数仓使用;而仓里的“隐性价值”数据,也可以流到湖里,低成本长久保存,供未来的数据挖掘使用
从数据采集到提供数据服务的流程图