一、为什么需要建模
- 性能:良好的数据模型能帮助我们快速查询所需要的数据,减少数据I/O的吞吐。
- 成本:良好的数据模型能极大地减少不必要的数据冗余,也能实现计算结果 复用,极大地降低大数据系统中的存储和计算成本。
- 效率:良好的数据模型能极大的改善用户使用数据的体验,提高使用数据的效率。
- 质量:良好的数据模型能改善数据统计口径的不一致性,减少数据计算错误的可能性。
二、关系数据库和数据仓库
随着大型关系数据库商业软件的兴起,现代企业信息系统几乎都在使用关系数据库来存储、加工和处理数据。数据仓库系统也不例外,大量的数据仓库系统依托强大的关系数据库能力存储和处理数据,其采用的数据模型方法也是基于关系数据库理论的。尽管 nosql也有 一定的发展,但是企业仍在大规模使用sql进行数据的加工和处理,仍然使用表存储数据,仍然使用关系理论描述数据之前的 关系,只是在大数据领域,基于其数据存储的特点在关系数据模型的范式上有了不同的选择而已。
三、OLAP、OLTP介绍
数据处理大致可以分为两类:联机事物处理OLTP(online transaction processing)、联机分析处理OLAP(online analytical processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事物处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且 提供直观易懂的查询结果。
- OLTP:系统强调数据库内存效率,强调内存各种指标的命令率