数据仓库的架构以及传统数据库与数据仓库的区别

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 数据仓库的架构以及传统数据库与数据仓库的区别

一、数据仓库的分层架构

数据仓库的数据来源于不同的源数据,并提供多样的数据应用,数据自下而上流入数据仓库后向上层开放应用,而数据仓库只是中间集成化数据管理的一个平台。

1,源数据层(ODS)

操作性数据(Operational Data Store) ,是作为数据库到数据仓库的一种过渡,ODS的数据结构一般与数据来源保持一致,可以增加字段用来进行数据管理,存储的历史数据只是只读的,提供业务系统查询使用, 而且ODS的数据周期一般比较短。ODS的数据为后一步的数据处理做准备。

2,数据仓库层(DW)

数据仓库(Data Warehouse),是数据的归宿,这里保持这所有的从ODS到来的数据,并长期保存,而且这些数据不会被修改,DW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。

3,数据应用层(DA 或 APP)

数据应用(Data Application),为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据,该数据面向应用。如根据报表、专题分析需求而计算生成的数据。

(1)明细层DWD(Data Warehouse Detail)

存储明细数据,此数据是最细粒度的事实数据。该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证。同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联。

(2)中间层DWM(Data WareHouse Middle)

存储中间数据,为数据统计需要创建的中间表数据,此数据一般是对多个维度的聚合数据,此层数据通常来源于DWD层的数据。

(3)业务层DWS(Data WareHouse Service)

存储宽表数据,此层数据是针对某个业务领域的聚合数据,业务层的数据通常来源与此层,为什么叫宽表,主要是为了业务层的需要在这一层将业务相关的所有数据统一汇集起来进行存储,方便业务层获取。此层数据通常来源与DWD和DWM层的数据。

4,维表层(Dimension)

维表层主要包含两部分数据:

(1)高基数维度数据:

一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。

(2)低基数维度数据:

一般是配置表,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几千几万。

二、数据库与数据仓库的主要区别

数据仓库是指从业务数据中创建信息数据库,并针对决策和分析进行优化。数据库是数据管理的有效技术,是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映客观事物间的本质联系。数据库能有效地帮助一个组织或企业科学地管理各类信息资源。

1、数据库是面向事务的设计,数据仓库是面向主题设计的。
2、数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
3、数据库设计是尽量避免冗余,数据仓库在设计是有意引入冗余,一般采用符合范式的规则来设计。针对某一业务应用进行设计,符合业务应用,但是不符合分析。数据仓库在设计是有意引入冗余,依照分析需求,分析维度、分析指标进行设计,采用反范式的方式来设计。
4、数据库是为捕获数据而设计,数据仓库是为分析数据而设计。

三、数据仓库的系统设计流程

1、确定分析所依赖的源数据。
2、通过ETL将源数据采集到数据仓库。
3、数据按照数据仓库提供的主体结构进行存储。
4、根据各部门的业务分析要求创建数据集市(数据仓库的子集)。
5、决策分析、报表等应用系统从数据仓库查询数据、分析数据。
6、用户通过应用系统查询分析结果、报表。

四、OLAP和OLTP的区别

OLAP:(Online transaction processing):在线/联机事务处理。典型的OLTP类操作都比较简单,主要是对数据库中的数据进行增删改查,操作主体一般是产品的用户。

OLTP:(Online analytical processing):指联机分析处理。通过分析数据库中的数据来得出一些结论性的东西。比如给老总们看的报表,用于进行市场开拓的用户行为统计,不同维度的汇总分析结果等等。操作主体一般是运营、销售和市场等团队人员。

在这里插入图片描述

五、OLAP和OLTP统一使用

有个趋势是将OLTP和OLAP相融合,在同一个系统中同时提供TP和AP 2种服务,即HTAP产品,国内的数据库创业公司PingCAP的TiDB即是其中的佼佼者。

但由于两者服务类型相差甚大,完全融合是很难的,如何解决AP业务对要求更高实时性和稳定性的TP业务带来影响,如何同时提供2种服务且2种服务与业界其他系统相比具备足够竞争力,这些都是很大的挑战。

在目前的HTAP系统中,一般通过存储层的数据多副本来进行针对AP和TP业务的不同方式的优化,使用多个副本来以行存方式更好满足TP业务,通过增加一个副本来以列存方式为AP业务提供服务。

