论文部分内容阅读
随着科技的进步,客观应用条件的成熟和新的应用需求使得内存数据库应运而生。内存数据库技术是一种新的数据库技术,它的设计思想是在系统运行的时候将全部数据库或者部分数据库先读到内存中,并且要求所有的数据操作是在内存中完成,这个时候磁盘I/O操作已经不再是内存数据库的瓶颈,所以内存数据库的设计目标是提高处理器访问数据的速度和内存空间的利用率,而外存磁盘上的数据只是作为内存数据库的一个数据备份。在一般情况下,内存数据库的访问速度是传统的物理数据库10~20倍左右。内存数据库的最初设计目标是为了解决在电信、金融等领域的关键应用。随着电信业务的发展,电信级业务支撑系统为了越来越迅捷的响应业务请求,将越来越多的数据从物理磁盘加载到内存中,特别是在电信业务支撑系统中实时计费账务、在线计费等实时应用和嵌入式系统等领域,内存数据库的应用起着举足轻重的作用。本文结合电信业务的应用需求对内存数据库进行了设计与实现。第一章引入了内存数据库的概念,介绍了内存数据库和磁盘数据库的差异性,并着重介绍了内存数据库的研究发展历史;在第二章着重讨论了内存数据库的关键技术,本文采用了共享内存机制,在开辟的共享内存中建立表、字段、记录结构,并根据内存数据库的特点,采用了Hash表和T树的索引结构,以达到检索速度和存储效率的平衡;第三章设计了内存数据库的数据组织、数据存储、数据操作以及行级锁;第四章实现了内存数据库的核心模块,包括主服务进程、数据同步进程和数据备份进程,支持与磁盘数据库(ORACLE、Sybase、DB2等)的灵活同步。支持SOCKET、直连(direct access)等模式下的数据通信访问,在同主机采用direct access连接模式,可以避开进程间通讯的开销,使得应用程序像使用自己的内存一样访问内存数据库,可以极大的提高访问效率。提供容灾存储分离的复制方式,支持多个MMDB之间的指定表的星型双向复制。第三与第四完成内存数据库系统的核心设计与实现,在全文中具有重要的作用。第五章的系统测试包括有性能测试和高可用测试,第六章是总结部分。