论文部分内容阅读
随着地理空间信息服务的普及和IT技术的进步,空间数据总量越来越庞大。日益发展的空间信息产业对空间数据管理技术提出新的挑战。具有信息处理高效、使用成本低、系统构建速度快、易扩展、高可用等优势和能把大量网络计算资源统一管理和调度、按需服务等特性的云计算将在空间数据管理领域提供新的技术支持。 SQL语言和支持并行处理的关系型数据库依然是数据管理软件应用的主流,如何整合云计算与关系型数据库的优势成为目前研究的热点,HadoopDB项目就是耶鲁大学的研究团队为了提高Hadoop对结构化数据的处理能力,提高分析负载的性能而做的将MapReduce计算模型与RDBMS结合的混合技术。对于空间关系型数据库与云计算的整合来说,单纯的空间查询语言GeoSQL已不能完全适应云计算的需求。 在此背景下本文做了以下工作: 1)首次提出云GeoSQL语言概念,科学定义云GeoSQL语言、设计构成语法,阐述云GeoSQL解释执行过程。验证了基于Hadoop/Hive技术的云GeoSQL查询语言的可行性,满足了目前空间数据在云计算平台查询的需要,对于GeoSQL语言在云计算领域的推广做了初步探索,具有很强的应用价值。 2)提出BeyonDB Cloud架构,元数据目录、数据连接器、SMS规划器等组件具有低耦合、高内聚特点,功能划分合理。该架构能充分展现云GeoSQL的解释执行过程,从而验证云GeoSQL语言的可行性。 3)实验验证当前BeyonDB Cloud架构只适合批处理数据,不能用作实时查询。特别适合处理大数据和聚集函数,不适宜小规模数据量查询,在推广使用BeyonDB Cloud架构时要充分估算查询数据量,建议选用TB级数据和至少2位数的节点服务器数量。 4)通过扩展UDF初步实现的云GeoSQL语言的几个基本查询功能将提供在Hadoop平台访问PB级空间数据的能力。这些函数算子具有很强的代表性,除了涉及到多个表之间关联的Join算子外,它们涵盖了按功能和位置分类的空间谓词、空间操作符和空间函数所有类型,覆盖了按参数数目区分的一元算子和二元算子全部类型。 5)深层次修改Hive逻辑计划生成器、增加解析生成子GeoSQL语句功能,实现谓词下推、空间标量函数选择性下推功能。实验证明标量函数下推并不是都能起到查询优化的作用。只有当要访问的数据量不大时,下推才能启到优化查询的目的,当数据量较大时,反而降低了性能。 6)实验结果证明云GeoSQL能有效提高空间数据分布式并行处理效率,同时,BeyonDBCloud突破了分布式数据库结点个数限制的瓶颈,验证了当单一结点的服务器发生故障时并不会导致查询失败。 最后分析影响Hadoop云平台查询空间关系数据库性能的可能因素,为以后研究和完善云GeoSQL提供参考。