数据仓库是不是数据仓库?
关系型数据库(Mysql,Oracle等)按用途来划分,可以归为两种:
- 业务型数据库:用于日常的业务数据的CRUD,而且事务型操作比较多.
- 分析型数据库:用于历史数据分析,大部分的操作都是读数据.而事务性操作很少(因为历史数据大部分都是读)
前者叫作数据库(用于业务处理),后者叫作数据仓库(用于分析处理)
数据仓库的特点
- 面向主题(维度设计).
- 数据源是异构的,集成的.所以数据仓库的数据规模要远远大于数据库.
- 数据仓库里的数据一般都是历史数据.
- 数据仓库操作数据的特点:大多数为读,即查询分析.
- 数据仓库查询分析数据时,一般都带有时间维度的
为什么要建立数仓?
比如我们查询每一个月的PV,UV量是多少,这种查询,完全可以从业务数据库来查询得到.
但是面对复杂或细粒度查询时,比如:2-~30岁女性用户过去五年的第一季度化妆品类商品的购买行衣与公司进行的促销活动方案之间的关系.
这种查询就需要从数据仓库里查询得到.
建立数据仓库的目的是为了更好的查询和分析业务数据.从而为公司的决策提供有力的支撑.
数据仓库的维度建模
所谓的维度建模,指的是围绕一张事实表,拆分为多张维度表,通过外键关联起来.维度建模有两种模型:
- 星型图模型
各维度表