2.2.2 系统功能结构

如图2-1所示,本数据仓库系统主要分为5个功能结构,分别是数据采集模块、数据仓库平台、数据可视化、即席查询和数据治理。

图2-1 本数据仓库系统的功能结构

数据采集模块主要负责将电商系统前端的用户行为数据及业务数据采集到数据存储系统中,数据采集模块共分为两大体系:用户行为数据采集体系和业务数据采集体系。用户行为数据主要以日志文件的形式落盘(存储在服务器磁盘中,下同)在服务器中,采用Flume作为数据采集框架对数据进行实时监控采集;业务数据主要存储在MySQL中,采用DataX对其进行采集。业务数据中的众多表格存储的数据类型不同,根据业务产生的增改情况,需要制定不同的同步策略。

数据仓库平台负责将原始数据采集到数据仓库中,合理建表并对数据进行清洗、转义、分类、重组、合并、拆分、统计等,将数据合理分层,这极大地减少了数据重复计算的情况。数据仓库的建设离不开数据仓库建模理论的支持,在数据仓库建设之初,数据仓库开发人员就应对数据仓库建模理论有充分的认识,合理地建设数据仓库对于后期数据仓库规模的发展和功能拓展都是大有裨益的。数据仓库每日需要执行的任务非常多,由于涉及分层建设,层与层之间有密切的依赖关系,因此数据仓库平台要有一个成熟的定时调度系统,能够管理任务流依赖关系并提供报警支持。

在针对固定长期需求进行数据仓库的合理建设的同时,还应考虑用户的即席查询需求,需要对外提供即席查询接口,让用户能够更高效地使用数据和挖掘数据存在的价值。

数据可视化主要负责将最终需求结果数据导入MySQL中,供用户使用或对数据进行Web页面展示。

数据治理部分主要有4个功能模块:集群监控、元数据管理、权限管理和数据质量。

集群监控主要用来监控整个数据仓库系统的运行状态。一个数据仓库系统通常包含各种各样的设备组件,其系统构成非常复杂,为了保证整个系统能正常运转,设置一个集群监控系统是必不可少的,其用于实时监控整个系统的集运环境和业务应用系统的可用性,以及获取各个组件的运行状态。如果系统出现异常状态,集群监控系统及时通知数据仓库的运维人员进行维护和调整。

元数据是数据仓库系统的重要组成部分,元数据管理也是企业级数据仓库的数据治理模块中的关键组件。元数据记载了数据仓库中对模型的定义、各层之间的转换关系、表与表之间的依赖关系等,通过对元数据建立完善的管理,可以让平台管理人员更加有效地做好数据仓库系统的维护和管理工作,并对数据仓库的元数据进行管理。

权限管理系统用来给用户分配关键数据的管理权限。数据仓库中的数据通常具有一定的机密性和敏感性,不能完全展现给所有的数据仓库开发人员,利用权限管理系统划分数据的安全等级,决定用户可以访问哪些数据,授予、回收和变动用户的访问权限。

数据质量的高低代表该数据满足数据用户期望的程度,运用数据质量管理技术度量、评估、改进和保证数据的合理使用很有必要。数据质量的考察维度包括准确性、合规性、完备性、及时性、一致性和重复性。本数据仓库项目采用Shell脚本的形式进行数据质量监控。