1.什么是数据仓库?
数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。
数据仓库的特征在于面向主题、集成性、稳定性和时变性,用于支撑管理决策。
数据仓库存在的意义在于对企业的所有数据进行汇总,为企业各个部门提供统一的、规范的数据出口。
其中的面向主题指的是:数据仓库中的数据是按照一定的主题域进行组织的,每一个主题对应一个宏观的分析领域。数据仓库排除对于决策无用的数据,提供特定主题的简明视图。
集成的:企业内不同业务部门数据的完整集成。对于企业内所有数据的集成要注意一致性(假设财务系统中对于性别使用F/M,而OA系统对性别使用A/B,这是数据不一致,如果想搭建企业级别的数据仓库,需要数据具有一致性)。
稳定的:数据仓库里不存在数据的更新和删除操作。
变化的:数据仓库里会有完整的记录某一个对象在一段时间内的变化情况。
数据仓库的目标是实现集成、稳定、反映历史变化有组织有结构的存储数据的集合。
2.OLTP和OLAP
操作型处理,叫联机事务处理OLTP(其全拼是:On-Line Transaction Processing),也可以称为面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。
分析型处理,叫联机分析处理OLAP(其全拼是:On-Line Analytical Processing),一般针对某些主题的历史数据进行分析,支持管理决策。
OLTP与OLAP的异同之处:
操作型处理 | 分析型处理 |
细节的 | 综合的/提炼的 |
实体-关系(ER)模型 | 星型/雪花模型 |
存储瞬间的数据 | 存储历史数据,不包括最近的数据 |
可更新的 | 只读,只追加 |
一次操作一个单元 | 一次操作一个集合 |
性能要求高,响应时间短 | 性能要求宽松 |
面向事务 | 面向分析 |
一次操作数据量小 | 一次操作数据量大 |
支持日常操作 | 支持决策需求 |
数据量小 | 数据量大 |
客户订单、库存水平和银行账户等 | 客户收益分析、市场细分等 |
3. 星型模式、雪花模式与星座模式
①星型模式
星型模式是维度模型中最简单的形式,也是数据仓库以及数据集市开发中使用最广泛的形式。星型模式由事实表和维度表组成,一个星型模式中可以有一个或多个事实表,每个事实表引用任意数量的维度表。星型模式的物理模型像一颗星星的形状,中心是一个事实表, 围绕在事实表周围的维度表表示星星的放射状分支,这就是星型模式这个名字的由来。
星型模式将业务流程分为事实和维度。事实包含业务的度量,是定量的数据,如销售价格、销售数量、距离、速度、重量等是事实。维度是对事实数据属性的描述,如日期、产品、客户、地理位置等是维度。一个含有很多维度表的星型模式有时被称为蜈蚣模式,显然这个名字也是因其形状而得来的。蜈蚣模式的维度往往只有很少的几个属性,这样可以简化对维度表的维护,但查询数据时会有更多的表连接,严重时会使模型难于使用,因此在设计中应该尽量避免蜈蚣模式。
②雪花模式
雪花模式是一种多维模型中表的逻辑布局,其实体关系图有类似于雪花的形状&#x