在存储系统上,配置独立的计算/查询系统,分别满足TP和AP不同的要求。比如TP系统很重要的一个特点就是事务的ACID,而AP系统更加关心分布式并行查询能力。

六、总结

传统的数据仓库集成处理架构是ETL,利用ETL平台的能力,E=从源数据库抽取数据,L=将数据清洗(不符合规则的数据)、转化(对表按照业务需求进行不同维度、不同颗粒度、不同业务规则计算进行统计),T=将加工好的表以增量、全量、不同时间加载到数据仓库。

数据仓库系统的作用能实现跨业务条线、跨系统的数据整合,为管理分析和业务决策提供统一的数据支持。数据仓库能够从根本上帮助你把公司的运营数据转化成为高价值的可以获取的信息(或知识),并且在恰当的时候通过恰当的方式把恰当的信息传递给恰当的人。

数据库和数据仓库的关系是依赖互补的,一般以数据仓库作为基础,既从数据仓库中抽取出详细数据的一个子集并经过必要的聚集存储到OLAP存储中供数据分析工具读取。

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
5月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
29天前
|
存储 SQL 运维
速看!数据库与数据仓库的本质区别是什么?
本文深入解析了“数据库”与“数据仓库”的核心区别,涵盖设计目的、数据结构、使用场景、性能优化和数据更新五个维度。数据库主要用于支持实时业务操作,强调事务处理效率;数据仓库则面向企业分析决策,注重海量数据的整合与查询性能。二者在企业中各司其职,缺一不可。
|
13天前
|
存储 机器学习/深度学习 数据采集
一文讲透数据仓库、数据湖、数据海的区别
企业常因数据架构不清导致报表延迟、数据矛盾、利用困难。核心解法是构建数据仓库(高效分析)、数据湖(灵活存储原始数据)和数据海(全局集成)。三者各有适用场景,需根据业务需求选择,常共存互补,助力数据驱动决策。
一文讲透数据仓库、数据湖、数据海的区别
|
2月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
2月前
|
存储 传感器 数据管理
数据仓库、数据集市、数据湖、数据海,到底有啥区别?
本文深入解析了“数据仓库、数据集市、数据湖、数据海”的核心区别与应用场景,帮助企业理解不同数据平台的设计理念与适用范围。从支持决策分析的数据仓库,到面向业务部门的数据集市,再到存储多样化数据的数据湖,以及实现跨组织协作的数据海,四者构成企业数据能力由浅入深的发展路径。文章结合实际业务场景,提供选型建议,助力企业在不同发展阶段合理构建数据体系,挖掘数据价值。
数据仓库、数据集市、数据湖、数据海,到底有啥区别?
|
3月前
|
存储 BI API
一文读懂数据中台和数据仓库的区别
本文深入解析了“数据中台”与“数据仓库”的区别,从定义、功能、架构设计、数据处理、应用场景等多个维度进行对比,帮助企业更清晰地理解二者的核心差异与适用场景。数据仓库重在存储与分析历史数据,服务于高层决策;数据中台则强调数据的实时处理与服务化输出,直接赋能一线业务。文章还结合企业规模、业务需求与技术能力,给出了选型建议,助力企业在数字化转型中做出更科学的选择。
|
3月前
|
存储 数据采集 NoSQL
什么是数据仓库?数据库与数据仓库有什么关系?
数据仓库与数据库有何区别?数据仓库主要用于存储历史数据,支持企业分析决策;而数据库则负责管理实时业务数据,保障日常运作。两者在数据来源、处理方式、存储结构等方面差异显著,但又相辅相成,共同助力企业高效管理数据、提升运营与决策能力。
|
4月前
|
存储 关系型数据库 数据库
高性能云盘:一文解析RDS数据库存储架构升级
性能、成本、弹性,是客户实际使用数据库过程中关注的三个重要方面。RDS业界率先推出的高性能云盘(原通用云盘),是PaaS层和IaaS层的深度融合的技术最佳实践,通过使用不同的存储介质,为客户提供同时满足低成本、低延迟、高持久性的体验。
|
5月前
|
存储 Cloud Native 关系型数据库
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
282 3
|
6月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。

热门文章

最新文章