论文部分内容阅读
在现实中,企业部署在生产环境中的数据库主要面向OLTP,或是对OLAP的支持十分匮乏,或是执行分析处理时事务处理接近瘫痪。近年来,随着商业智能应用的普及,数据仓储作为OLAP的工具被应用到各行业中,为企业的管理层作决策提供数据支持。业界常采用周期性将数据从生产环境数迁入数据仓储,再进行离线分析的方法来解决问题。然而,因为与实时生产数据相对分离,在对数据实时性高度敏感的行业中,数据仓储的离线分析结果缺乏说服力,不能有力的支撑决策。本文针对OLTP系统与OLAP系统中数据分离导致的问题,对混合支持OLTP与OLAP的理论和方法进行了研究,设计与实现了基于内存的分布式行式数据引擎,重点对确定性事务的处理方案进行了探索,在保证事务处理性能的前提下,实现了OLTP系统与OLAP系统的数据与功能的融合。其主要工作包括:1、实现了OLTP与OLAP的融合。在系统中,设计和实现了基线数据与增量数据并存情况下数据的读写处理方案。行式数据引擎实现了联机事务处理,又能为联机分析处理提供实时数据。2、面向新硬件体型构建系统。以内存为主要存储介质,数据的计算和存储均在内存之中。基于infiniband架构verbs层的RDMA接口,设计与实现了高效的底层通信模块。全内存的计算方式与RDMA的数据交互方式,保证事务的快速响应。3、设计和实现了确定性分布式事务的处理框架。在分布式事务控制上,系统将事务赋予全局向量时钟、拆分为各数据分区的子事务并执行,避免了使用传统的两阶段提交协议。在并发控制上,针对确定性事务的特点采用了确定性锁的方式。4、实现了可靠的容错方案。依赖于一致性协议的副本数据同步方案,保证了事务的高可靠性。采用基于虚拟存储快照的检查点建立方式,能够快速的获得系统的内存镜像。最后,功能测试中,系统的各项设计功能通过;在性能测试中,系统的事务处理性能达到预期目标。系统能够快速响应事务请求,同时为分析处理提供实时数据,完成了事务处理与分析处理的融合。