EDW_(DM数据仓库数据建模)模型设计
- 格式:pptx
- 大小:2.17 MB
- 文档页数:60
数据仓库中的多维数据模型设计与实现教程在数据仓库中,多维数据模型设计与实现是一项关键任务。
它不仅可以帮助企业组织和分析庞大的数据量,还能提供决策支持和洞察力。
本文将介绍数据仓库中多维数据模型的概念、设计原则以及实现方法,帮助读者全面了解和掌握这一重要主题。
一、多维数据模型的概念多维数据模型是基于数据的特征和关联性来组织数据的一种模型。
它通过将数据按照不同的业务维度进行分组和分类,将数据以多维方式呈现,从而提供了更加直观和灵活的数据分析能力。
多维数据模型主要由维度、度量和层次结构组成。
1. 维度:维度是描述业务问题的属性,它可以是时间、地理位置、产品、客户等。
维度用来描述数据的特征,例如销售额可以按照时间、地理位置和产品维度进行分析。
2. 度量:度量是可以进行数值计算和分析的数据,例如销售额、利润、数量等。
度量用来描述数据的量度,便于进行各种统计分析。
3. 层次结构:层次结构是维度之间的关系,它描述了维度之间的层次结构和上下级关系。
例如时间维度可以由年、月、日等层次结构组成。
二、多维数据模型的设计原则在设计多维数据模型时,需要遵循一些原则,以确保模型的合理性和有效性。
1. 简单性:多维数据模型应该尽可能简单,避免过于复杂的维度和层次结构。
简单的模型易于理解和维护,提高数据分析效率。
2. 一致性:多维数据模型中的维度和度量应该保持一致性,避免冗余和重复。
一致的模型有助于提高查询效率和数据一致性。
3. 可扩展性:多维数据模型应该具有良好的扩展性,能够容纳未来的需求变化和数据增长。
设计时需要考虑到未来可能发生的维度扩展和度量变化。
4. 性能优化:多维数据模型的设计也要考虑到查询性能的优化。
根据实际需求和查询模式,合理设计维度的层次结构、聚集表和索引等,以提高查询效率。
三、多维数据模型的实现方法在实现多维数据模型时,需要选择合适的工具和技术来支持模型的构建和数据的加载。
1. 数据抽取和转换:多维数据模型的实现通常需要进行数据抽取和转换,将源系统的数据转化为可用于多维模型的格式。
范式建模和维度建模的区别不同点⾸先最⼤的不同就是企业数据仓库的模式不同,inmon是采⽤第三范式的格式,⽽kimball则采⽤了多维模型–星型模型,并且还是最低粒度的数据存储。
其次是,维度数据仓库可以被分析系统直接访问,当然这种访问⽅式毕竟在分析过程中很少使⽤。
最后就是数据集市的概念有逻辑上的区别,在kimball的架构中,数据集市有维度数据仓库的⾼亮显⽰的表的⼦集来表⽰。
有的时候,在kimball的架构中,有⼀个可变通的设计,就是在ETL的过程中加⼊ODS层,使得ODS层中能保留第三范式的⼀组表来作为ETL过程的过度。
但是这个思想,Kimball看来只是ETL的过程辅助⽽已。
最后维度建模⾃底向上,范式建模⾃顶向下相同点Kimball和Inmon是两种主流的数据仓库⽅法论,分别由 Ralph Kimbal⼤神和 Bill Inmon⼤神提出,在实际数据仓库建设中,业界往往会相互借鉴使⽤两种开发模式,这两种的相同点如下:1. 都是假设操作型系统和分析型系统是分离的;2. 数据源(操作型系统)都是众多;3. ETL整合了多种操作型系统的信息,集中到⼀个企业数据仓库。
范式建模Inmon提出的集线器的⾃上⽽下(EDW-DM)的数据仓库架构。
操作型或事务型系统的数据源,通过ETL抽取转换和加载到数据仓库的ODS层,然后通过ODS的数据建设原⼦数据的数据仓库EDW,EDW不是多维格式的,不⽅便上层应⽤做数据分析,所以需要通过汇总建设成多维格式的数据集市层。
优势:易于维护,⾼度集成;劣势:结构死板,部署周期较长⼀个符合第三范式的关系必须具有以下三个条件:1. 每个属性的值唯⼀,不具有多义性;2. 每个⾮主属性必须完全依赖于整个主键,⽽⾮主键的⼀部分;3. 每个⾮主属性不能依赖于其他关系中的属性,因为这样的话,这种属性应该归到其他关系中去。
但是由于EDW的数据是原⼦粒度的,数据量⽐较⼤,完全规范的3范式在数据的交互的时候效率⽐较低下,所以通常会根据实际情况在事实表上做⼀些冗余,减少过多的数据交互。
XX银行EDW/数据仓库项目方案目录第一章系统总体架构............................. 51.1总体架构设计概述........................... 51.1.1总体架构的设计框架..................... 51.1.2总体架构的设计原则..................... 71.1.3总体架构的设计特点..................... 81.2EDW执行架构................................ 81.2.1执行架构概述........................... 91.2.2执行架构设计原则....................... 91.2.3执行架构框架......................... 111.3EDW逻辑架构.............................. 221.3.1逻辑架构框架......................... 221.3.2数据处理流程......................... 331.4EDW运维架构.............................. 341.4.1运维架构概述......................... 341.4.2运维架构的逻辑框架................... 361.5EDW数据架构.............................. 421.5.1数据架构设计原则..................... 421.5.2数据架构分层设计..................... 441.6EDW应用架构.............................. 491.6.1应用架构设计原则..................... 491.6.2数据服务............................. 501.6.3应用服务............................. 51第二章 ETL体系建设............................ 522.1ETL架构概述.............................. 522.2ETL设计方案.............................. 552.3ETL关键设计环节.......................... 552.3.1接口层设计策略....................... 552.3.2 Staging Area设计策略................. 562.3.3数据加载策略......................... 572.3.4增量ETL设计策略...................... 582.3.5异常处理............................. 612.3.6作业调度和监控....................... 622.3.7元数据治理........................... 622.3.8 ETL模块设计.......................... 622.3.9 ETL流程设计.......................... 672.3.10动态资源分配........................ 702.3.11数据接口设计........................ 72第一章系统总体架构1.1 总体架构设计概述1.1.1 总体架构的设计框架XX银行EDW项目的总体架构分为基础技术架构、应用架构和数据架构三个核心部分。
数据仓库模型的设计数据仓库模型的设计大体上可以分为以下三个层面的设计151:.概念模型设计;.逻辑模型设计;.物理模型设计;下面就从这三个层面分别介绍数据仓库模型的设计。
2.5.1概念模型设计进行概念模型设计所要完成的工作是:<1>界定系统边界<2>确定主要的主题域及其内容概念模型设计的成果是,在原有的数据库的基础上建立了一个较为稳固的概念模型。
因为数据仓库是对原有数据库系统中的数据进行集成和重组而形成的数据集合,所以数据仓库的概念模型设计,首先要对原有数据库系统加以分析理解,看在原有的数据库系统中“有什么”、“怎样组织的”和“如何分布的”等,然后再来考虑应当如何建立数据仓库系统的概念模型。
一方面,通过原有的数据库的设计文档以及在数据字典中的数据库关系模式,可以对企业现有的数据库中的内容有一个完整而清晰的认识;另一方面,数据仓库的概念模型是面向企业全局建立的,它为集成来自各个面向应用的数据库的数据提供了统一的概念视图。
概念模型的设计是在较高的抽象层次上的设计,因此建立概念模型时不用考虑具体技术条件的限制。
1.界定系统的边界数据仓库是面向决策分析的数据库,我们无法在数据仓库设计的最初就得到详细而明确的需求,但是一些基本的方向性的需求还是摆在了设计人员的面前:. 要做的决策类型有哪些?. 决策者感兴趣的是什么问题?. 这些问题需要什么样的信息?. 要得到这些信息需要包含原有数据库系统的哪些部分的数据?这样,我们可以划定一个当前的大致的系统边界,集中精力进行最需要的部分的开发。
因而,从某种意义上讲,界定系统边界的工作也可以看作是数据仓库系统设计的需求分析,因为它将决策者的数据分析的需求用系统边界的定义形式反映出来。
2,确定主要的主题域在这一步中,要确定系统所包含的主题域,然后对每个主题域的内容进行较明确数据仓库建模技术在电信行业中的应用的描述,描述的内容包括:. 主题域的公共码键;. 主题域之间的联系:. 充分代表主题的属性组。
一,数据仓库的数据模型1. 数据源数据源,顾名思义就是数据的来源,互联网公司的数据来源随着公司的规模扩张而呈递增趋势,同时自不同的业务源,比如埋点采集,客户上报等。
2. ODS层数据仓库源头系统的数据表通常会原封不动地存储一份,这称为ODS(Operation Data Store)层, ODS层也经常会被称为准备区(Staging area),它们是后续数据仓库层(即基于Kimball维度建模生成的事实表和维度表层,以及基于这些事实表和明细表加工的汇总层数据)加工数据的来源,同时ODS层也存储着历史的增量数据或全量数据。
3. DW层据仓库明细层(Data Warehouse Detail ,DWD)和数据仓库汇总层(Data Warehouse Summary, DWS)是数据仓库的主题内容。
DWD和DWS层的数据是ODS 层经过ETL清洗、转换、加载生成的,而且它们通常都是基于Kimball的维度建模理论来构建的,并通过一致性维度和数据总线来保证各个子主题的维度一致性。
4. DWS层应用层汇总层主要是将DWD和DWS的明细数据在hadoop平台进行汇总,然后将产生的结果同步到DWS数据库,提供给各个应用。
二,数据采集数据采集的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些简单的清洗。
比较常见的就是用户行为数据的采集先做sdk埋点,通过kafka实时采集到用户的访问数据,再用spark做简单的清洗,存入hdfs作为数据仓库的数据源之一。
三,数据存储随着公司的规模不断扩张,产生的数据也越来越到,像一些大公司每天产生的数据量都在PB级别,传统的数据库已经不能满足存储要求,目前hdfs是大数据环境下数据仓库/数据平台最完美的数据存储解决方案。
在离线计算方面,也就是对实时性要求不高的部分,Hive还是首当其冲的选择,丰富的数据类型、内置函数;压缩比非常高的ORC/PARQUET文件存储格式;非常方便的SQL 支持,使得Hive在基于结构化数据上的统计分析远远比MapReduce要高效的多,一句SQL可以完成的需求,开发MR可能需要上百行代码;而在实时计算方面,flink是最优的选择,不过目前仅支持java跟scala开发。
数据建模目前有两种比较通用的方式,分别是?()
A、通用建模
B、专属建模
C、范式建模
D、维度建模
C和D
一般常规的数据仓库层级结构可分为:ods、dw(默认为汇总数据层,也可在细分为dwd(明细)与dw(汇总)两层)、dm共三层:
ods层:称为接口层或近源数据层,表结构与源系统表结构高度相似,通常在ods 层主要会做字段的筛选,枚举值转换,编码统一,异常&缺失数据处理等操作。
dw层:称为中间层,按主题建模(域->主题)的明细数据层,数据粒度与ods 层一致。
dm层:称为数据集市层,集市层是按照业务主题、分主题构建出来的、面向特定部门或人员的数据集合。
维度建模源于Kimball提出的总线式的自下而上(DM-DW)的数据仓库架构。
特点:
1.模型结构简单,星型模型为主;
2.开发周期短,能够快速迭代;
3.维护成本较高;
范式建模源于Inmon提出的集线器的自上而下(EDW-DM)的数据仓库架构。
特点:
1.同一份数据只存放在一个地方,因此只能从一个地方获取,没有数据冗余,保证了数据一致性;
2.解耦(系统级与业务级),方便维护;
3.开发周期较长,开发成本较高;
当下的数据仓库模型架构设计中,dw层通常会采用范式建模,并且可以根据实际情况允许存在一些冗余。
dm层通常会采用维度建模,因为采用维度建模构建出来的数据模型更加符合普通人的认知、易于被普通人所理解,从而有利于数据的推广使用。
数据仓库中的数据模型设计与优化数据仓库是指将企业的各种数据进行整合、清洗和加工,形成供决策支持和分析的统一数据源。
而数据模型设计是数据仓库开发的重要环节,它决定了数据仓库的结构、组织方式和性能优化。
一、数据仓库的设计原则1.1 单一事实表数据仓库通常由事实表和维度表组成,事实表记录了业务中的主要事实和指标,而维度表则用于描述事实所处的背景信息。
在数据模型设计中,一个明确的原则是尽量将事实表设计为单一的,即每个事实表只包含一种类型的事实。
这样可以避免冗余的数据和复杂的关联关系,提高查询性能。
1.2 星型模型和雪花模型在数据模型设计中,常用的两种模型是星型模型和雪花模型。
星型模型采用了以一个或多个事实表为中心,周围围绕着多个维度表构成的星形结构,简洁明了,易于理解和查询。
而雪花模型在星型模型的基础上进一步标准化了维度表,将其拆分成多张表,从而减少数据冗余。
选择采用哪种模型需要根据具体业务需求和数据特点做出合理的判断。
1.3 维度的层次结构维度表是数据仓库中最重要的组成部分,它用于描述事实所处的背景信息,如时间、地理位置、产品等。
在维度表的设计中,一个重要的考虑因素是维度的层次结构。
比如时间维度可以按照年、季度、月等层次进行划分,产品维度可以按照品类、品牌、型号等层次进行划分。
合理的维度层次结构可以提高数据仓库的查询效率和用户体验。
二、数据模型设计的优化技巧2.1 行列存储在数据仓库中,数据通常以行为单位进行存储和查询。
然而,当数据量达到一定规模时,行存储方式会造成大量的IO操作和数据冗余。
为了提高查询效率和节省存储空间,可以采用列存储的方式,即将相同列的数据连续存储在一起,从而减少IO操作和数据冗余。
2.2 分区和分桶数据仓库中的数据量通常非常庞大,为了提高查询效率,可以采用分区和分桶的技术。
分区是指将数据按照某个规则划分成多个逻辑部分,如按照时间、地理位置等划分。
而分桶是指在每个分区中将数据再划分成多个小的数据块,从而减小每次查询的数据量。
EDW_模型设计EDW模型设计过程一般包括以下几个步骤:1.确定业务需求:在设计数据模型之前,需要充分了解和分析业务需求。
这包括对业务流程的理解、业务规则的掌握和数据需求的明确化等。
2. 收集数据:根据业务需求,确定需要收集的数据。
这些数据可以来自于内部的业务系统、外部的数据源(如第三方数据供应商)以及各种类型的数据文件(如文本文件、Excel文件等)。
3.组织数据层次:根据业务需求和数据之间的关系,将数据进行分层组织。
常见的层次包括:源数据层、清洗数据层、集成数据层和用户数据层。
4.设计数据模型:根据业务需求和数据层次,设计数据模型。
常见的数据模型包括:维度模型、事实模型和概念模型。
维度模型用于描述业务过程和维度之间的关系,事实模型用于描述事实和维度之间的关系,概念模型用于描述数据的概念和关系。
5.建立关系:在设计数据模型时,需要明确不同数据对象之间的关系。
这些关系可以是一对一、一对多或多对多的关系。
通过建立关系,可以方便地进行数据查询和分析。
6.设计数据元数据:数据元数据描述了数据模型中各个数据对象的属性和约束。
设计数据元数据可以提高数据模型的可理解性和可维护性。
7.编写SQL脚本:根据数据模型设计,编写SQL脚本用于创建数据库和表,以及插入、查询和更新数据。
8.数据建设与维护:根据数据模型设计,进行数据建设和维护。
数据建设包括数据清洗、数据集成和数据转换等操作,数据维护包括数据备份、数据恢复和数据更新等操作。
EDW(DM数据仓库数据建模)模型设计是数据仓库开发过程中的关键环节。
只有合理地设计数据模型,才能保证数据仓库的可用性和灵活性。
同时,数据模型设计也决定了数据仓库是否能够支持决策分析和业务发展。
因此,企业在进行数据仓库开发时,要重视EDW模型设计,遵循规范和最佳实践进行数据模型设计,以提高数据仓库的质量和价值。
EDW模型设计数据建模是数据仓库(EDW)设计的关键步骤之一,它是通过将业务需求转化为数据结构和关系模式来描述数据仓库的逻辑和物理设计。
在进行数据建模时,需要考虑到不同的实体、属性和关系,以及它们之间的约束和依赖关系。
数据建模可以分为两个主要层次:概念层建模和逻辑层建模。
概念层建模是指根据业务需求和目标,在高层次上描述数据仓库的概念模型。
这是一个更抽象的层次,它不考虑具体的数据库实现,而是专注于业务实体、属性和关系之间的逻辑关系。
在概念层建模中,常用的工具有实体关系图(ER图)、UML图等。
该模型的设计目的是为了更好地理解业务需求,以及数据仓库如何满足这些需求。
逻辑层建模是在概念层建模的基础上,将概念模型转化为更具体的关系模型。
在这个层次上,需要选择合适的数据库技术和工具,并定义实体、属性和关系之间的规范。
常用的关系模型包括关系表、维度表、事实表等。
逻辑层建模的目的是为了更好地支持数据仓库的查询和分析需求,同时满足性能和可扩展性的要求。
在进行EDW数据建模时,需要考虑以下几个方面:1.业务需求分析:首先需要明确业务需求,并将其转化为数据结构和关系模式。
这需要对业务流程和业务规则进行分析,并确定各个实体、属性和关系之间的约束和依赖关系。
2.数据抽取和转换规则:在数据建模过程中,需要考虑从各个数据源抽取数据的方式和规则,以及如何将数据转化为适合数据仓库模型的格式。
这包括数据清洗、转换和集成等过程。
3.数据仓库模型设计:根据概念层和逻辑层建模的结果,设计数据仓库的模型。
这涉及到选择适当的关系模型,定义实体、属性和关系的结构和类型。
4.数据仓库架构设计:根据数据建模的结果,设计数据仓库的物理架构。
这包括选择合适的硬件和软件平台,以及定义数据存储和访问策略。
5.数据质量管理:在进行数据建模的过程中,需要考虑数据质量的问题。
这包括数据的完整性、准确性、一致性和及时性等方面。
总的来说,数据建模是数据仓库设计中非常重要的一环。
数据仓库物理模型设计的主要内容嘿,数据仓库物理模型设计这事儿啊,就像是盖房子之前规划里面的布局一样,有好多重要的内容呢。
咱先说说确定数据存储结构。
这就好比你要决定在房子里用什么样的柜子来放东西。
是用那种大的开放式架子呢,还是用有很多小抽屉的柜子呢?在数据仓库里,我们得考虑是用文件系统存储,还是用数据库存储,或者是其他的存储方式。
比如说,有些数据就像你那些不常用的大物件,可能就适合放在大的文件存储区里,就像放在地下室一样;而那些经常要查找和使用的数据,就像你每天要穿的衣服,得放在方便拿取的数据库存储结构里,就像放在衣柜的顺手位置。
再讲讲数据的索引设计。
这就像你给家里的东西做标记一样。
想象一下,你有好多书,你要是不做个标记,找起来得多费劲啊。
在数据仓库里,索引就像是给数据做的小标签。
我有一次在一个公司帮忙整理数据仓库的资料,那数据多得像山一样。
一开始没有好的索引,找个客户的信息得翻好久。
后来设计了合适的索引,就像给每本书都贴上了书名标签,找起来那叫一个快。
这索引得根据数据的使用频率和查询方式来设计,就像你根据自己找书的习惯来贴标签一样。
还有数据的分区设计呢。
这就像你把房子分成不同的房间。
比如说,你可以把卧室、厨房、客厅分开,这样每个区域功能明确。
在数据仓库里,我们可以根据时间、地区之类的因素来分区。
就像有个公司的销售数据仓库,他们把数据按年份分区。
要查某一年的销售情况,直接去那个年份的“房间”找就行,不用在所有数据里乱翻,这多方便啊。
而且不同的分区可以有不同的存储设置,就像不同的房间装修风格不同一样。
数据的备份和恢复策略也是重要内容。
这就像给房子买保险一样。
我有个朋友在一家企业工作,他们的数据仓库有一次出了问题,好在之前有备份。
要是没有备份,那些重要的数据就像被火烧没了的房子一样,啥都没了。
所以要设计好怎么定期备份数据,而且万一出问题了,怎么快速恢复,就像房子着火了要能尽快重建一样。
数据仓库物理模型设计这些内容啊,每一个都很关键,就像盖房子每个环节都不能马虎,这样才能让数据仓库稳稳当当的,数据能被高效地存储和使用啦。
基于CIF的逻辑数据模型设计金辉北京邮电大学计算机科学与技术系,北京 (100876)E-mail:jinhui.steven@摘要:本文详细讨论了基于CIF的逻辑数据模型设计,对CIF系统的研究背景进行了简单的描述,同时从设计方法上借鉴了EDW中的部分思路,探索了在CIF中进行LDM设计的新思路。
关键词:CIF;LDM;EDW中图分类号:TP3111.引言自从中国加入WTO以来,国内金融体制改革日益深化,对外资银行经营业务的限制也逐渐减少,同业竞争更加激烈,各个银行为了适应新的发展需要,争取更大的市场份额,对自身的业务系统都在进行不同层次的改造。
随着个人可支配收入的提高,个人对各种金融产品和服务多元化有了更高的要求,如何有效地利用已有客户资源,同时兼顾开发新的客户资源,成为了银行发展的重要问题。
但与此相对应地,很多客户信息通常作为本地系统的基本信息零散地存放于各个分系统中,彼此之间没有联系。
这种客户资料的分散存放无法保证客户资料的一致性,也无法进行数据共享。
客户往往为了某种业务操作,需要多次到银行网点办理相关业务的签约手续。
既给客户带来了极大的不便,也使得银行人员做了很多重复的工作。
而为提供信息整合和决策支持的数据仓库虽然保存了完整的客户信息,但它不是一个实时的查询系统,只能将前一天的整合信息批量导入各个前端渠道系统,这样,在时间上和准确性上都不能很好地满足业务要求,对数据仓库的压力也很大。
为此,在全行建立一个具有收集、整理和维护功能于一身的统一客户单一视图是非常有必要的。
CIF(Customer Information File,客户信息文件)是提供全部客户信息集合的一套文件或信息集合。
它不仅可以提供客户静态信息,而且还可以记录客户动态交易日志等控制信息。
它是一个真正的联机事务处理系统,通过CIF的建设,既可以实现对客户基本信息和签约信息的共享,也可以实现金融产品和渠道的个性化。
[1]逻辑数据模型(Logic Data Model,简称LDM),是建立商业智能的基础框架,是奠定现在或者将来为知识工作者提供有价值数据分析的重要基础。
1商务智能1.1数据仓库1.1.1数据仓库的4大特点(特征)?面向主题的,集成的,相对稳定的,反映历史变化的。
1.1.2数据仓库的四个层次体系结构?1. 数据源是数据仓库系统的基础,是整个系统的数据源泉。
通常包括企业内部信息和外部信息。
内部信息包括存放于RDBMS 中的各种业务处理数据和各类文档数据。
外部信息包括各类法律法规、市场信息和竞争对手的信息等等;2. 数据的存储与管理是整个数据仓库系统的核心。
数据仓库的真正关键是数据的存储和管理。
数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。
要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。
针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。
数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)3. OLAP 服务器对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。
其具体实现可以分为:ROLAP(关系型在线分析处理)、MOLAP(多维在线分析处理)和HOLAP (混合型线上分析处理)。
ROLAP 基本数据和聚合数据均存放在RDBMS 之中;MOLAP 基本数据和聚合数据均存放于多维数据库中;HOLAP 基本数据存放于RDBMS 之中,聚合数据存放于多维数据库中。
4. 前端工具主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以数据挖掘及各种基于数据仓库或者数据集市的应用开辟工具。
其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
1.1.3描述一下联机分析处理OLAP?(维的概念,基本多维操作,层次结构,与OLTP的区别)OLAP (联机分析处理On-Line Analytical Processing)也叫多维DBMS。
OLAP 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
数据仓库设计与建模的星座模型与星型模型的设计方法在数据仓库设计与建模中,星座模型与星型模型是两种常见的数据模型。
本文将介绍这两种模型的设计方法及其适用场景。
一、星座模型星座模型(Constellation Schema)是一种以事实表为核心,围绕多个维度表构建的数据模型。
在星座模型中,事实表中的每一行都对应着一个业务事件,而维度表则用于描述这些业务事件的不同维度信息。
星座模型的设计方法如下:1. 确定事实表:首先,需要明确数据仓库中需要存储的业务指标,这些指标通常是与业务决策密切相关的数据,例如销售额、订单数量等。
然后,将这些指标作为事实表的列。
2. 选择维度表:在星座模型中,每个维度表都表示一个特定的业务维度,如时间、产品、地区等。
根据业务需求,选择与事实表相关联的维度表,并将维度表与事实表进行关联。
3. 设计维度表:在设计维度表时,需要确定每个维度表的主键以及与事实表的关联键。
同时,根据不同维度的特点,设计相应的属性列,以便更好地描述业务事件。
星座模型适用于数据量较小、业务较简单的场景。
它的优点是结构简单、查询性能好,易于理解和维护。
然而,在处理复杂关系和多对多关系时,星座模型的效果可能会不如其他模型。
二、星型模型星型模型(Star Schema)是一种以中心事实表为核心,围绕一个或多个维度表构建的数据模型。
在星型模型中,中心事实表通过与维度表的关联,描述了多个维度上的业务事件。
星型模型的设计方法如下:1. 确定中心事实表:根据需求确定中心事实表,并将与业务指标相关的列添加到中心事实表中。
2. 选择维度表:在星型模型中,每个维度表都与中心事实表直接关联。
选择与中心事实表相关的维度表,并将维度表与事实表进行关联。
3. 设计维度表:与星座模型类似,设计维度表时需要确定主键和与中心事实表的关联键。
同时,根据业务需求,设计属性列,以丰富业务事件的描述。
星型模型适用于数据量较大、复杂度较高的场景。
它的优点是能够更好地处理多对多关系,支持更复杂的查询和分析。
数据仓库的发展历程简述v0.1数据仓库发展历程及相关概念1.1 概述数据仓库的概念可能⽐⼀般⼈想像的都要早⼀些,中间也经历⽐较曲折的过程。
其最初的⽬标是为了实现全企业的集成(Enterprise Integration),但是在发展过程中却退⽽求其次:建⽴战术性的数据集市(Data Marts)。
到⽬前为⽌,还有很多分歧、论争,很多概念模棱两可甚⾄是彻底的让⼈迷惑。
本⽂试图从数据仓库的发展历史中看到⼀些发展的脉络,了解数据仓库应该是怎么样的,并展望⼀下未来的数据仓库发展⽅向。
同时,由于新应⽤的不断出现,出现了很多新的概念和新的应⽤,这些新的应⽤如何统⼀现成完整的企业BI应⽤⽅案还存在很多争论。
本⽂试图对这些概念做⼀些简要的阐述,让⼤家对此有初步的了解。
1.2 粗略发展过程1.2.1 开始阶段(1978-1988)数据仓库最早的概念可以追溯到20世纪70年代MIT的⼀项研究,该研究致⼒于开发⼀种优化的技术架构并提出这些架构的指导性意见。
第⼀次,MIT的研究员将业务系统和分析系统分开,将业务处理和分析处理分成不同的层次,并采⽤单独的数据存储和完全不同的设计准则。
同时,MIT的研究成果与80年代提出的信息中⼼(Information Center)相吻合:即把那些新出现的、不可以预测的、但是⼤量存在的分析型的负载从业务处理系统中剥离出来。
但是限于当时的信息处理和数据存储能⼒,该研究只是确⽴了⼀个论点:这两种信息处理的⽅式差别如此之⼤,以⾄于它们只能采⽤完全不同的架构和设计⽅法。
之后,在80年代中后期,作为当时技术最先进的公司,DEC已经开始采⽤分布式⽹络架构来⽀持其业务应⽤,并且DEC公司⾸先将业务系统移植到其⾃⾝的RDBMS产品:RdB。
并且,DEC公司从⼯程部、销售部、财务部以及信息技术部抽调了不同的⼈员组建了新的⼩组,不仅研究新的分析系统架构,并要求将其应⽤到其全球的财务系统中。
该⼩组结合MIT的研究结论,建⽴了TA2(Technical Architecture 2)规范,该规范定义了分析系统的四个组成部分:数据获取、数据访问、⽬录、⽤户服务其中的数据获取和数据访问⽬前⼤家都很清楚,⽽⽬录服务是⽤于帮助⽤户在⽹络中找到他们想要的信息,类似于业务元数据管理;⽤户服务⽤以⽀持对数据的直接交互,包含了其他服务的所有⼈机交互界⾯,这是系统架构的⼀个⾮常⼤的转变,第⼀次将交互界⾯作为单独的组件提出来。