一、数据仓库建模的原则
模型是对现实事物的反映和抽象,它可以帮助我们更加清晰的了解客观世界。数据仓库建模在业务需求分析之后开始,是数据仓库构造工作正式开始的第一步,正确而完备的数据模型是用户业务需求的体现,是数据仓库项目成功与否最重要的技术因素。
金融企业的信息系统具有业务复杂、机构复杂、系统庞大的特点,因此金融行业数据仓库建模必须注意以下几个方面,
―― 满足不同用户的需求
金融行业的业务流程十分复杂,数据仓库系统涉及的业务用户众多,在进行数据模型设计的时候必须兼顾不同业务产品、不同业务部门、不同层次、不同级别用户的信息需求。
数据仓库应该支持企业的各种业务,比如对财产保险行业应该考虑财产险、货物运输险、工程险、责任险等不同业务的特点;不同的业务部门对信息的需求各有不同,应考虑业务、市场、财务、管理等各个部门的需要;不同层次的组织所关心的信息不同,数据模型应支持地市公司、省公司和总公司的信息需求;金融企业是知识密集型的企业,知识密集型企业的显著特征是智能员工(Knowledge Worker)占企业员工的大多数,数据仓库必须支持所有相关智能型员工的信息需求,包括高层领导、基层领导和普通员工。
―― 兼顾效率与数据粒度的需要
数据粒度和查询效率从来都是矛盾的,细小的数据粒度可以保证信息访问的灵活性,但同时却降低了查询的效率并占用大量的存储空间,数据模型的设计必须在这矛盾的两者中取得平衡,优秀的数据模型设计既可以提供足够详细的数据支持又能够保证查询的效率。
―― 支持需求的变化
用户的信息需求随着市场的变化而变化,所以需求的变化只有在市场竞争停顿的时候才会停止,而且随着竞争的激化,需求变化会越来越频繁。数据模型的设计必须考虑如何适应和满足需求的变化。
―― 避免对业务运营系统造成影响
金融企业的数据仓库系统是一个每天都在长大的庞然大物,它的运行很容易占用很多的资源,比如网络资源、系统资源,在进行数据模型设计的时候也需要考虑如何减少对业务系统性能的影响。
―― 考虑未来的可扩展性
数据仓库系统是一个与企业同步发展的有机体,数据模型作为数据仓库的灵魂必须提供可扩展的能力,在进行数据模型设计时必须考虑未来的发展,更多的非核心业务数据如人事数据、市场数据、竞争对手数据等必须可以方便的加入到数据仓库,而不需要对数据仓库中原有的系统进行大规模的修改。
二、数据模型的技术功能结构化分
大规模的数据仓库系统特别是金融行业数据仓库的数据结构从技术角度划分应当包含三个部分,如下图所示,
数据仓库数据模型的技术功能划分
2.1 分段存储区(Staging Area)
由于数据仓库中的数据结构和组织方式具有很大差异、所有原始业务系统的数据必须经过严格的抽取、映射和转换,数据的整合过程十分复杂,通常会耗费比较长的处理时间。如果从业务系统直接抽取数据到数据仓库,必定会占用许多业务系统的资源和时间,为了避免影响业务系统的运行,我们在数据模型的设计中引入分段存储区的概念。
分段存储区(Staging Area)是为了保证数据移动的顺利进行而开设的阶段性数据存储空间,它是业务系统原始数据进入数据仓库前的缓存区。需要进入数据仓库的各个业务系统的数据首先直接快速传输到分段存储区,再从分段存储区经过清洗、转换、映射等复杂的数据移动处理转移到目标数据仓库中。从业务系统到分段存储区的数据传输,应尽量避免进行复杂的数据处理,以保证数据的快速导入而尽量减小对业务系统造成的压力。分段存储区的数据有关系数据库和文件两种不同存储方式,分别对应于不同运营系统的数据源。数据成功导入数据仓库之后,应清空分段存储区中的数据。
在数据仓库系统的运行和使用过程中,分段存储区的作用主要体现在以下几个方面,
• 可以减少对业务系统资源的占用,避免复杂数据转换对业务系统的影响
• 根据经验,跨越网络特别是广域网络的数据库操作会大大降低数据处理的效率,而且处理的复杂程度越高,网络对处理效率的影响越严重,分段存储区可以大大加速数据仓库后台数据数据处理过程的实现;
• 分段存储区作为数据缓存区,可以在一定程度上屏蔽业务系统变化对数据移动整合系统的影响
• 如果在数据处理过程中发生系统故障,作为数据仓库系统的备份数据,可以直接从分段存储区进行数据仓库数据恢复,而不必要再从业务系统原始数据开始。
2.2 基础数据仓库(BaseLine)
基础数据仓库存储所有最详细的业务数据。该层数据直接来源于对分段存储区数据的清洗和加工,属于未经汇总的数据,但数据的组织方式可能已经完全不同于原始的业务系统。根据业务需求的不同,基础数据仓库的组织形式以三范式模型为主,在有的系统中也可能采用星型或雪花模型。
通常在金融企业的数据仓库系统中,基础数据仓库数据包括未经汇总的客户交易数据,用户资料数据、客户服务数据等,此外一些相关数据如网络利用,竞争对手,成本投资数据也包括在内。由于基础数据仓库数据是对原始业务数据的原形再现,所以数据量会非常庞大,根据不同业务的需要数据保留的时间在6个月到两年不等。
2.3 数据集市(Data Mart)
根据业务需求将数据仓库数据分类成几个不同的数据集市,每个数据集市完成不同的分析和查询需求,数据集市中的数据通常由基础数据仓库的详细数据聚合而来,根据数据聚合程度的不同包含轻度聚合、中度聚合和高度聚合三种不同的层次。汇总的方式将依据数据量的大小和使用频度综合考虑。