论文部分内容阅读
计算机硬件和技术的不断发展,特别是内存容量的不断扩充、CPU速率的不断提高、体系结构的不断完善,给数据库带来了机遇也带来了挑战。内存数据库比传统的磁盘数据库具有更快的响应速度和更高的吞吐量,但由于当前内存数据库的研究仍受到单机内存容量和已有内存数据库体系结构的限制,随着数据量急剧增长,集中式内存数据库的性能随之下降,难以发挥其最佳性能。 当前,基于集群并行处理的体系结构,已成为压倒性的主流结构,它是解决高性能数据处理的一种方案,反映了计算机硬件发展带来的新变化。这种架构通过并行处理的方式实现了复杂计算和海量查询的能力,极大提高了信息存取和处理能力,能够大幅提高数据库性能,因此,成为内存数据库研究发展的重要方向。 本文对基于集群并行处理的内存数据库进行了研究和探索。首先,本文深入研究、分析了集中式基于列存储的开源内存数据库系统MonetDB的体系结构组成特点、查询处理流程、以及代价模型构成。通过对MonetDB的分析,本文提出了面向可扩展的内存数据库系统ScaMMDB,通过对ScaMMDB的建模分析,详细介绍了ScaMMDB中远程列访问策略和扩展并行MAL语言EPM转换规则,然后给出了ScaMMDB实现方案中的系统结构和代价模型公式,并从理论上分析了ScaMMDB的扩展性能。然后,本文集中讨论了ScaMMDB中EPM转换规则的具体实现,从MonetDB的中间语言集MAL入手,阐述了转换过程中中间结果BAT大小估算和命令改写策略的实现方法,并给出了提供EPM转换的轻量级数据字典LWDD的实现方案。最后,通过实验,比较了内存/磁盘数据库、行/列存储内存数据库的性能,作为本文的研究基础,并通过实验验证了ScaMMDB的扩展性和查询性能。