蓝盟IT外包,谈几仓模型的关东煮

发布者:上海IT外包来源:http://www.lanmon.net点击数:1317

蓝盟IT小贴士,来喽!
什么是建模
人脑计算能力有限,世界太复杂了。 需要将你的关注点抽象化并建立简单的模型,用于问题的研究和解决。
例如数学建模,将关注的问题抽象为数学模型来解决。 例如AAARR增加黑客模型,抽象出用户的五个生命周期来指导研究和行动。
数据建模用数据表示问题域。
二、财务模式
接下来,在下一个公立学校的商业场景中进行讨论。
老师做作业安排在多个班级
班里的学生结束后交作业(一个学生只有一个班)。
在这里,我们将讨论四个实体(老师、作业、班级、学生)和四个业务流程(写作业、布置作业、写作业、提交作业)。
三、关系型三范式模型
服务端同学为了在关系型数据库中满足业务的快速增删调查,为了尽量减少数据的冗余,经常使用三种模式进行数据建模。
关于上述业务,有(老师、作业、班级、学生) 4种实体表和(班级-作业、学生-作业) 2个关系表。
制作作业的业务弱化到了作业表中
布局工作出现在类-工作关系表中
做作业和作业融入学生-作业的关系表
这样,我们的六个表的增删调查就能实现这项业务。
四、数仓模型
4.1维建模
到了数仓后,我们主要将数据用于分析,一般使用维度建模重构三个参数化模型。 将维和事实分开,制作不同级别的数据,满足多个分析场景。
我们需要分析的是,在老师给班级布置作业这个业务流程的情况下,作业——班级相当于事实表,维度表有班级、作业。
4.2粒度
业务流程有不同的粒度。 例如,学生-作业的粒度比班级-作业细。 粗粒度的班级-作业总结学生-作业的信息。 例如,有多少人在某个作业班提交等。
一般来说,我们重点建设各业务流程最细粒度的事实表,以便于后面的多级粒度总结。
4.3历史和现在
通常,数仓从业务库同步的数据是当前数据的镜像,业务库的模型面向当前业务,不保存历史信息。 例如,新学期班级表的年级属性发生变化,业务库直接发生变化。
到了数仓,要计算历史作业的提交信息,必须保存学生提交作业时他所在的年级。 年级逐渐变化的维度被称为缓慢变化维度。
处理方法是建立班级历史信息表,在相关的时候有时间,让年级信息“退化”到学生-作业的事实表中,不用放维度表。
4.4多事实融合
宽表是指多个维度退化为事实表而形成的,也是由多个相关事实融合而成的。例如,在文章的例子中,信息的冗余和空间可以实现老师-作业-班级-学生这一最极端的宽表。
这张表记录了所有老师的信息,如果没有做作业的话其他信息都是空的。
老师做多个作业时,该老师的信息被冗长地存储在各作业信息中

班级和学生的信息也全部记录在这张表上,如果没有作业信息,那个老师、作业信息都是空的,多个作业信息也会冗长地记忆。

文/上海蓝盟   IT外包专家

IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部