浅谈多维模型
程序员文章站
2024-01-22 09:23:22
...
1.两种数据结构
Normalize(规范化数据)&De-normalize(反规范化数据)
De-normalize特点:多表数据整合为一,信息综合
数据冗余,占物理空间
直接表单查询,速度快
以'空间'换取'时间'
Normalize:多表多数据查询性能差;表间物理存储独立,关联查询
2.多维模型
多维数据模型
优点:多维数据模型最大的优点就是其基于分析优化的数据组织和存储模式。
缺点:多维模型的缺点就是与关系模型相比其灵活性不够,一旦模型构建就很难进行更改。因此在建立多维模型前,一般会根据需求首先详细的设计模型,确定好包含哪些维和度量,以及数据保持在哪个粒度上才能满足用户的分析需求。
星型模型-----事实表居中,多个维表呈辐射状分布四周通过主键和外键与事实表相连。是反规范化的,有数据冗余,查询时不需要外部连接,速度快维护简单。反规范化设计其实就是第三范式3NF(或2NF)到多维(ROLAP)模型的设计过程。
雪花模型-----事实表跟维表的关联不止一层,对星型模式维表进一步层次化。介于第三范式和星型模式之间的一种设计模式。规范化的,数据冗余少,一定程度上减少了存储空间,却降低了查询性能。
实际应用中,常将两种模型混合使用。不过很多情况下牺牲空间换取时间从而提高性能。
多维数据模型作为一种新的逻辑模型赋予了数据新的组织和存储形式,而真正体现其在分析上的优势还需要基于模型的有效的操作和处理,也就是OLAP(On-line Analytical Processing,联机分析处理)。
OLAP类型:
MOLAP(Multidimensional)
--基于多维数组的存储模型,也是最原始的OLAP,但需要对数据进行预处理才能形成多维结构。
ROLAP(Relational)
--比较常见的OLAP类型,完全基于关系模型进行存放,只是它根据分析的需要对模型的结构和组织形式进行的优化,更利于OLAP。
扩展:http://webdataanalysis.net/web-data-warehouse/data-cube-and-olap/
Normalize(规范化数据)&De-normalize(反规范化数据)
De-normalize特点:多表数据整合为一,信息综合
数据冗余,占物理空间
直接表单查询,速度快
以'空间'换取'时间'
Normalize:多表多数据查询性能差;表间物理存储独立,关联查询
2.多维模型
多维数据模型
优点:多维数据模型最大的优点就是其基于分析优化的数据组织和存储模式。
缺点:多维模型的缺点就是与关系模型相比其灵活性不够,一旦模型构建就很难进行更改。因此在建立多维模型前,一般会根据需求首先详细的设计模型,确定好包含哪些维和度量,以及数据保持在哪个粒度上才能满足用户的分析需求。
星型模型-----事实表居中,多个维表呈辐射状分布四周通过主键和外键与事实表相连。是反规范化的,有数据冗余,查询时不需要外部连接,速度快维护简单。反规范化设计其实就是第三范式3NF(或2NF)到多维(ROLAP)模型的设计过程。
雪花模型-----事实表跟维表的关联不止一层,对星型模式维表进一步层次化。介于第三范式和星型模式之间的一种设计模式。规范化的,数据冗余少,一定程度上减少了存储空间,却降低了查询性能。
实际应用中,常将两种模型混合使用。不过很多情况下牺牲空间换取时间从而提高性能。
多维数据模型作为一种新的逻辑模型赋予了数据新的组织和存储形式,而真正体现其在分析上的优势还需要基于模型的有效的操作和处理,也就是OLAP(On-line Analytical Processing,联机分析处理)。
OLAP类型:
MOLAP(Multidimensional)
--基于多维数组的存储模型,也是最原始的OLAP,但需要对数据进行预处理才能形成多维结构。
ROLAP(Relational)
--比较常见的OLAP类型,完全基于关系模型进行存放,只是它根据分析的需要对模型的结构和组织形式进行的优化,更利于OLAP。
扩展:http://webdataanalysis.net/web-data-warehouse/data-cube-and-olap/
上一篇: CentOS下MySQL数据库的安装
下一篇: 按要求分段 教你如何把一篇文章按要求分段
推荐阅读
-
浅谈多维模型
-
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
-
浅谈php中global与$GLOBALS[' ']的区别
-
thinkphp在模型中自动完成session赋值示例代码,thinkphp示例代码
-
.NET Core WebApi后台获取到Json对应模型内容为null解决方式二( MVC模型绑定后台获取不到解决方式)
-
.NET Core 内置的 System.Text.Json 使用注意(MVC模型绑定后台获取不到解决方式)
-
浅谈php serialize()与unserialize()的用法_PHP
-
浅谈三大移动生态差异
-
浅谈物化视图
-
浅谈json_encode用法