论文部分内容阅读
随着人类社会不断信息化、数字化和智能化,时空数据在国民经济与日常生活中发挥着日益重要的作用,不断被应用于各个领域,如事件预测、环境监测、城市演化、交通管理、地震救援、全球或区域气候、物流配送、实时GIS、面向大数据的时空数据挖掘与分析等。时空数据系统是一种对数据进行采集、储存、分析处理和可视化的信息系统,既是对现实世界的模拟和进行空间数据分析处理的手段,也是一门对时空数据信息处理分析的科学技术。怎样在大数据环境下解决时空数据的存储和分析计算是业界的研究热点。时空数据库作为时空数据系统的核心,是时空数据系统进行存储和计算的基础,由于传统时空数据模型基于关系型数据库构建和存储,所以必须将问题领域模型转换成关系结构,转换代价较高,存储时将空间信息和时间信息割裂开来,同时关系型数据库受范式限制难于扩展、灵活性差、对于较为复杂的查询涉及大量连接操作,导致效率急剧下降。因此需要寻找能够对时空数据统一建模和存储的解决方案。No SQL是大数据环境下发展起来的非关系型、可水平扩展的、分布式的数据库,能够处理半结构化、结构化的数据,支持高并发的读写,存储模型包含键值、列族、文档、图等。No SQL摆脱了关系型数据库范式限制和ACID约束,没有固定表结构和低效的连接操作,基于CAP理论、BASE并发事务模型和最终一致性,因此具有更好的伸缩性和灵活性。No SQL为海量数据的存储和云计算环境下的数据分析与计算提供了坚实的基础,能够有效存储格式多样、数据量大、关系复杂的时空数据。本文首先对主流的时空数据模型和存储方案进行了系统的分析,介绍了国内外研究现状;然后详细介绍了时空数据特点和代表性数据模型,阐述了No SQL数据库的理论、数据模型以及相对于关系型数据库的优势;提出了基于No SQL的时空数据模型和存储的总体架构,分析了Hadoop结合Mongo DB的时空数据模型构建与存储,针对栅格数据与矢量数据特征结合Mongo DB基于文档存储模型,设计了相应的数据转换模块和栅格数据、矢量数据存储模型,结合Hadoop对大数据的处理能力,介绍了基于Mongo DB存储和Hadoop分析、计算的典型应用;利用Neo4j对具有复杂关系的时空数据进行建模和存储,提出了基于图数据库的时空数据时间表达和空间表达方法,应用实例说明了该模型的可行性,并且介绍了Neo4j Spatial库在时空数据处理方面的高效性和Neo4j集群架构;最后,基于曙光的XDATA-HADOOP平台搭建了Mongo DB与Neo4j,对论文提出的架构搭建了原型系统,在原型系统上进行了测试,测试结果分析表明了论文提出的基于No SQL的时空数据模型和架构的可行性与有效性。