数据仓库事实表和维度表如何查询 数据仓库的数据模型是什么?
数据仓库的数据模型是什么?
数据仓库接是个的两种数据仓库建模的理论是维度建模和基于主题域的实体关系建模,这两种四个以Kimball和Immon两位大师为代表。维度建模以数据分析需求为驱动,倡导人总线架构:完全不同的事实和相同的维度,这种数据模型更易用户理解和数据分析操作。实现主题域的实体关系建模以源系统数据为驱动,全部整合企业的所有数据,站在企业级的垂直距离对数据接受抽象概念,整合,按结构3NF的实体关系理论建模,这种数据建模以颇为抽象的一段时间组建一个相对稳定的数据模型,并能请看企业级的数据关系。在工业界一般说来把两种生克制化起来运用数据仓库的完全不同数据层次结构中。
我们上周要注意是对于区分基于条件主题域的实体关系建模中信息整合的接受特有踏入的讨论,再讨论了200元以内三种思路:
以属性涌去的同一主题域中不同实体的属性。比如说对于会员、公司、客户等等实体对象我们也有地址属性信息、名称标识属性信息等等,这种思路应该是把属性内聚性高的字段整合起来在一起,并把有所不同的属性打上类型标识以树表的形式储存时。它的优点是:第一,模型稳定性好,外围系统变化了字段,只要先添加有所不同的类型,不不需要进行表结构的变更;第二,减少大量冗余设计记历史数据。它的缺点是:第一,丢失的了很多实体的属性标示信息,我们从模型上将无法看到一个会员究竟是什么人有哪些地址属性,没有办法是从网上查询类型代码才能声望兑换这些信息;第二,它十分的膨胀数据表的记录数,而且它区分竖表的形式存放;第三,运用过来不是那么容易,效率是一个大问题,毕竟我们往往要可以使用一个实体的多个字段,可能会有很多join操作和竖转横的操作。第四:属性涌去确实是一件也很难你的操作的过程,应为这是一个抽象的过程,对建模人员的业务背景知识和抽象化能力都提议了很高的要求;第五:确实下降了冗余的记历史数据,不过记历史的操作也相对急切。
常规面向对象建模的,抽象化相同实体的同盟协议属性,接着再一步步区分继承、组合等面向对象的思想可操作化实体。他的优点是模型模型概念都很模糊,缺点都是模型低些又不是很稳定点,整合后的数据的后续应该要也无法应付再融合的问题。
贴源的建模
常规都差不多持续源系统的进行建模,上重点放进数据的标准化,一致化,和数据业务意义的梳理。这种做法和我们目前数据仓库的做法比较好带有。它具高可以实行比较很难,快速实现方法,前台这个可以真接不使用数据;缺点是全部整合度不高,模型不稳定啊。
模型纵然是为数据分析应用服务的,具体一点区分什么建模需要依据什么换算业务特点和源系统的特点改变。的源系统具有变化快,数据分析应该要变化快的特点,也要快的特点,而且我们没有要求差别系统之间整合的需求并又不是很大,往往深度的数据整合给他的是应用形式上的不大方便。而,我个人都觉得常规贴源的是当前更具竞争力的方案。
hive数据仓库的设计,项目中分了几层,每层有什么意义?
数据仓库的设计,个人建议去看一看Kimball的维度模型设计的咨询书籍。
一般来说,数据仓库会包含维度表,事实表,包括相关的汇总资料结果,大多以cube形式存在的多维分析的结果集。
维度表是指用处看数据的完全不同划分角度,如按时间一栏,按城市查看等等,这里的时间,城市等那就是维度,数据仓库里像是会对这些数据分开来管理,自然形成维度表,同时针对维度表的变化,有些填写的差别处理方案。事实表则读取了按维度划分的度量指标的记录,如记录信息相同时间,有所不同城市的销售额的表,这其中的销售额那就是一种度量,这个可以明确的时间,城市等维度进行划分,同样的也这个可以聚合汇总。
对数据接受了维度与事实的划分后,就也可以依据需求,按有所不同的维度组合接受事实表的查询。cube象会按重新制定的维度组合参与预换算,并将各维度成组合的值存储下了,以备然后去查询。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。