三大模型架起数据仓库大厦

时间:2022-10-01 08:30:03

三大模型架起数据仓库大厦

任何需求都来源于业务,业务决定了需求,需求分析的正确与否是关系到项目成败的关键所在,从任何角度都可以说项目是由业务驱动的所以数据仓库项目也是由业务所驱动的。

但是数据仓库不同于日常的信息系统开发,除了遵循其他系统开发的需求、分析、设计、测试等通常的软件生命周期之外,它还涉及到企业信息数据的集成,大容量数据的阶段处理和分层存储,数据仓库的模式选择等等,因此数据仓库的模型设计异常重要,这也是关系到数据仓库项目成败的关键。

图1 物理模型与业务模型支撑数据仓库实施

三级结构

总的来说,数据仓库的结构采用了三级数据模型的方式。

概念模型:也就是业务模型,由企业决策者,商务领域知识专家和IT专家共同研究和分析企业级的跨领域业务系统需求分析的结果。

逻辑模型:用来构建数据仓库的数据库逻辑模型。根据分析系统的实际需求决策构建数据库逻辑关系模型,定义数据库物体结构及其关系。它关联着数据仓库的逻辑模型和物理模型两方。

物理模型:构建数据仓库的物理分布模型,主要包含数据仓库的软硬件配置,资源情况以及数据仓库模式。

如图1所示,在数据仓库项目中,物理模型设计和业务模型设计象两个轮子一样有力地支撑着数据仓库的实施,两者并行不悖,缺一不可。实际上,这有意地扩大了物理模型和业务模型的内涵和外延,因为,在这里物理模型不仅仅是数据的存储,而且也包含了数据仓库项目实施的方法论、资源以及软硬件选型,而业务模型不仅仅是主题模型的确立,也包含了企业的发展战略,行业模本等等更多的内容。

一个优秀的项目必定会兼顾业务需求和行业标准两个方面,业务需求既包括用户提出的实际需求,也要客观分析它隐含的更深层次的需求,但是往往用户的需求是不明确的,需要加以提炼甚至在商务知识专家引导下加以升华,和用户一起进行需求分析工作。如果不能满足用户的需求,项目也就失去了原本的意义。

物理模型就像大厦的基础架构,就是通用的业界标准,无论是一座摩天大厦也好,还是茅草房也好,在架构师的眼里,他只是一所建筑,地基―层层建筑―封顶,这样的工序一样也不能少,关系到住户的安全,房屋的建筑质量也必须得以保证,唯一的区别是建筑的材料,地基是采用钢筋水泥还是石头,墙壁采用木质还是钢筋水泥或是砖头;当然材料和建筑细节还是会有区别的,视用户给出的成本而定;还有不可忽视的一点是,数据仓库的数据从几百GB到几十TB不等,即使支撑这些数据的RDBMS无论有多么强大,仍不可避免地要考虑数据库的物理设计。

关于概念模型

概念模型设计是在原有的业务数据库的基础上建立了一个较为稳固的概念模型。因为数据仓库是对原有数据库系统中的数据进行集成和重组而形成的数据集合,所以数据仓库的概念模型设计,首先要对原有数据库系统加以分析理解,看在原有的数据库系统中“有什么”、“怎样组织的”和“如何分布的”等,然后再来考虑应当如何建立数据仓库系统的概念模型。

一方面,通过原有数据库的设计文档以及在数据字典中的数据库关系模式,我们可以对企业现有的数据库中的内容有一个完整而清晰的认识;另一方面,数据仓库的概念模型是面向企业全局建立的,它为集成来自各个面向应用的数据库的数据提供了统一的概念视图。

它的工作主要是界定系统的边界和确定主要的主题域。界定系统边界将决策者的数据分析的需求用系统边界的定义形式反映出来。确定主题域是对每个主题域的内容进行较明确的数据仓库建模技术在行业中的应用描述,其内容包括:主题域的公共码键、主题域之间的联系以及充分代表主题的属性组。

关于逻辑模型

逻辑建模是数据仓库实施中的重要一环,因为它能直接反映出业务部门的需求,同时对系统的物理实施有着重要的指导作用,它的作用在于可以通过实体和关系勾勒出企业的数据蓝图。

逻辑建模的内容主要有:

分析主题域

图2 兼顾行业经验、业务要求与现有信息系统

在概念模型设计中,我们确定了几个基本的主题域,但是,数据仓库的设计方法是一个逐步求精的过程,在进行设计时,一般是一次一个主题或一次若干个主题地逐步完成的。所以,我们必须对概念模型设计步骤中确定的几个基本主题域进行分析,一并选择首先要实施的主题域。选择第一个主题域所要考虑的是它要足够大,以便使得该主题域能建设成为一个可应用的系统;它还要足够小,以便于开发和较快地实施。

粒度层次划分

数据仓库逻辑设计中要解决的一个重要问题是决定数据仓库的粒度划分层次,粒度层次划分适当与否直接影响到数据仓库中的数据量和所适合的查询类型。由于主题数据库响应企业级业务OLTP需求,所以必须保存最细类度数据,同时根据业务部门的查询需求考虑确定多重粒度来提高复杂查询速度。

确定数据分割策略

在这一步里,要选择适当的数据分割的标准,一般要考虑以下几方面因素:数据量〔而非记录行数)、数据分析处理的实际情况、简单易行以及粒度划分策略等。其中,数据量的大小是决定是否进行数据分割和如何分割的主要因素;数据分析处理的要求是选择数据分割标准的一个主要依据,因为数据分割是跟数据分析处理的对象紧密联系的。

关系模式定义

数据仓库的每个主题都是由多个表来实现的,这些表之间依靠主题的公共码键联系在一起,形成一个完整的主题。在概念模型设计时,我们就确定了数据仓库的基本主题,并对每个主题的公共码键、基本内容等做了描述。在这一步里,我们将要对选定的当前实施的主题进行模式划分,形成多个表,并确定各个表的关系模式。

关于物理模型

物理模型设计所做的工作是根据信息系统的容量,复杂度,项目资源以及数据仓库项目自身的软件生命周期确定数据仓库系统的软硬件配置,数据仓库分层设计模式,数据的存储结构,确定索引策略,确定数据存放位置,确定存储分配等等。这部分应该是由项目经理和数据仓库架构师共同实施的。

确定数据仓库实现的物理模型,必须做到以下几方面:

确定项目资源

根据预算和业务需求,并参考以往的数据仓库项目经验,对该项目的成本周期和资源进行估算。

关于项目周期的估算,主要基于ETL函数功能点以及加权后的复杂度进行估算,通过以往项目经验和专家评估,然后再根据软件生命周期的划分,可以有效的得知项目的整体周期。

关于人员的估算,主要取决于人员的工作经验,素养,对新技术的掌握能力,还要考虑到人员流动等方面的人员备份。

确定软硬件配置

数据仓库项目与其他业务系统不同,尤其需要对数据容量进行估算,这是因为数据仓库是历史的稳定的基于主题的集成的等等特性所决定的,它是对以往历史数据的集成,如果项目初期不加以考虑,很快就会造成灾难性的后果。

所以,首先要得到数据仓库的预计容量,也要考量具体的关系数据库的性能,既要考虑实际的预算,也要视实际的需求而定。在发挥软件作用的同时,兼顾扩展性。

数据仓库存储设计

数据仓库一般采用分层设计,即ODS层,数据仓库层,数据仓库聚合层数据集市等等;数据仓库的分层是灵活的,没有固定的模式,一切视实际情况而定。

上一篇:嵌入式系统误区探究 下一篇:聚焦嵌入式操作系统