随着传感器、信息技术的发展与智慧城市进程的推进,各个行业与部门产生了海量的、模态多样且高速增长的地理“大数据”。如何对这些数据进行高效的组织与管理是GIS系统中空间分析、知识挖掘、智能决策等功能实现的前提。关系型数据库凭借其对空间数据的拓展支持以及以其优异的事务性能成了 GIS系统常用的数据存储工具,然而面对数据量的飞速增长,传统的关系型数据库在可拓展性、存储性能、查询性能的瓶颈愈发明显。随Web2.0应用一同兴起的NoSQL(Not Only SQL)数据库凭借其高吞吐量、易拓展与高可用的特性,成为了这类新型场景的理想解决方案,其中MongoDB凭借丰富的查询语言与优异的性能成为了最流行的NoSQL数据库,但在空间索引方面,MongoDB原生的2d索引对几何类型的支持较差,而原生的地理索引2dsphere仅仅支持地理坐标系统(如WGS84),对于小范围内的地理查询依旧使用耗时的球面计算,因而性能较低。介于平面坐标系统依旧是众多行业、部门广泛使用的坐标系统,本文旨在研究面向MongoDB分布式环境r树索引原理与方法,拓展与增强MongoDB在处理平面数据上的能力,主要内容如下:1)学习MongoDB体系架构,面向MongoDB数据存储与r树查询特点,研究r树索引在MongoDB数据模型下的高效扁平化的表达方法,并在此基础上进一步设计支持r树索引管理的数据库模式。2)面向MongoDB分布式体系架构,分析与探讨各类分片方案对空间索引性能的影响,并针对MongoDB范围分片模式,提出了一种面向空间局部应用的空间分片方案,在动态数据负载均衡的同时,兼顾数据的空间局部性特征。3)针对MongoDB体系架构与上述两方面的研究,探讨、对比并设计分布式r树索引在MongoDB下的无缝集成方案,并从消息层,业务逻辑层与索引实现层3个层阐述r树索引在MongoDB下的集成方法,研制实现支持r树索引的MongoDB原型系统。4)通过搭建MongoDB集群,并使用真实空间数据集,对r树索引在各种分片方案下的各方面性能进行测试对比与分析,从而对系统的性能指标进行评价。
暂无评论