论文部分内容阅读
磁盘数据的存取和传输到内存的速度一直是计算机系统的性能瓶颈。虽然现在磁盘转速和总线速度已经有了很大提高,但磁盘容量的大幅度增大又减缓了对其上数据的存取速度。数据库作为一种高效的组织和管理数据的软件,过去一直是以磁盘作为存储介质,随着嵌入式软件技术的发展和内存容量的大幅度提高,嵌入式内存数据库应运而生。在通信领域,随着人们需求的发展,出现了很多业务数据短小但业务量急速增大同时又对交换速度要求很高的通信业务,如手机短信。面对这些新设备和新业务,嵌入式内存数据库技术有了一个很好的展示自己的舞台。内存数据库(MMDB) 把数据库的主拷贝(即“工作版本”) 常驻在内存,使系统性能得到了极大的提高。但是,由于所有操作直接作用于内存中的数据库主拷贝上,数据库极易受到操作系统和应用软件错误造成的破坏, 因此MMDB 的恢复技术如备份、检验点(Checkpoint) 和重启动( restart) 等都较常规的磁盘数据库(DRDB) 复杂。本文首先介绍了内存数据库的基础理论——它的定义、它的特点以及它目前的发展现状,并以短消息业务为例,分析了内存数据库适用于通信行业的可行性;然后详细讨论了内存数据库在3G 平台中的实现流程和特点。在以上研究和分析的基础之上,本文设计和实现了一个适用于3G 平台的嵌入式内存数据库系统。该系统中实现了表、索引、队列等数据库核心对象及其提供的接口;然后,结合其在3G 平台上应用有分布式特点,实现了主备同步和处理器间同步等多种同步流程;最后,以短消息业务为例,进行了系统负荷分析和性能测试,证明了本系统的有效性和适用性。内存数据库要求数据库常驻内存并且在一个事务的活动期间没有I/O,日志、检查点作为保证内存数据库健壮性的关键技术,其中的I/O 次数和时间对系统性能起着至关重要的作用。本文在实现表、索引等数据库核心功能的基础之上,提出了一种适用于内存数据库的恢复算法,详细讲述了日志、检查点、恢复、数据库分段等过程。其中对undo 日志和redo 日志的灵活使用使该算法能有效提高系统性能。