4种数据仓库建模方法

1 数据仓库的前世今生

官方定义:数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

数据仓库之父 Bill Inmon 在 1991 年出版的 Building the Data Warehouse 一书中首次提出了被广为认可的数据仓库定义。Inmon 将数据仓库描述为一个面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理者的决策过程。

简单点来说,现实情况是一个企业有很多数据源,比如有的业务数据存放在Mysql,PG库,有的存放在Oracle,有的日志存放在Ftp,Nginx服务器上等,有的是外部采集的爬虫数据等等。那么对于企业来说沉淀了这么多数据,如何将这些数据放到一起进行数据融合,数据分析,给企业挖掘数据价值呢?这些不同数据源,不同数据存储格式,不同的数据更新周期,如果让你把企业这些数据融合分析,你怎么办?

首先,你是不是要把这些不同数据按照统一的格式,一定的规范存储到一起,然后在通过特定的工具做数据计算分析?那么对于企业来说,把企业各种数据源的数据放到一起存储和计算的地方就叫数据仓库(约定俗称的叫法),所以本质上数据仓库上融合各个数据源,存储加工数据的地方,早期大数据没有发展起来的时候,企业数据仓库的载体一般是Oracle,那时候主要给企业做BI报表(Business Intelligence商业智能)。

随着企业数字化,互联网的发展,企业收集到数据越来越多,发现原有的技术框架已经满足不了业务存储和分析的需求了。于是乎就有了现在Hadoop生态为主的数仓仓库。
hhh

数仓建模的目的是什么?为什么要进行数仓建模

大数据的数仓建模是通过建模的方法更好的组织、存储数据,以便在性能、成本、效率和数据质量之间找到最佳平衡点。一般主要从下面四点考虑:

  • 访问性能:能够快速查询所需的数据,减少数据I/O。
  • 数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数 据系统中的存储成本和计算成本。
  • 使用效率:改善用户应用体验,提高使用数据的效率。
  • 数据质量:改善数据统计口径的不一致性,减少数据计算错误 的可能性,提供高质量的、一致的数据访问平台。

2 常见的数据建模方法

数据仓库本质是从数据库衍生出来的,所以数据仓库的建模也是不断衍生发展的。从最早的借鉴数据库的范式建模,到

### 数据仓库建模概述 数据仓库建模旨在创建一个高效的数据结构,以便支持复杂的查询和分析操作。两种主要的建模方法分别是维度建模和关系建模[^1]。 #### 维度建模的特点 维度建模专注于业务过程的时间序列事件,并围绕事实表和维度表构建模型。这种模式特别适合于OLAP(联机分析处理)应用,能够提供快速响应时间并简化复杂查询的操作。通过星型或雪花架构来表示这些实体之间的关联,使得最终用户可以更容易理解数据间的关系。 #### 关系建模的特点 相比之下,关系建模更侧重于保持数据的一致性和完整性约束,在设计上追求第三范式的规范化程度。这种方法适用于事务处理系统(OLTP),但在面对大规模数据分析需求时可能会遇到性能瓶颈。对于历史记录保存以及频繁更新的情况,关系模型可能不是最佳选择。 #### 建模指南与实践建议 当考虑采用哪种方式来进行数据仓库的设计时,应评估具体的应用场景和技术环境: - **目标导向**:如果目的是为了提高决策支持系统的效率,则倾向于选用维度建模;而对于交易密集型应用程序来说,关系建模可能是更好的选项。 - **工具支持**:某些ETL工具和服务对特定类型的模型有更好兼容性,因此也需要纳入考量范围之内。 - **团队技能集**:现有开发人员的知识背景也会影响这一决定——熟悉SQL编程的人群通常会发现基于表格的关系方案更加直观易懂;而BI分析师则往往偏好易于浏览的多维立方体结构。 ```sql -- 创建一个简单的事实表例子 CREATE TABLE sales_fact ( sale_id INT PRIMARY KEY, product_key INT NOT NULL, store_key INT NOT NULL, date_key DATE NOT NULL, quantity_sold DECIMAL(8,2), dollar_sales DECIMAL(10,2) ); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值