教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高中教育 >

一种基于NoSQL的地图瓦片数据存储技术_陈超

来源:网络收集 时间:2026-09-06
导读: 第38卷第1期2013年 01月 测绘科学 ScienceofSurveyingandMapping Vol.38No.1 Jan. 一种基于NoSQL的地图瓦片数据存储技术 陈 超①②,王 亮①,闫浩文②,仇阿根①,李玉祥①,朱芳菲① (①中国测绘科学研究院,北京100039;②兰州交通大学数理与软件工程学

第38卷第1期2013年

01月

测绘科学

ScienceofSurveyingandMapping

Vol.38No.1

Jan.

一种基于NoSQL的地图瓦片数据存储技术

超①②,王

亮①,闫浩文②,仇阿根①,李玉祥①,朱芳菲①

(①中国测绘科学研究院,北京100039;②兰州交通大学数理与软件工程学院,兰州730070)

【摘要】本文首先介绍了NoSQL(非关系型数据库)的起源与发展,对比其与关系型数据库的优缺点,提出了基于NoSQL的地图瓦片数据存储策略,通过实验对比分析了面向文档型的NoSQL数据库产品MongoDB与SQLServ-er2000在瓦片入库与并发访问性能上的差异。研究结果表明,MongoDB在海量空间数据存储与并发访问方面具有明显的高效性。

【关键词】NoSQL;地图瓦片;MongoDB;四叉树;SQLServer2000【中图分类号】P208【文献标识码】A【文章编号】1009-2307(2013)01-0142-03

1引言

2.2

随着互联网技术的发展,地图的使用被赋予了一种全新的方式。网络地图也作为新一代的地图产品脱颖而出,

[1]

特别是随着瓦片(Tile)的概念被提出以来,利用金字塔模型缓存地图瓦片的模式代替传统WebGIS地图模式构建WebGIS地图框架,大大提高了网络地图的响应速度,具有良好的用户体验。然而,这些海量数据能否被高效的访问,是影响WebGIS性能的重要因素。

为了提高地图切片(也叫瓦片)的访问效率,目前大多数的解决办法是建立空间索引机制,优化查询等方法。然而,这些方法都没有很好地解决访问效率的问题。由于在实际应用中,用户对于数据库高并发读写的需求、对海量数据的高效率存储和访问的需求、对数据库的高可扩展性和高可用性的需求等,传统关系型数据库在这些方面已经难以胜任。论文提出基于非关系型数据库(NoSQL)的地图图片存储方案,并对此方案进行实现。

2

2.1

非关系型数据库(NoSQL)的概述

NoSQL的起源与发展

NoSQL的发展最早可以追溯到1991年BerkeleyDB第一版的发布。BerkeleyDB是一个Key/Value(键/值)类型的Hash数据库。这种类型的数据库适用于数据类型相对简

[2]

单,但需要极高的插入和读取速度的嵌入式场合。No-SQL是一种非关系型的数据存储,它不需要固定的表结构,这种数据存储也不会表现出表之间的连接操作。典型的No-SQL数据库以key-values的形式存储数据,具有模式自由的

特点。

随着Web2.0技术的兴起,传统的关系型数据库在性能上似乎遇到了瓶颈问题,对于用户对数据库高并发的读写要求,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站的时候更显得不能胜任,这时候非关系型数据库应运而生。很多大公司基于NoSQL的概念开发出了很多实际可用的数据库,例如,具有代表性的:Apache的Hbase,Amazon的Dynamo等都取得了显著的应用成效。

NoSQL与关系型数据库的比较NoSQL与关系型数据库的比较如下:

1)关系型数据库是高度结构化的[3],通常由表或视图里的字段构成,这些表都存储一些格式化的数据结构,并且每个元组的字段组成都一样。NoSQL数据库通常存储的是一对键值或数组(Tuples),它允许创建许多不同类型的非结构化的或任意格式的字段,从一定意义上来说,具有减少时间和空间的开销。

2)关系型数据库通常被部署在高性能的服务器上,价格比较昂贵。部署在多台服务器上的关系型数据库,为了保持数据同步,通过依赖互相复制的方法来实现。NoSQL数据库通常使用廉价服务器集群来管理暴增的数据与事务规模,如果有需要只要多增加站点就可以解决,不会影响到服务的提供。

