论文部分内容阅读
随着电子商务和信息技术的飞速发展,企业需要存储和处理的数据量正在以惊人的速度增长,而传统的基于单处理器和单计算机平台的处理能力已无法满足日益复杂的查询需求。如何才能准确有效地从海量的结构化数据中获取一些有价值的信息,提高数据库查询处理的效率,成为目前急需解决的问题。云计算作为一种新型的计算模式,具有处理能力强、使用安全可靠等优点。因此,研究云计算的计算模式在传统的数据库查询中的应用,具有广泛的实际应用价值。
本文在深入分析了Hadoop云计算平台的基础之上,给出了一种将云计算应用于传统数据库查询的方法,并据此完成了基于Hadoop平台的数据库并行查询引擎的设计与实现。该引擎不仅实现了数据库查询的并行化,提高了查询处理的效率,同时也增强了Hadoop平台处理复杂查询的能力。
本文从数据分布和数据查询两个方面,深入探讨了云环境下数据库并行查询引擎的设计与实现,具体工作如下:
1、研究了Hadoop平台原有的数据放置策略,并就异构的集群环境给出了一种依据集群中各节点的处理能力和负载情况进行数据放置的策略,并给出了详细的实现方法。
2、设计了一种类SQL的查询脚本语言,用于对底层的数据库集群进行查询。在查询过程中,借鉴编译原理词法和语法分析的一般流程,抽取出查询脚本的抽象语法树;通过对语法树的遍历,获得查询所涉及的表、字段以及其他信息;最后,以MapReduce任务的形式封装这些能在数据库中执行的SQL脚本。
3、针对查询需求的不同,给出了三种常见的查询需求的实现策略,即简单选择查询、连接查询以及聚集查询。为了减少查询过程中生成的大量中间小文件给效率带来的影响,给出了一种依据Reduce的任务数进行中间键值对合并的算法。
4、本文最后给出了基于查询引擎设计并实现的学术检索原型系统。在文中,着重阐述了该原型系统的体系结构、功能以及技术架构的设计。然后从平台环境的搭建、数据集的采集和放置以及查询效率的比较和分析等方面描述了该原型系统的实现过程。通过该原型系统设计及实现过程,给出基于该查询引擎的构建查
5、询应用系统的实施流程。