基于组件的内存数据库

来源 :南京工业大学 | 被引量 : 0次 | 上传用户:jiangzhaomaomao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
内存数据库系统是一种数据库新技术,其设计思想是在系统运行时将整个数据文件或将数据文件的一部分读入共享内存中,所有数据的存取和管理都在内存中完成,尽可能的减少磁盘操作,以提高数据的访问速度,磁盘上的数据库文件只是作为内存数据库的后备文件。由于所有数据操作都在内存中进行,因此内存数据库的访问速度在特定条件和理想状态下可以比传统数据库高 1-2 个数量级,如果内存数据库系统的事务处理给以定时限制,则系统将具有实时特性,成为实时主存数据库系统。内存数据库系统所具有的特性,使其在工业控制、国防、通信领域得到了广泛的应用。内存数据库系统并不是传统数据库的二次开发,而是一种全新的系统。由于内存数据库基于内存,提高存取速度已经不再是设计算法时的主要考虑,而内存容量有限,是宝贵的,因此在设计内存数据库的数据结构,特别是索引结构时,设计的出发点是提供一种高效的数据存储方式,以提高内存空间的使用效率。另一方面,由于内存的易失性,内存数据库的可恢复性更为重要,这在数据结构的设计和算法实现时也是一种需要考虑的因素。FlashDB 是对内存数据库的实现,其采用内存映射文件的机制将磁盘文件映射至共享内存,在开辟的共享内存中建立表、字段、记录结构,并根据内存数据库的特点,采用了 Hash 表和 SB-树的索引结构,以达到检索速度和存储效率的平衡。FlashDB 具有优化的并行查询功能,利用互为主备的对象句柄数组实现了事务的提交/回滚以及数据库在崩溃时的自动恢复功能。FlashDB 结构紧凑,以动态库的形式提供给用户,实现了用户进程与数据库模块间的进程内通讯,具有较高的性能。FlashDB 采用面向对象设计,利用 C++的继承,多态,支持运算符的重载,宏等特性完成了数据库底层机制的实现(如 C++类至数据库表结构的映射)。 FlashDB 还采用先进的组件技术,组件技术是对面向对象技术的进一步发展,具有支持多种开发语言和高度可维护性的特点,FlashDB 利用组件技术实现了一个交互式 SQL 查询工具并对函数集进行了进一步的封装,隐藏了一些复杂的实现细节,使得 VB/VC/Delphi 等支持组件技术的开发语言都可以进行内存数据库的客户端程序的开发。本文的前言部分对内存数据库的出现的背景、特点、发展现状进行了介绍。在第二章着重讨论了内存数据库与传统数据库的区别、适用范围、以及 FlashDB的功能模块。在第三、四章讨论了内存数据库的底层数据数据的组织、索引结构、及共享内存的分配/释放/紧凑算法,这两章在全文中具有重要的作用,所讨论的技术是实现内存数据库系统的核心,也是内存数据库系统与传统数据库最大的不同之处。在第五章主要讨论了查询的处理和优化,实现游标及相关数据结构的实现是本章的重点,此外还讨论了跨平台的线程类在并行查询中的应用。在第六章,讨论了内存数据库系统的事务管理,锁机制,内存数据库的恢复,之所以将这三个技术点放在一章是因为三者相互关联,且与数据库的底层数据结构密切相关。第七章讨论了组件技术在内存数据库系统中的应用。
其他文献
随着信息技术的飞速发展,人类在信息处理领域面对更多新兴应用的挑战,特别是随着空间地理信息、时间信息的存储和管理的广泛应用,原有的空间数据库和时态数据库都越来越体现
目前高性能计算机和高性能服务器已逐渐使用大规模集群结构。集群文件系统是集群的一个重要组成部分,作为一种集群体系结构上的并行文件系统PVFS(Parallel Virtual File Syst
耳语音作为一种特殊的语音,是日常语音交流必不可少的一部分。随着说话人识别技术的日益成熟以及人们对耳语音关注程度的增加,耳语音说话人识别技术在信息服务、司法鉴定等方面
企业的计算机应用已经进入跨企业的信息集成,这需要依靠分布式的工作流管理技术。传统的基于CORBA的工作流系统显然已不能满足要求,其Internet ORB间协议IIOP很难穿越企业级的
根据世界上各大癌症研究中心和卫生组织的调查显示,肺癌已经成为全世界致死率最高的第一大癌症。目前胸腔扫描图像技术的应用范围越来越广泛。通过分析CT图像的特征(Computed
合法侦听是为了国家安全的需要,根据国家法律明确规定并且经过授权机构的法律授权,由具有合法侦听权的机构在法律授权范围内对通信内容进行侦听。随着我国信息化的深入,合法侦听
模式识别的研究已经取得了快速的发展,它在各个领域都发挥着巨大的作用。本文主要着眼于对模式识别分类器的设计研究和在现实生活中的应用,分别从样本层面和特征层面展开。本文
公共场所的人群容易发生随意奔跑、突然停止等行为,甚至发生危及公共安全的大型突发事件。基于视频数据对这些异常行为开展相关研究具有广泛的社会应用需求,但视频中的异常事件
时空数据库管理系统(Spatio-Temporal DBMS)是能够同时处理时态数据和空间数据的数据库管理系统。如何将时态属性和空间属性有机的结合起来是实现时空数据库技术的关键问题。
众所周知,操作系统是连接计算机硬件与上层软件及用户的桥梁,它的安全性是至关重要的。虽然我们不能说Linux一定比Windows更安全,但与封闭源代码的Windows相比,开放源代码的Linux