3)NoSQL松散的存储结构可以使得数据的存储更加灵活和方便,但却很难实现数据的完整性。需要注意的是,这一不足在Web2.0的很多应用中并不很重要,因为很多Web实时系统并不要求严格的数据库事务,对读一致性要求很低,有些场合对写一致性要求也不高。

4)到目前为止,NoSQL一般都是以开源的形式存在,它们缺乏供应商技术人员的正式支持。关系型数据库大多是商业性质的,有很好的售后技术支持和服务,可以很好地保证产品的稳定性。

通过上述的比较我们可以看出,与传统的关系型数据库相比,NoSQL非关系型数据库具有存储模式自由、高可扩展性、高并发读写等优势,但也存在着一些诸如实现数据完整性、缺乏强有力的技术支持等问题。2.3NoSQL数据库的产品

NoSQL基本都是基于Key-values的形式进行存储,它

是很多非关系型数据存储的集合的总称。我们可以把No-SQL分为以下几种类型:

表1

数据存储方式

WideColumnStore/ColumnFamilies:DocumentStore:KeyValue/TupleStore:

NoSQL数据库类型

NoSQL数据库类型Hadoop/HBase、HypertableCouchDB、MongoDB

BerkeleyDB、Redis、TokyoCabinet

AmazonDynamo、Dynomite

),男,云南曲作者简介:陈超(1986-靖人,在读研究生,主要研究方向为地

理信息系统开发与应用、WebGIS等。E-mail:evedene@http://doc.guandang.net

5-20收稿日期:2011-基金项目:公益院属基本科研业务费基

金项目(7771014)

EventuallyConsistentKeyValueStore:

通过上述几种类型,我们大概可以把NoSQL分为两大类:面向文档的NoSQL和键值NoSQL。

1)面向文档的NoSQL

面向文档的NoSQL有CouchDB、MongoDB等,其中,MongoDB是一种基于JSON的面向文档的数据库,数据以BSON格式组织成一个文档,存储在一个集合里[4]。MongoDB可以将异构数据存储在同一个数据库中,同时其每个数

据集合中可以包括不同类型的数据,具有很高的访问效率。MongoDB自带一个分布式文件系统[5],用来支持海量数据的存储;此外,MongoDB还支持动态查询、完全索引;支持复制和故障恢复;自动处理碎片,以及支持云计算层次的扩展性等。

2)键值NoSQL

[6]

键值NoSQL有BerkeleyDB,Redis等,其中,Berke-leyDB是一种功能强大、可处理海量数据、支持高并发性和多样性扩展的键值数据库。它可以保存任意类型的键/值对,而且可以为一个键保存多个数据。BerkeleyDB其函数库只有300KB左右,却能管理高达256TB的数据。Berke-leyDB不支持复杂的SQL语言,从而避免了大量解析和处

[6]

理的开销,它适用于嵌入式应用、实时系统等。

3地图瓦片数据存储方案

在实际应用中我们发现,地图数据以海量著称。如何有效地组织地图数据,从而使其被高效的访问,是我们必须考虑的问题。在WebGIS中,客户端经常向服务器发送地图图形数据的请求,为了便于传输和减轻服务器端的压[7]

力,我们可以建立金字塔式的地图图形瓦片,将瓦片存储在NoSQL中,并建立服务器端缓存,客户端只需到缓存中下载需要的图片。3.1四叉树切割地图

首先,我们需要对原始数据进行配准和坐标转换。由

[8]

于我国属于东西延伸的中纬度地区,除1∶1000000之外的基本比例尺地形图,均采用横轴墨卡托投影,这也是Ya-hoo及国内众多在线地图服务的数据源投影选择的依据。然后,从左上角开始进行切图,每张瓦片的大小为256×256。以后不同等级地图之间采用四叉树分图法,即分辨率每增加一级,第L级上的一张瓦片到第L+1级将裂变成4张。裂变后每一子块采用的编码规则是:按照每一子块裂变成4块,左上、右上、左下、右下,分别用z、x、v、t表示。每一子块的 …… 此处隐藏:7370字,全部文档内容请下载后查看。喜欢就下载吧 ……

一种基于NoSQL的地图瓦片数据存储技术_陈超.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1730086.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)