一、kimball维度建模书
kimball维度建模是一种设计数据仓库的方法,非常适合数据分析和报告。kimball维度建模的核心概念是维度模型,它包含了大量的事实表和维度表。Kimball与他的同事创造了许多与维度建模相关的专业术语和定义,例如事实、维度、维度属性和层次结构等等。而《The Kimball Group Reader: Relentlessly Practical Tools for Data Warehousing and Business Intelligence Remastered Collection》可以帮助读者深入理解kimball维度建模方法和技巧。很多kimball维度建模从业者都将该书作为建模入门的必读文献,此书也是kimball维度建模领域的经典之作。
二、kimball维度建模和innmon区别
kimball维度建模和innmon都是数据仓库中常用的建模方法。但kimball维度建模是基于维度模型的,而innmon则是基于关系模型的。kimball维度建模通过明确维度和事实的概念,便于业务用户快速理解和使用数据仓库中的数据。而innmon则使用了多层模式来构建数据仓库,其中不同层级的数据模型相互关联和依赖。此外,kimball维度建模更适用于数据量较小、表结构简单的数据仓库,而innmon则更适用于数据量大、表结构复杂的数据仓库。
三、kimball维度建模4步
kimball维度建模的设计过程分为4步:
第一步是需求调研。需求调研的目的是与业务用户深入沟通,确定数据仓库中需要哪些事实和维度。
第二步是业务建模。业务建模是将需求调研中形成的概念转化为维度模型的核心步骤。在业务建模中,需要确定维度表的属性、确定层次结构,并且将事实表和维度表联系起来。
第三步是物理设计。物理设计的主要任务是将业务建模中的逻辑表结构转换成物理表结构,定义表和字段、数据类型等。
第四步是实现和部署。实现和部署过程包括数据仓库的ETL开发、数据仓库系统的部署、数据仓库的测试和维护等。
四、kimball维度建模工具箱
kimball维度建模过程中的工具箱包括了数据模型工具、数据维护工具和BI查询工具等。数据模型工具可以帮助我们快速构建和修改数据模型,如ERwin、Toad Data Modeler等。数据维护工具可以帮助我们统一管理和维护数据维度表中的数据,如Talend Studio、DataStage等。BI查询工具可以帮助我们快速查询和分析数据仓库中的数据,如Power BI、Tableau等。
五、kimball维度建模是谁提出的
kimball维度建模是由Ralph Kimball和他的团队在20世纪80年代提出的。他们发现企业中存在大量的操作型系统和分散的数据存储,难以对于业务数据进行准确、实时的分析和报告。kimball维度建模方法中所使用的维度和事实等概念相对简单,所以被广泛应用于数据仓库领域,并成为了最受欢迎的数据仓库建模方法之一。
六、kimball维度建模常问面试题
1、维度建模是如何解决事实表的跨度问题的?
答:kimball维度建模通过将事实表和维度表联系起来,通过维度表中由一个或多个维度属性组成的复合主键来解决事实表的跨度问题。在维度表中,如果有新的维度值,则其对应的记录会插入到维度表中,由此形成了“Slowly Changing Dimension”类型的表,这样就解决了数据历史的记录问题,也规避了数据丢失的风险。
2、请说一下Factless Fact表。
答:Factless Fact表指的是没有事实的事实表,它是一种仅包含用于跨越或关联其他事实表的键,而没有任何常规度量的表。基于Factless Fact表的设计是为了满足多种关系和有关联的事实表,例如缺陷、违规、运输等事件的情况。
3、设计一个订单交易的数据仓库,你会采取什么方法?
答:在订单交易数据仓库的建模中,可以采用事实表和维度表的方式。其中事实表以订单号作为主键,并描述了订单的细节,例如订单数量、金额等。而维度表则包括了时间、店铺、产品、买家和供应商等信息。如果还需要进行复杂的交叉分析,则可以使用多个层次结构来支持更复杂的查询和聚合操作。