Professional Documents
Culture Documents
{Mongo DB}一种基于NoSQL的地图瓦片数据存储技术
{Mongo DB}一种基于NoSQL的地图瓦片数据存储技术
一种基于NoSQL的地图瓦片数据存储技术
陈超①②,王亮①,闰浩文②,仇阿根①。李玉祥①。朱芳菲①
(①中国测绘科学研究院,北京100039;②兰州交通大学数理与软件-r程学院,兰州730070)
【摘要】本文首先介绍了NoSQL(非关系型数据库)的起源与发展,对比其与关系型数据库的优缺点,提出了基
于NoSQL的地图瓦片数据存储策略,通过实验对比分析了面向文档型的NoSQL数据库产品Mongo DB与SQL Serv-
er 2000在瓦片入库与并发访问性能上的差异。研究结果表明,Mongo DB在海量空间数据存储与并发访问方面具
有明显的高效性。
【关键词】NoSQL;地图瓦片;Mongo DB;四叉树;SQL Server 2000
2.2 NoSQL与关系型数据库的比较
l 引言
NoSQL与关系型数据库的比较如下:
随着互联网技术的发展,地图的使用被赋予了一种全 1)关系型数据库是高度结构化的p1,通常由表或视图
新的方式。网络地图也作为新一代的地图产品脱颖而出, 里的字段构成,这些表都存储一些格式化的数据结构,并
特别是随着瓦片…(Tile)的概念被提出以来,利用金字塔 且每个元组的字段组成都一样。NoSQL数据库通常存储的
模型缓存地图瓦片的模式代替传统WebGIS地图模式构建 是一对键值或数组(Tuples),它允许创建许多不同类型的
WebGIS地图框架,大大提高了网络地图的响应速度,具有 非结构化的或任意格式的字段,从一定意义上来说,具有
良好的用户体验。然而,这些海量数据能否被高效的访问, 减少时间和空间的开销。
是影响WebGIS性能的重要因素。 2)关系型数据库通常被部署在高性能的服务器上,价
为了提高地图切片(也叫瓦片)的访问效率,目前大多 格比较昂贵。部署在多台服务器上的关系型数据库,为了
数的解决办法是建立空间索引机制,优化查询等方法。然 保持数据同步,通过依赖互相复制的方法来实现。NoSQL
而,这些方法都没有很好地解决访问效率的问题。由于在 数据库通常使用廉价服务器集群来管理暴增的数据与事务
实际应用中,用户对于数据库高并发读写的需求、对海量 规模,如果有需要只要多增加站点就可以解决,不会影响
数据的高效率存储和访问的需求、对数据库的高可扩展性 到服务的提供。
和高可用性的需求等,传统关系型数据库在这些方面已经 3)NoSQL松散的存储结构可以使得数据的存储更加灵
难以胜任。论文提出基于非关系型数据库(NoSQL)的地图 活和方便,但却很难实现数据的完整性。需要注意的是,
图片存储方案,并对此方案进行实现。 这一不足在Web 2.0的很多应用中并不很重要,因为很多
Web实时系统并不要求严格的数据库事务,对读一致性要
2非关系型数据库(NoSQL)的概述 求很低,有些场合对写一致性要求也不高。
2.1 NoSQL的起源与发展 4)到目前为止,NoSQL一般都是以开源的形式存在,
NoSQL的发展最早可以追溯到1991年Berkeley DB第 它们缺乏供应商技术人员的正式支持。关系型数据库大多
一版的发布。Berkeley DB是一个Key/Value(键/值)类型的 是商业性质的,有很好的售后技术支持和服务,可以很好
Hash数据库。这种类型的数据库适用于数据类型相对简 地保证产品的稳定性。
单,但需要极高的插入和读取速度的嵌入式场合旧-。No- 通过上述的比较我们可以看出,与传统的关系型数据
SQL是一种非关系型的数据存储,它不需要固定的表结构, 库相比,NoSQL非关系型数据库具有存储模式自由、高可
这种数据存储也不会表现出表之间的连接操作。典型的No- 扩展性、高并发读写等优势,但也存在着一些诸如实现数
SQL数据库以key-values的形式存储数据,具有模式自由的 据完整性、缺乏强有力的技术支持等问题。
特点。 2.3 NoSQL数据库的产品
随着Web2.0技术的兴起,传统的关系型数据库在性能 NoSQL基本都是基于Key—values的形式进行存储,它
上似乎遇到了瓶颈问题,对于用户对数据库高并发的读写 是很多非关系型数据存储的集合的总称。我们可以把No.
要求,特别是超大规模和高并发的SNS类型的web 2.0纯 SQL分为以下几种类型:
动态网站的时候更显得不能胜任,这时候非关系型数据库 表1 NoSQL数据库类型
应运而生。很多大公司基于NoSQL的概念开发出了很多实 数据存储方式 NoSQL数据库类型
际可用的数据库,例如,具有代表性的:Apache的Hbase, Wide Colullm Store/Column Families: Hadoop/HBase、Hypertable
Amazon的Dynamo等都取得了显著的应用成效。
Document Stom: CoucbDB、MongDDB
万方数据
第1期 陈超等一种基于NoSQL的地图瓦片数据存储技术 143
据集合中可以包括不同类型的数据,具有很高的访问效率。 程中为每一图块建立索引。下面分别介绍基于这两种数据
MongoDB自带一个分布式文件系统口J,用来支持海量数据 库的瓦片存储。
的存储;此外,Mongo DB还支持动态查询、完全索引;支 1)基于Mongo DB的瓦片存储
持复制和故障恢复;自动处理碎片,以及支持云计算层次 利用Mongo DB可以存储海量数据、自动分片,以及在
的扩展性等。 系统重启之后,其搭建的持久化缓存层可以避免下层的数
2)键值NoSQL 据源过载的特性,我们将预生成的图片存储于Mongo DB
键值NoSQL有Berkeley DB¨J,Redis等,其中,Berke- 中,并在存储过程中分别为每张图片建立索引。由于Mow
ley DB是一种功能强大、可处理海量数据、支持高并发性 go DB在32位的操作系统上,每个数据库文件的大小最大
有效地组织地图数据,从而使其被高效的访问,是我们必 imageColecfionO”);//获得一个集合
须考虑的问题。在WebGIS中,客户端经常向服务器发送地
图图形数据的请求,为了便于传输和减轻服务器端的压 BasieDBObject record=new BasieDBObject();
力¨J,我们可以建立金字塔式的地图图形瓦片,将瓦片存 record.put(”map_id”,id);
储在NoSQL中,并建立服务器端缓存。客户端只需到缓存 record.put(”Data”,fileSize);
中下载需要的图片。 coil.insert(record); //使用insert方法插入到数据
3.1四叉树切割地图 库中
首先,我们需要对原始数据进行配准和坐标转换。由 2)基于SQL Server 2000的瓦片存储
于我国属于东西延伸的中纬度地区哺1,除1:1000 000之外 为了便于访问,我们将同一层的数据放在同一张表中,
的基本比例尺地形图,均采用横轴墨卡托投影,这也是Ya. 并为每一图块建立索引。下面给出利用Java语言连接SQL
Server 2000的关键代码:
boo及国内众多在线地图服务的数据源投影选择的依据。然
jdbc:
”
eormectionUrl = sq]server://
后,从左上角开始进行切图,每张瓦片的大小为256×256。 String
192.168.10.125:1433:”+
以后不同等级地图之间采用四叉树分图法,即分辨率每增
=
”databaseNalne =TileDB:user ma;password
加一级,第£级上的一张瓦片到第£+1级将裂变成4张。
裂变后每一子块采用的编码规则是:按照每一子块裂变成4 =sa;”;
t『:『掌×m×妒--1(3)
5000 1 600000
已知地理坐标计算出瓦片的行列号,公式如下: 4 500
500 000
4t100
i:『旦堂}1×n×≯一t1 3 500
3 000
400 000
2 500 300000
其中,假设地图等级为从1开始、行列数为从0开始 2000
l 500 200 000
的整数;地图范围的极值用XMin,XMax,YMin,YMax表 1 000
l00000
示;血表示横坐标差,衄表示纵坐标差,r表示向上取 500
0 ,0
整。设第一个等级地图为m行n列,则第L级的地图行列 8层 10屡 12层
万方数据
第1期 刘涛等空间线群目标方向相似度计算模型 159
论的补充和完善。论文依据风向玫瑰图的基本原理,在对 学出版社.2006-02第一版:100-113.
空间线群目标的方向特征进行统计制作方向玫瑰图的基础 [4] 王新生.浅谈风玫瑰图在城市规划中的应用[J].武测
上,提出了3种线群目标的方向相似度计算模型,指出各 科技,1994,(3):35—38.
模型的适用范围和优缺点,并以实验对三种计算模型进行 [5] H Freeman,R Shapira.Determining the Minimum—Area
Abstract:Three direction similarity calculation models of spatial line groups were proposed in this paper.Spatial line objects’di—
rectional characteristics were counted and the corresponding direction rosette histogram Was built according to the principle of wind
rose.Then the standard deviational ellipse and statistical histogram were buih on this basis.The direction similarity calculation models
based on rosette histogram,standard deviational ellipse,and statistical histogram were built respectively,which were verified by the
experiment finally.
Key words:spatial line groups;direction similarity;wind rose;standard deviational ellipse;statistical histogram
LIU Tao,YANG Shu—wen,LI Yi—kun,DUAN Huan—e(Faculty of Geomatics and Geographic Information System,Lanzhou Jiaotong
University,Lanzhou 730070,China)
(上接第143页) 海量空问数据缓存置换策略[J].武汉大学学报.信息
其中,图2中横轴代表瓦片层数,纵轴代表入库所用时 科学版,2009,34(6):667-668.
间(单位为秒)。从上图可以看出,随着数据量的不断增大, 心2 范凯.NoSQL数据库综述[J].程序员,2010,(6):
1j
DB插入数据量的高效性。在图3中,横轴代表线程
Mongo 76—78.
并发访问数,纵轴代表每并发平均访问时间(单位为毫秒), b3 萨师煊,王珊.数据库系统概论(第3版)[M].北京:
从中我们可以看出随着并发用户的增加Mongo DB所体现的 高等教育出版社,2000:9—10.
高并发访问特性。 H4 Mongo DB官方主页[EB/OL].http://www.mongodh org/
本文针对NoSQL独特高效的体系结构、存储机制、索引 System,2008,26(2):l-26.
特点等关键技术,进行了深入研究。重点讨论了利用Mongo №6 刘巍巍,徐成,李仁发.嵌入式数据库Berkeley DB的
DB、SQL Server 2000进行瓦片数据的存储,并通过实验对其 原理与应用[J].科学技术与工程,2005,5(2):86—87.
1J]i
高效性进行了验证,以期为满足日后各种基于NoSQL的应用 口7 李浩松,朱欣焰,李京伟,等.WebGIS空间数据分布式
开发带来一定的启发。同时,如何利用Mongo DB自带的分 缓存技术研究[J].武汉大学学报信息科学版,2005,30
布式文件系统(GridFS)进行海量影像数据的高效管理等问 (12):1092—1095.
题,有待进一步深入研究。 哺8 王金鑫.地理空间数据生产网络的体系结构与关键技
术[J].测绘科学,2010,35(2).
参考文献
汐9 1J 李建松.地理信息系统原理[M].武汉:武汉大学出版
[1] 王浩,喻占武,曾武,等.基于瓦片寿命和访问热度的 社,2006:64-67.
current access.
ty。Lanzhou 730070,China)
万方数据