电脑技术学习

全面解析数据仓库系统的建设过程和方法

dn001

数据仓库系统的建设过程和方法不同于建设传统的操作型处理系统的过程和方法,数据仓库系统建设有两个难点:一是如何保证数据质量,使得数据准确可信;二是如何构造应用体系,使之满足不同角色用户的分析决策需要。

受生产系统现状的影响,如数据源的数据不完整、不一致,数据抽取时间点不能同步,本地网之间存在市场竞争及业务规则的差异性,各专业之间统计口径的不一致等,数据质量问题客观存在,数据质量问题的管控工作将贯穿数据仓库系统建设的整个过程。数据仓库系统应用来源于用户需求,来源于开发商的商业理解,应用的开发和完善也受到数据质量的制约。因此,数据仓库系统建设需要实现数据和应用的互动。

数据仓库对数据质量的要求

数据仓库对数据质量的要求总体上归纳为:数据完整性,包括数据源是否完整、数据取值是否完整、维度取值是否完整等。数据准确性,包括数据源是否准确、编码映射关系是否准确、处理逻辑是否准确等。数据核对准确的判断是要么结果一致,要么不一致但原因是可解释的。数据一致性,包括源系统之间同一数据是否一致,源数据与抽取的数据是否一致,数据仓库内部各处理环节数据是否一致等。数据逻辑合理性,主要从业务逻辑的角度判断数据是否正确,如帐目类型的金额、时长、次数的逻辑关系是否满足等;月租费用不能出现通话次数、通话时长等。数据时效性,包括数据处理(获取、整理、加载等)的及时性,数据异常检测的及时性,数据处理回退的及时性等。


数据仓库服务于经营决策,经营决策依据的数据应该是全面的、真实可靠的、有意义的。数据时效性如果得不到保证,就可能延误了市场人员的分析,失去商机。

从数据仓库的建设过程来看,它本身修复数据以提高数据质量的能力并不是很强,但是它能发现生产系统存在的一些数据质量问题从而提醒用户哪些数据有质量问题,将数据问题反馈到业务支撑系统中,由后者做数据修正。

源数据质量现状分析

传统的业务支撑系统以满足生产的业务处理为目标,以内部管理需求为出发点,各种支撑系统独立设计,缺乏对企业整体业务流程的考虑,缺乏对资源的有效利用,在企业内部形成了许多信息孤岛。主要体现在:

◆数据过于分散,手工处理数据和系统处理数据并存,数据格式多样。

◆在数据模型上,实体语义定义、属性定义、命名规则、编码规则自成体系,难于与其他系统做匹配。

◆系统间存在同一实体数据记录数不一致的现象,例如计费系统和九七系统中客户数量不一致。

◆存在信息残缺现象,没有完整的统一客户视图。

◆在生产系统中存在需要拆分为具有原子性的数据, 源数据的粒度太粗不能满足分析要求。

◆在同一省公司,不同本地网出帐时不一样,造成数据提供时间不统一。

数据质量的改进存在以下难点:

◆数据量大,数据格式不统一。

◆数据质量标准不容易制定。◎数据清理的边界不容易定义。

◆生产系统不断升级改造、人员岗位调整等因素容易造成前清后乱。

由于数据仓库系统的数据来源于计费、营账、客服、网管等多种业务系统,在各种源数据的整合过程中常发现不同系统中的数据不一致,同时源数据的质量问题比较突出。在数据仓库系统建设初期数据质量不高在所难免,这需要在系统建设和使用过程中不断进行修正和补充,从而逐步完善并最终解决系统的数据质量问题。

数据质量改进目标

目标是清理、标准化、提高和匹配现有数据。

通过数据整合,建立完整的、准确的、一致的统一客户视图,完善企业共享信息数据,并使企业共享信息数据服务于经营分析,为生产系统的改进提供标准。 建立数据整合流程,实现流程定义、流程配置和流程管控。 建立数据整合的规章制度,落实数据质量的分级负责。建立起数据整合队伍,使数据质量能够得以持续改进。

数据质量改进是一个持续的过程,在系统建设及应用推广过程中,需要针对不同重要程度的数据,制定相应的数据质量评测及接受标准。对于阶段目标应按照“近期打基础,中期见成效,长期促战略”的原则制定。

数据质量改进方法

数据质量控制要从技术、流程和管理三个方面进行。

从技术层面上,生产系统存在的噪音数据、遗漏数据和不一致性数据,需要进行数据清洗;同时需要对源数据做稽核,如总量稽核和分量稽核。

在流程层面上,对于源数据的抽取要遵从一定的业务规则,数据的抽取和转换需要很多步骤来完成,这就需要将过程流程化,并且流程可通过配置来实现。


在管理层面上,要求生产系统报送数据,按照“谁提供数据,谁负责”的原则由生产系统保证源数据的完整性、准确性、一致性、时效性。

应用推动数据质量改进

数据整合的目的是为了支撑应用,让经营分析系统真正能够被用起来,核心的问题还是要找到应用的“驱动力”。对中国电信而言,满足精确化管理、精确资源配置、上市公司信息披露要求是重点。

