数据仓库中的一些基本概念

前言

什么是BI?如果是非IT行业的人问我,我会说BI是(Business Intelligence)的英文简称,翻译成中文即商业智能,简单讲就是做数据统计与分析、挖掘数据价值。如果是IT行业的人问,我会说BI就是"报表"。

很多人,特别是在BI领域做的时间不长、或者对BI没有深入思考的人会认为BI就是报表,是非常简单非常无聊的领域,因为BI很少牵扯事物与并发处理,这对java开发来讲确实比较无聊。但是我相信深入理解BI之后才会发现BI并不是这么简单的事情,认为BI只是简单的报表人,我觉得对BI的理解可能只停留在写代码展示的层面,然而BI的核心并不在此,我认为BI的核心有以下三点:

  • 数据仓库设计
  • ETL
  • 数据分析与建模

本次不会对三个核心领域展开,或许以后我会整理一下出一个系列,但是今天主要针对数据仓库纬度建模的基础概念做基础说明,很多容易理解的基础概念我会一笔带过,但对于容易让人迷惑的概念我会用白话或者非标注的定义来说明,我一直觉得容易理解的概念比完美描述但是晦涩难懂的定义更好。

什么是数据仓库?

这个问题如果百度一下,肯定会给出一个相对专业的答案,除了数据仓库,还有数据湖这样的概念,如果按照标准定义,很容易给人能理解,但是记不清完整概念的感觉。我这里给出一个最易于理解的答案:数据仓库就是一个数据库

什么是纬度表?什么是事实表?

纬度建模是目前最流行的数据仓库建模方式、对于纬度表和事实表的具体概念我相信不用解释,这里我只是扩展说明一下,纬度表的设计分为雪花型和星型,请记住现在的存储不像多年前那样昂贵,目前绝大多数纬度表都按照星型设计,因为这样更利于查询性能的提高。

何为ODS层?

ODS层是最容易让人迷惑的了,实际上我们可以简单理解为ODS层是数据源与数据仓库(DW)的中间层。这个中间层并不是非要做什么,有些小型企业或者资源紧张的项目可能根本没有ODS层。如果架构设计了这个层次,我们可以根据数据源以及业务在这个层面做所需的操作,举几个简单的例子:

  • 如果数据源来源于不同的数据库,比如Oracle和Mysql,那么ODS层可以统一使用Oracle,将数据源做一次统一,再将ODS层作为DW的数据源做ETL。
  • 为了避免ETL对数据源带来较大性能的影响,可以利用OGG或者DG这种数据同步中间件,将数据源同步到ODS层。
  • 对于相同的纬度,不同数据源的主键不一致,比如A数据源用1代表男,B数据源用Man代表男,在ODS层即可做一次转化,统一纬度主键。
    当然还有很多其他可以处理的应用,并没有绝对的定义要求,是需要根据具体应用场景来选择是否需要有ODS层,ODS层具体要做些什么工作。并且不要认为ODS层就是一个层,我们也可以将ODS划分为多个层,每个层处理不同的任务。

何为DW层?

DW即数据仓库,将多个数据源数据按照一定规则汇总到一个数据库,这个数据库就可以叫数据仓库了。

何为DM层?

DM即数据集市,将数据按照部门、业务或者主题划分到多个数据库,那么这些数据库即数据集市,不同部门可以按需使用数据。数据集市的概念有时候也会让人迷惑,比如我们现在建立的的数据仓库本来就是部门级别的,那么到底叫DM还是DW呢?其实都可以。还有合理的架构方式是先有DW再根据DW来划分出来多个DM这样可以做到数据一致性。但是企业为了快速构建数据仓库,很可能是先做DM再做DW的。

总结

数据仓库简单来说就是围绕上面的概念来设计的数据库。我们在学习过程种并不需要过于纠结理论概念,很多概念都是模糊的并没有明确的定义,概念是为了业务服务的。根据实际业务需求设计数据仓库才是关键。最后我用一张简单的图来说明数据仓库整体架构。

ETL
ETL
ETL
数据源
ODS层
数据仓库DW
数据集市DM

这张图描述了数据仓库的标准构建流程,数据仓库并不是只设计一个DW数据库,ODS、DM都是按需设计的,而且具体怎样组合,是根据实际需求来设计的,并且不同行业与业务,纬度表和事实表的设计大有不同,这需要跟实际业务相结合。

有一句话讲的好,世界上最优秀的数据仓库设计者是一个医生,为什么呢?因为医生对所处行业的业务最了解。可以认为不懂业务是不可能设计好数据仓库的。

只是按照常见的方法论建立几张纬度表和事实表非常简单,但是根据实际业务需求设计合理的纬度表和事实表并不简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值