论文部分内容阅读
嵌入式内存数据库(Embedded Main-Memory Database,EMMDB)是一种能够构建及应用于嵌入式系统或者设备之上的,采用内存数据库(Main-Memory Database,MMDB)结构组织形式的小型数据库。它可以看作是嵌入式数据库(Embedded Database,EBDB)与MMDB性能上的融合,具有传统数据库无可比拟的优势和广阔的应用前景。
数据的存储和索引是EMMDB系统的核心技术之一,对其性能的优劣起着决定性的作用。本论文即对这两类技术的原理及发展趋势进行了深入的分析和研究。首先,根据传统的区.段式、散列、T树和B-树算法,实现数据存储和索引的各功能模块,将其应用在模拟Linux嵌入式系统开发平台的环境上测试并分析其性能。其次,针对EMMDB系统的性能要求,分别提出存储与索引的改进算法。一是在传统区-段式存储算法的基础上,结合类可扩散列思想提出的类可扩散列区-段式算法(EHAS)。该算法在段实存数据页内采用类可扩散列方法进行记录数据的定位,以记录的一个主键字段值取模得到定位关键值和三元组。二是在传统T树索引算法的基础上,结合B-树非叶子节点作多路分支目录的思想,提出具有优先匹配目录的T树算法(PMCT-tree)。该算法将T树划分为若干有父亲孩子关系的块,再提取各T树块阈值构造优先匹配目录(PMC),进而创建T树与PMC目录的关联关系构造索引。通过索引查询时先在PMC中定位到块再在该T树块中查找。
通过在Windows XP SP3上应用Netbeans6.0、Cygwin的模拟Linux嵌入式系统开发平台环境进行性能测试和分析,实验结果表明EHAS算法能够保持原算法较好的空间利用率,提高平均存储响应时间,且提供在一定条件下的常数级查询功能。PMCT-tree算法虽然由于增加了PMC目录而略多的占用了主存空间资源,但有效地加快了平均查询响应时间,且能保持较好的稳定性。研究表明,EHAS和PMCT-tree算法均是能较好的符合EMMDB性能要求的方法。