基于内存数据库Redis的轻量级矢量地理数据组织
收稿日期: 2013-08-09
修回日期: 2013-11-11
网络出版日期: 2014-03-10
基金资助
国家自然科学基金项目(40801149);江苏省高校优势学科建设资助项目“面向查询的NoSQL空间数据库研究”(164320H101)。
Research of Lightweight Vector Geographic Data Management Based on Main Memory Database Redis
Received date: 2013-08-09
Revised date: 2013-11-11
Online published: 2014-03-10
矢量地理数据的高效组织管理是空间数据应用的关键问题之一。矢量地理数据服务作为一种重要的公众空间信息服务,已经得到广泛应用。公众对矢量地理数据服务性能提出了越来越高的要求,包括实时响应、高并发、高吞吐量等。当前的矢量地理数据服务后台数据存储组织,通常基于磁盘和关系数据库,其在面对公众日益增长的需求时已经显得力不从心。本文提出了一种以内存数据库Redis的轻量级矢量地理组织方法,能在高并发情况下有效提高矢量地理数据服务性能。论文首先分析了Redis的存储机制,设计了矢量地理数据库的分层组织模型,利用Redis丰富的数据结构对矢量地理数据及其相关元数据进行存储管理,然后,以网格索引为例,设计了Redis的空间索引,最后,设计Redis的矢量数据引擎原型系统,并进行了实验验证。结果表明,Redis的矢量地理数据库显著提高了响应速度,且并发性能更好,可广泛应用于大型空间数据库前端高速缓存和高性能空间索引库。
朱进, 胡斌, 邵华, 罗青, 江南, 张景云 . 基于内存数据库Redis的轻量级矢量地理数据组织[J]. 地球信息科学学报, 2014 , 16(2) : 165 -172 . DOI: 10.3724/SP.J.1047.2014.00165
Effective organization and management of vector geographic data is one of the key parts for spatial database application. The traditional vector geographic data service is usually based on magnetic disks and relational databases like Oracle Spatial. With the rapid development of wireless communication and mobile web technology, the performance of current vector geographic data service is declining dramatically under multi-user concurrent access, and can't meet the requirements of high performance and high concurrency. In order to improve the performance of vector geographic data service under multi-user concurrent access, we proposed a novel management approach of lightweight vector geographic data based on main memory database Redis. Redis is a main-memory lightweight key/value store. Its I/O performance is much better than traditional disk-based databases like Oracle and MS SQL server. At first, we analyzed Redis' key-value data model and data structure. Subsequently we designed a four level hierarchy organization structure of vector geographic database. We stored vector geographic data and its metadata based on Redis' plentiful data structures. Then, taking the grid spatial index as an example, we designed the storage method of spatial index and spatial query processing flow for Redis based on the hierarchy organization structure of vector geographic database. Our experimental results confirmed that compared to traditional relational spatial database-Oracle Spatial, our main memory style vector geographic data management approach greatly improves spatial query responding speed and its concurrent performance is excellent. The proposed approach can be used as a front end high performance cache of large spatial database or a high performance spatial indexes database.
[1] 覃雄派,王会举,李芙蓉,等.数据管理技术的新格局[J].软件学报,2013,24(2):175-197.
[2] 慈祥,孟小峰.大数据管理:概念、技术与挑战[J].计算机研究与发展,2013,50(1):146-169.
[3] 王珊,肖艳芹,刘大为,等.内存数据库关键技术研究[J].计算机应用,2007,27(10):2353-2357.
[4] 徐海华.面向应用的内存数据库研究[D].上海:上海师范大学,2008.
[5] Ousterhout J, Agrawal P, Erickson D, et al. The case for ramclouds: scalable high-performance storage entirely in dram[J].SIGOPS Operating Systems Review,2010,43(4):92-105.
[6] The Trinity graph engine[EB/OL].[2013-07-20].http://research.microsoft.com/pubs/161291/trinity.pdf.
[7] Redis: Lightweight key/value store that goes the extra mile[EB/OL].[2013-07-28].http://www.linux-mag.com/id/7496/.
[8] 支撑5亿用户、1.5亿活跃用户的Twitter最新架构详解及相关实现[EB/OL].[2013-07-18].http://www.csdn.net/article/2013-07-11/2816199-architecture-twitter-uses-to-deal-with-150m-active-users.
[9] 唐诚.Redis数据库在微博系统中的实践[J].厦门城市职业学院学报,2012,14(3):55-59.
[10] Hu L, Yue P, Zhou H X.Geoprocessing in Google Cloud Computing: Case studies[C].2012 First International Conference on Agro-Geoinformatics (Agro-Geoinformatics),Aug,2012.
[11] Kerr N T. Alternative approaches to parallel GIS processing[D].Arizona State University,2009.
[12] 王永刚.基于Hadoop云计算平台的地理信息服务若干关键技术研究[D].北京:中国科学院遥感应用研究所,2011.
[13] 唐建智.基于云计算的海量空间信息存储与计算研究[D].北京:中国科学院遥感应用研究所,2012.
[14] 徐红波.基于空间填充曲线高维空间查询算法研究[D].哈尔滨:哈尔滨理工大学,2010.
[15] 范建永,龙明,熊伟.基于HBase的矢量空间数据分布式存储研究[J].地理与地理信息科学,2012,28(5): 39-42.
[16] Dean J, Ghemawat S. Mapreduce: Simplified data processing on large clusters[C].Proceedings of OSDI,2004,137-150.
[17] 张景云.基于Redis的矢量数据组织研究[D].南京:南京师范大学,2013.
[18] 杨艳,李炜,王纯.内存数据库在高速缓存方面的应用[J].现代电信科技,2011(12):59-64.
[19] Key-Value stores: A practical overview[EB/OL].[2013-07-25].http://blog.marc-seeger.de/assets/papers/Ultra_Large_Sites_SS09-Seeger_Key_Value_Stores.pdf
[20] OGC.OpenGIS simple features specification for SQL revision 1.1[EB/OL].[ 2013-07-20].http://portal.opengeospatial.org/files/?artifact_id=829
[21] Guttman A. R-trees: A dynamic index structure for spatial searching[C].Proceedings of the ACM SIGMOD,Boston,MA,1984,47-57.
[22] Silberschatz A,Korth H,Sudarshan S. Database system concepts (6th ed.)[M]. New York: McGraw-Hill,2010:429-474.
/
〈 | 〉 |