简单的说下什么是数据仓库

  1. 云栖社区>
  2. 博客列表>
  3. 正文

简单的说下什么是数据仓库

深蓝居 2016-05-09 10:26:26 浏览569 评论0

摘要: 一般的数据库是一个操作型的数据存储工具,比如一个学校的选课系统的数据库,学生选课系统由教务处建设和管理,主要用于课程的排课和学生的选课,教务处人员可以在选课系统中增加、修改、删除和查询排课信息,学生也可以在选课系统中对选课信息进行操作。

一般的数据库是一个操作型的数据存储工具,比如一个学校的选课系统的数据库,学生选课系统由教务处建设和管理,主要用于课程的排课和学生的选课,教务处人员可以在选课系统中增加、修改、删除和查询排课信息,学生也可以在选课系统中对选课信息进行操作。由于该数据库面向的是选课,所以记录的是与课程安排与选课的信息,其数据库模型简化如下图所示:

image

与一般操作型的数据库不同的是数据仓库主要是面向查询操作,而且查询的数据来自于多个数据库系统。同样以一个学校为例,学校除了选课系统以外还有人力资源系统(HR系统)用于管理教师信息、学籍管理系统管理学生的学籍信息等。

HR系统是由人事处建设和管理的,主要保存与教师相关的信息,所以该系统中不会出现学生的信息,其系统数据库模型如下图所示:

image

学籍管理系统是由学生处建设和管理,数据库中保存了学生的学历、毕业去向、家庭情况等基本信息外还保存了学生每学期的考试成绩等信息。由于该系统关注的是学生,所以不会出现教师的信息,其系统数据库模型如下图所示:

image

由于不同的系统由不同的部门和人员建设和管理,保存了不同的信息,如果需要进行数据的联合查询,而查询的数据又存放在不同的数据库中,那么就需要将这3个系统数据库的信息集成在一起,放在一个数据模型中,形成数据仓库,以便对教师信息、学生信息和选课信息进行联合的查询,建立的数据仓库模型如下图所示:

image

例如要查询一次教师的培训是否对教师所教学生的成绩有影响,以便决定是否对教师进行下一步的培训,则只能在数据仓库中才能完成,因为教师的培训信息和学生的成绩是存放在不同的系统中,相互独立,查询单独的一个数据库是没办法完成的。

数据仓库与一般数据库比较,还有一个特点是记录了数据变更历史。在数据库中对数据进行的修改一般是直接在数据行上进行更新操作,所以只记录最新的数据结果,而数据仓库则会记录每天数据的变动情况,将变动之前的数据和变动后的数据都保存在数据仓库中,以便进行时间序列分析。

同样以学校的3个数据库和数据仓库为例,在HR系统中记录了每个教师的基本信息,其中一项是教师的职称。教师职称变动时只需在HR数据库中修改该教师的职称字段即可。如果要查询一个教授从刚开始的讲师到现在的教授不同的职称情况下所教学生的平均成绩情况,则需要从数据仓库中查出该教师每次职称变动的时间,然后统计每个时间段内该教师所教课程所教学生的平均成绩即可得出结果,而这个查询在HR数据库是没办法实现的。

用云栖社区APP,舒服~

【云栖快讯】诚邀你用自己的技术能力来用心回答每一个问题,通过回答传承技术知识、经验、心得,问答专家期待你加入!  详情请点击

网友评论

深蓝居
文章284篇 | 关注8
关注
是解决用户结构化数据搜索需求的托管服务,支持数据结构、搜索排序、数据处理自由定制。 为您的网... 查看详情
API 网关(API Gateway),提供高性能、高可用的 API 托管服务,帮助用户对外... 查看详情
是一款简单高效的电子邮件发送服务,它构建在可靠稳定的阿里云基础之上,帮助您快速、精准地实现事... 查看详情
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
阿里云总监课正式启航

阿里云总监课正式启航