论文部分内容阅读
随着科技的发展,在科学研究、互联网应用等诸多应用领域,数据量正快速增长,这些大数据中蕴含着大量的有利于企业进行决策的信息。为了挖掘其中的有用信息,工业界和学术界都提出了越来越多的数据分析算法,传统的关系型数据库无法满足复杂的数据分析需求,新的大数据分析平台应运而生。然而传统的关系型数据库较新的大数分析平台更适应企业现有的架构,且其具备的易用性,易于维护等特性更方便对企业现有系统的维护,因此在关系型数据库的基础上进行扩展相比于全新的平台架构对于企业而言更适应其发展现状。但关系型数据库在面对大数据的分析计算时,比较低效,本文要解决的问题就是在保留关系型数据库的基础上,如何提高关系型数据库的数据分析能力。国内外现有的对关系型数据库数据分析能力进行扩展的解决方案中包括了建立MPP数据库集群以及在大数据分析平台建立SQL查询引擎,但都有其局限性。本文提出的解决方案是在保留传统的关系型数据库结构的基础上,构建中间协议,允许关系型数据库将大数据分析平台作为执行引擎来执行自定义SQL查询函数,并以该协议为基础,构建一端为关系型数据库,另一端为大数据分析平台的异构分析系统。该系统基于中间件中通信协议,接口设计,数据传输,数据处理四个模块的设计,使系统处于松耦合状态,两个平台可以独立的进行数据分析,也可以通过中间件连合使用,使得数据存储和计算模型在物理上隔离,且后台运行的大数据分析平台对关系型数据库不可见,该系统可以扩展到其他的大数据分析平台上,具有高扩展性。系统实现过程中,本文选取了开源关系型数据库PostgreSQL和分布式计算框架Spark作为系统实现的基本组件,并编程实现了中间件,及PostgreSQL和Spark所需的接口。最后,本文通过实验证明了该系统在复杂的数据分析计算上的可用性和高效性,并将该系统用于向公交WIFI用户推荐内容上,进一步验证了系统的高效性及实际应用意义。