各地的具体情况不同,因此应遵循“因地制宜、总体规划、分步实施、迅速受益、不断完善”的原则进行应用推广。不追求一步到位,建议以点带面,通过“亮点”应用带动相关数据质量整改。例如通过收入分析主题,可以发现量收不匹配的问题,促使生产系统检查收入的计算规则。

这样通过应用发现数据中存在的问题,并将问题反馈给生产系统;通过应用让用户看到效果,调动起用户的热情,并为其树立起信心;通过应用引起领导的重视,保证资源的有效投入;让各级部门关注数据问题,让责任部门有压力也有动力。

数据质量改进案例分析

从实施中国电信6省营销分析情况来看,数据质量改进普遍存在如何定义数据质量评价标准、如何实现数据质量管理的闭环过程、如何界定数据质量改进过程中各系统间的功能边界三个难点问题。

如何定义数据质量评价标准——首先前端、后端、管控部门根据其专业对数据的不同要求,评价标准各有不同(如后端业务支撑部门对数据的要求是保障其系统的正常运行;前端业务部门对数据的要求是真实反映市场情况;管控部门要求数据要和财务报表保持一致)。数据仓库建设也要结合实际情况,合理制定各阶段数据质量评价标准,以保障系统建设的顺利进行。

如何实现数据质量管理的闭环过程——在实际操作中,由于没有形成数据质量的改进闭环,很容易出现“前清后乱”的情况,这需要制定一个完善的数据质量管理流程,以实现数据质量的持续改进。

如何界定数据质量改进过程中各系统间的功能边界——数据质量问题牵涉到提供源数据的生产系统和数据仓库系统,在质量改进中必然存在由谁来进行改进的问题,界定改进过程中系统间功能边界也是数据质量管理的难点问题。

针对这三个问题,通常在各省基本采用以下方法加以解决

◆建立由管理层牵头的数据管理机构,推动数据质量的改进工作


数据质量改进与管理的关系密不可分。在数据质量的管理上,需要建立一个由省公司主管部门牵头,相关部门和集成商参与的项目小组负责数据质量标准定义和控制。责任人落实到各个分公司的生产系统业务主管或省公司各生产系统业务主管。如果发现有质量问题向各个本地网分公司进行通报,从而保障了数据质量改进的有效推行。

◆制定可操作的数据质量管理制度 管理部门需要和集成商一起根据实际情况制定可操作的管理制度,主要的管理制度包括,分阶段定义的数据质量目标、数据评价办法、数据管控流程、统一编码、数据核对规则等。 ◎完善的数据质量控制流程是持续改进的基础

在进行数据质量改进实施过程中,需要根据数据质量问题的特点制定一套数据质量控制流程,为提高数据质量水平起到了关键的作用。

◆ETL集中监控和元数据管理的技术实现

自行开发了ETL集中监控模块和元数据管理功能模块。 在元数据管理中对数据和处理过程做了定义,用户有了一个数据仓库地图。如果数据源或者抽取逻辑发生变化,用户可以分析对其他元数据的影响。

通过ETL集中监控模块可以对数据的整体处理流程进行定义;将数据质量评价标准以数据校验程序化,并作为流程中的一个环节配置到流程中;用户可以对处理过程实施监控,对于数据异常能够及时得到告警信息和错误报告。

通过以上措施,在数据质量上可以取得以下实际效果:

数据整合过程得以规范化,也减轻了维护人员的工作负担。

各级人员对数据质量变得敏感,如果发现有质量问题向各个本地网分公司进行通报,从领导到具体责任人都关心数据质量问题,提高了相关人员对数据质量的重视程度和工作责任心。

数据质量稳步提高,例如通过对计费、九七、渠道系统客户数据的对比、过滤、合并等方法,使得客户资料逐步趋于完整和一致。

持续改进思路


通过数据清理,将逐渐形成完整和准确的企业数据视图,为经营分析和生产支撑提供可靠的数据来源。由于数据源系统会不断升级,同时经营分析系统的数据模型也存在优化和发展。数据质量是一个持续改进、反复迭代、螺旋上升的过程。数据质量任重道远,不可能一劳永逸,要作为长期的任务来抓。 例如在客户资料的清理上,可以按照“先大客户,然后商业客户,再次公众客户”,在客户属性上“先保证客户消费属性,后社会属性”的思路做清理。对每一种客户类型也可以划分成几个阶段: 第一阶段 整理客户、用户、帐户三户模型,通过归并、筛选、补充等方法在现有生产系统上先建立起统一的客户标识、帐户标识、用户(销售品实例)标识;建立起客户与用户之间的对应关系、客户与帐户的对应关系,用户与帐户之间的对应关系。


第二阶段 整理产品/销售品,定义新的产品目录表,按产品/优惠套餐定义销售品目录;将原有产品映射到新定义的产品目录表中;将新功能映射成附属产品;并定义出产品与产品实例对应关系、产品实例间的对应关系、产品实例与定价计划和客户协议之间的对应关系。


第三阶段 补充客户社会属性,通过第一阶段和第二阶段建立起客户消费属性,再通过CRM系统和CSS系统补充客户社会属性,形成统一的企业客户视图。