引言:是什么催化了数据仓库的诞生,为什么说数仓和日常的生活息息相关。信息化的浪潮又将把数仓推向何方,这篇文章将会告诉你数据仓库的前世今生。
目录:
1 数据仓库的起源
首先,让我们先来了解一下数据仓库的起源。
1.1 数仓的定义
数仓的基本概念:Data Warehouse,可简写为 DW 或 DWH 。按照传统定义,数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化(随时间变化),用来支撑管理人员决策的数据集合。数据仓库的主要目标是创建大量历史数据,这些数据可以检索和分析,以提供对组织运营的有用见解。
数据仓库是一种面向商务智能(BI) 活动(尤其是分析)的数据管理系统,它仅适用于查询和分析,通常涉及大量的历史数据。 在实际应用中,数据仓库中的数据一般来自应用日志文件和事务应用等广泛来源。 数据仓库能够集中、整合多个来源的大量数据,借助数据仓库的分析功能,企业可从数据中获得宝贵的业务洞察,改善决策。—— Oracle 中国
面向主题
什么叫面向主题呢?需要对数据进行加工的,然后给管理人员提供有效的数据信息。主要是给数据分类,方便理解和管理,例如:银行的数据仓库主题包括:时间、地点、票务、理财、贷款等。
集成
在使用数据之前,需要对其进行清理加工和集成,并且其有统一的数据结构和编码。
相对稳定
数据仓库中包含了大量的历史数据,其是极少或基本不更新的。对数据的主要操作是 insert
,很少会出现 update
和 delete
操作。
反映历史变化
数据的实现基本在 5-10 年以上,甚至永不删除,其标明了历史的时期,便于去做时间趋势分析。数据仓库执行查询,清理,操作,转换和分析数据,并且还包含大量历史数据。
1.2 数仓的技术架构
数据仓库的发展,从技术角度来看主要是解决底层技术问题,即数据库架构的设计,其在数据库技术中可以概括为:Shared Everything,Shared Disk 和 Shared Nothing。
Shared Everything
一般针对单机数据库,完全透明共享的 CPU、内存、IO 资源。典型的代表产品 SQL Server。
Shared Storage
各个处理节点使用其自己独有的 CPU、内存、但是磁盘是共享的。典型代表产品为 Oracle rac。
Shared Nothing
其是一种分布式计算架构,CPU、内存、磁盘等资源都是私有的,整个系统不存在共享资源,没有单点的竞争。
上面三种技术架构中,Shared-Nothing 架构目前已经成为高性能数据仓库的主流架构,因为其优秀的可扩展性,在该体系下,每个节点都有自己的本地磁盘,表是按照节点水平区分,每个节点只负责本地磁盘上的数据。这样就会使得每个节点有相同的功能并在硬件上运行,其资源不去进行争用。
1.3 逻辑分层架构
数仓的逻辑分层架构主要偏向应用,有很多分层的方式,这里只选取其中最具有代表性的一种。从底到上可以分为这四个层次:
- 数据运营层(ODS, Operational Data Store):将原始数据几乎无处理地存放在数据仓库系统汇总,结构上与源系统保持一致,其职责是将基础数据同步、存储。是后续加工数据的来源。
- 数据明细层(DWD,Data Warehouse Detail): 这一层主要解决数据质量问题和数据的完整性问题,该层一般保持和 ODS 层一样的数据粒度,并且提供了一定的数据质量保证,在 ODS 的基础之上对数据进行加工处理,提供更干净的数据。
- 数据服务层(DWS,Data Warehouse Service):该层主要是将上层来的数据整合汇总成分析某一个主题的数据服务层,用于提供后续的业务查询。
- 数据应用层(ADS,Application Data Service):该层主要提供给数据产品和数据分析使用的数据,供舒服分析和数据挖掘的使用。
2 丰富的数据引发更多的思考
数据的存放的目的,是否能带来价值。
-
数据特征趋向于海量化和多样性:数据规模呈指数级增长,多样性数据需要多样性的计算引擎
-
业务特征趋向于实时化和生态化:实时分析更快释放数据价值,融合分析挖掘更多数据价值
3 GaussDB(DWS) 介绍
3.1 产品发展:十年技术沉淀,厚积薄发
从华为的 2012 实验室孵化之初,到如今已经有 10 多个年头了。华为云数仓 GaussDB (DWS)支持实时入库、实时分析、批量运算、交互式查询的一站式分析平台,具备传统数仓的超大规模、高性能、高并发等优势,同时也具备云原生数仓的存算分离、弹性伸缩、Serverless、湖仓一体和数智融合等能力。
3.2 产品愿景
产品愿景:全场景分析,湖仓一体,数智融合,简化 IT 架构,使得人人用数
3.3 产品服务
产品提供:标准数仓、实时数仓、IoT 数仓,构筑新一代全场景智慧型数据仓库
实时数仓
HATP 生产即分析,打通分析系统和交易系统处理边界,提高分析时效性:
- 高并发毫秒级点查询
- Ad-hoc 复杂查询性能优
- 异常资源实时监控
IoT 数仓
内置时序引擎,流批一体打通 OT 数据和 IT 数据分析边界
3.4 GaussDB(DWS) Serverless 云原生架构
Serverless 的云原生架构,存算管的三层分离,计算存储资源独立,灵活,快速伸缩。高性价比满足用户变化多样的负载需求和严格的负载隔离要求。特点:
- 极致弹性
- 湖仓一体
- 数智融合
- 性能优异
极致弹性
- 多样的弹性方式逻辑集群扩容和缩容、启停功能
- 一份数据承载多样负载,数据实时共享
湖仓一体
- 数据湖和数据仓库数据无缝混合查询
- 数据湖分析体验数仓的极致性能和精准管控度
无缝访问数据湖:
-
对接 Hive Metalstore 元数据管理,直接访问数据湖的数据表定义
-
支持主要的数据格式:ORC,Parquet,Hudi,Carbon
融合查询:
- 混合查询数据湖和仓内的任意数据
- 查询一步到位输出到仓内/数据湖,无需额外数据中转拷贝,依旧是同一份数据
数智融合
- 数据生产线和 AI 生产线的无缝对接
- 数据生产线为 AI 生产线提供强劲的数据
- 处理能力和灵活的供数方式
- AI 训练推理能力嵌入数据分析流程,然后可以直接调用这些模型
性能优异
使用数仓高质量的查询计划和高效的执行引擎,使用数仓的负载管理手段,精准控制
- 一体化性能优化,做了很多性能优化的操作
- 匹配传统数仓的性能体验
4 总结
本文主要介绍了数据仓库的起源和演进,以及数据仓库的未来展望。文章首先定义了数据仓库的概念,包括面向主题、集成、相对稳定和反映历史变化等特点。然后介绍了数据仓库的技术架构,包括 Shared Everything、Shared Storage 和 Shared Nothing。接着介绍了数据仓库的逻辑分层架构,包括数据运营层、数据明细层、数据服务层和数据应用层。
文章还讨论了丰富的数据引发更多的思考,包括海量和多样化数据的融合分析以及开发、融合、云化、实时、全场景分析等趋势。
最后介绍了华为云的数据仓库产品GaussDB(DWS),包括产品发展、产品愿景、产品服务和GaussDB(DWS) Serverless的云原生架构。同时通过图片和文字详细地介绍了数据仓库的前世今生和未来发展趋势,为读者提供了全面的了解和启发。