如图2-1所示,该数据仓库系统主要分为3个功能结构:数据采集、数据仓库平台和数据可视化。
图2-1 数据仓库系统功能结构
数据采集平台主要负责将在线教育系统前端的用户行为数据,以及业务交互数据采集到大数据存储系统中,所以数据采集平台共分为两大体系:用户行为数据采集体系和业务交互数据采集体系。用户行为数据主要以日志文件的形式落盘在服务器中,采用Flume作为数据采集框架对数据进行实时监控采集;业务交互数据主要存储在MySQL中,采用DataX对其进行采集。业务数据中的众多表格存储的数据性质不同,根据业务产生的增改情况不同,需要制定不同的同步策略。
数据仓库平台负责将原始数据采集到数据仓库中,合理建表,并针对数据进行清洗、转义、分类、重组、合并、拆分、统计等,将数据合理分层,极大地减少了数据重复计算的情况。数据仓库的建设离不开数据仓库建模理论的支持,在数据仓库建设之初就应对数据仓库建模理论有充分的认识,合理合规地建设数据仓库对后期数据仓库规模发展和功能拓展都是大有裨益的。数据仓库每天需要执行的任务非常多,而且因为涉及分层建设,层与层之间有密切的依赖关系,所以数据仓库平台一定要有一个成熟的定时调度系统,以管理任务流依赖关系并提供报警。
数据可视化主要负责将最终需求结果数据导入MySQL中,供数据用户使用或者对数据进行Web页面展示。