论文部分内容阅读
现如今,企业信息系统产生的数据量急剧增加,用于企业数据管理的联机事务处理系统的分析处理能力差强人意。在此应用背景下,数据仓库技术获得了长足的发展,数据仓库技术于20世纪80年代提出,20世纪90年代从最初的探索阶段进入了实质的使用阶段。联机分析处理系统,即OLAP系统,是数据仓库技术中最主要的应用之一,尤其是随着大数据时代的到来,OLAP系统得到了越来越广泛的应用。OLAP系统擅长针对大数据量进行复杂的多维查询处理,将分析处理所获得的潜在的价值信息以一种直观而易懂的形式展示给相关的决策和分析人员,方便他们了解对象的需求,制定切实可行的方案。在OLAP系统中,数据存储系统扮演着极其重要的角色。存储系统作为其底层基础系统,它的吞吐量,访问延迟,可用性和可伸缩性如何将直接影响OLAP系统的数据规模,性能;而这也将进一步影响数据查询处理所得结果的实时性和有效性。本文以自行设计和研发的面向OLAP应用场景的分布式键值存储引擎TIMDB为背景,详细阐述了其设计思想,关键技术和实现方法。T-IMDB系统将内存作为其永久性存储介质,磁盘等二级存储设备仅用于存储备份数据。它首先通过采用基于日志结构的内存管理机制和两阶段日志清理与资源回收方案,有效地减少了内存碎片,提高了内存的使用效率,使得系统在内存利用率较高的情况下仍能保持较高的吞吐量和较低的访问延迟。其次,T-IMDB引入一套可伸缩的分布式索引方案,该方案在Key-Value数据模型基础上支持范围查询,同时保证索引和被索引的数据在客户端角度观察是一致的。最后,T-IMDB对外提供强一致性,使得系统的数据多副本架构对客户端而言是透明的,简化客户端的业务逻辑,方便外部系统的接入。T-IMDB系统采用基于Epoll的异步事件驱动网路编程模型,有效地提高了网络传输效率,增加了系统的服务能力;同时它借用了面向服务架构的思想,将网络通信和业务逻辑充分解耦,使其具有可扩展性。测试证明T-IMDB系统能正确执行所需功能,并且性能优异。