总结:
数据库是面向事务的设计,数据仓库是面向主题设计的。
数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。
详细介绍:
数据仓库:
数据仓库系统的主要应用主要是在线分析处理(OLAP),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
数据仓库是面向主题的、集成的、稳定的、不同时间的数据集合,用于支持用户的决策制定过程。
数据仓库特:
- 数据仓库是面向主题的;
- 数据仓库是集成的;
- 数据仓库是稳定的;
- 数据仓库是随时间变化的;
- 数据仓库的数据量很大;
- 数据仓库软硬件要求较高。
数据库 比较流行的有:MySQL, Oracle, SqlServer等
数据仓库 比较流行的有:AWS Redshift, Greenplum, Hive等
数据库和数据仓库的区别:
都是为了组织和管理数据,但具有以下几点不一样
1、 存储结构:
数据库:一般面向行存储;
数据仓库:倾向使用列式存储;
2、关注点:
数据库通常更关注业务交易处理(OLTP),是面向事务的设计;
而数据仓库更关注数据分析层面(OLAP),是面向主题设计的;
3、要求不同:
数据库要求:遵循ACID和范式模型,尽可能减少冗余、保证引用完整性
数据仓库强调:数据分析的效率,复杂查询的速度,数据之间的相关性分析,所以在数据库模型上,数据仓库喜欢使用多维模型,从而提高数据分析的效率。
4、时间
数据库:一般存储在线交易数据;
数据仓库:存储的一般是历史数据;
数据仓库与数据库的主要区别在于:
(1)数据库是面向事务的设计,数据仓库是面向主题设计的。
(2)数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
(3)数据库设计是尽量避免冗余,数据仓库在设计是有意引入冗余。
(4)数据库是为捕获数据而设计,数据仓库是为分析数据而设计。
物理模型
-
星型模型
星型模型是数据集市维度建模中推荐的建模方法。星型模型是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。
特点:数据组织直观,执行效率高。因为在数据集市的建设过程中,数据经过了预处理,比如按照维度进行了汇总,排序等等,数据量减少,执行的效率就比较高。
-
雪花模型
雪花模型也是维度建模中的一种选择。雪花模型的维度表可以拥有其他维度表的.
特点:虽然这种模型相比星型模型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用。
-
星座模型
星座模型是星型模型延伸而来,星型模型是基于一张事实表的,而星座模型是基于多张事实表的,而且共享维度信息。通过构建一致性维度,来建设星座模型,也是很好的选择。比如同一主题的细节表和汇总表共享维度,不同主题的事实表,可以通过在维度上互相补充来生成可以共享的维度。
数据参考中的表
一般分为:事实表和维度表
维度表:一般固定、变动少、数据有限、冗余大,为事实表节省空间;主键选择整数值,节省事实表的空间(如:联系人、物品种类)
事实表:一般记录流水,很大,例如:销售清单,通常随着时间的增长不断膨胀