NoSQL storage and management of geospatial data with emphasis on serving geospatial data using standard geospatial web services



Similar documents
InfiniteGraph: The Distributed Graph Database

Preparing Your Data For Cloud

Analytics March 2015 White paper. Why NoSQL? Your database options in the new non-relational world

NoSQL Databases. Nikos Parlavantzas

Cloud Scale Distributed Data Storage. Jürmo Mehine

Lecture 10: HBase! Claudia Hauff (Web Information Systems)!

Making Sense ofnosql A GUIDE FOR MANAGERS AND THE REST OF US DAN MCCREARY MANNING ANN KELLY. Shelter Island

SQL VS. NO-SQL. Adapted Slides from Dr. Jennifer Widom from Stanford

The Sierra Clustered Database Engine, the technology at the heart of

Slave. Master. Research Scholar, Bharathiar University

Oracle8i Spatial: Experiences with Extensible Databases

NoSQL in der Cloud Why? Andreas Hartmann

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre

An Approach to Implement Map Reduce with NoSQL Databases

Big Data Management and NoSQL Databases

Lecture Data Warehouse Systems

2.1.5 Storing your application s structured data in a cloud database

Unified XML/relational storage March The IBM approach to unified XML/relational databases

Evaluator s Guide. McKnight. Consulting Group. McKnight Consulting Group

How To Improve Performance In A Database

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Why NoSQL? Your database options in the new non- relational world IBM Cloudant 1

MongoDB in the NoSQL and SQL world. Horst Rechner Berlin,

Referential Integrity in Cloud NoSQL Databases

NoSQL for SQL Professionals William McKnight

BIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON

Integrating Big Data into the Computing Curricula

Graph Database Proof of Concept Report

<Insert Picture Here> Data Management Innovations for Massive Point Cloud, DEM, and 3D Vector Databases

Do Relational Databases Belong in the Cloud? Michael Stiefel

Composite Data Virtualization Composite Data Virtualization And NOSQL Data Stores

Oracle Platform GIS & Location-Based Services. Fred Louis Solution Architect Ohio Valley

Course 6232A: Implementing a Microsoft SQL Server 2008 Database

NoSQL Databases. Institute of Computer Science Databases and Information Systems (DBIS) DB 2, WS 2014/2015

Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage

MongoDB Developer and Administrator Certification Course Agenda

INTRODUCTION TO CASSANDRA

A COMPARATIVE STUDY OF NOSQL DATA STORAGE MODELS FOR BIG DATA

How To Handle Big Data With A Data Scientist

Oracle Database 12c Plug In. Switch On. Get SMART.

GIS Databases With focused on ArcSDE

Big Data, Cloud Computing, Spatial Databases Steven Hagan Vice President Server Technologies

Choosing The Right Big Data Tools For The Job A Polyglot Approach

Big Data Solutions. Portal Development with MongoDB and Liferay. Solutions

How To Scale Out Of A Nosql Database

Cloud Computing and Advanced Relationship Analytics

Data Modeling for Big Data

Open source, high performance database

How graph databases started the multi-model revolution

NoSQL Databases. Polyglot Persistence

An Oracle White Paper February Managing Unstructured Data with Oracle Database 11g

Geodatabase Programming with SQL

Cloud Computing at Google. Architecture

Effective Vector Data Transmission and Visualization Using HTML5

Big Data and Analytics: Getting Started with ArcGIS. Mike Park Erik Hoel

Affordable, Scalable, Reliable OLTP in a Cloud and Big Data World: IBM DB2 purescale

Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework

Performance Management of SQL Server

extensible record stores document stores key-value stores Rick Cattel s clustering from Scalable SQL and NoSQL Data Stores SIGMOD Record, 2010

Comparing SQL and NOSQL databases

Can the Elephants Handle the NoSQL Onslaught?

Perl & NoSQL Focus on MongoDB. Jean-Marie Gouarné jmgdoc@cpan.org

Structured Data Storage

A Web services solution for Work Management Operations. Venu Kanaparthy Dr. Charles O Hara, Ph. D. Abstract

Chapter 11 Map-Reduce, Hadoop, HDFS, Hbase, MongoDB, Apache HIVE, and Related

Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database

Technologies for a CERIF XML based CRIS

The Synergy Between the Object Database, Graph Database, Cloud Computing and NoSQL Paradigms

How to Choose Between Hadoop, NoSQL and RDBMS

How To Write A Database Program

Study and Comparison of Elastic Cloud Databases : Myth or Reality?

Big Data Management in the Clouds. Alexandru Costan IRISA / INSA Rennes (KerData team)

Chapter 6: Physical Database Design and Performance. Database Development Process. Physical Design Process. Physical Database Design

Big Data Technologies. Prof. Dr. Uta Störl Hochschule Darmstadt Fachbereich Informatik Sommersemester 2015

New Features in Neuron ESB 2.6

Understanding NoSQL Technologies on Windows Azure

A Selection Method of Database System in Bigdata Environment: A Case Study From Smart Education Service in Korea

Trends and Research Opportunities in Spatial Big Data Analytics and Cloud Computing NCSU GeoSpatial Forum

Principles of Distributed Database Systems

Domain driven design, NoSQL and multi-model databases

NoSQL Database Systems and their Security Challenges

Geospatial Platforms For Enabling Workflows

How To Use Hp Vertica Ondemand

Software Life-Cycle Management

Big data and urban mobility

Big Data: Using ArcGIS with Apache Hadoop. Erik Hoel and Mike Park

Hypertable Architecture Overview

Chapter 7. Using Hadoop Cluster and MapReduce

Luncheon Webinar Series May 13, 2013

Practical Cassandra. Vitalii

Big Data Technologies Compared June 2014

Ibrahim Sallam Director of Development

Not Relational Models For The Management of Large Amount of Astronomical Data. Bruno Martino (IASI/CNR), Memmo Federici (IAPS/INAF)

MySQL és Hadoop mint Big Data platform (SQL + NoSQL = MySQL Cluster?!)

Transcription:

NoSQL storage and management of geospatial data with emphasis on serving geospatial data using standard geospatial web services Pouria Amirian, Adam Winstanley, Anahid Basiri Department of Computer Science, National University of Ireland Maynooth Tel. (+353) 1 7083853 Fax (+353) 1 7083848 amirian@cs.nuim.ie, adam.winstanley@nuim.ie, anahid.basiri@nuim.ie KEYWORDS: BIG GEOSPATIAL DATA, NOSQL, GEOSPATIAL WEB SERVICE 1. Introduction Today a huge amount of geospatial data is being created, collected and used more than ever before. The ever increasing observations and measurements of geo-sensor networks, satellite imageries, point clouds from laser scanning, geospatial data of Location Based Services (LBS) and location-based social networks has become a serious challenge for data management and analysis systems. Traditionally, Relational Database Management Systems (RDBMS) were used to manage and to some extent analyse the geospatial data. Nowadays these systems can be used in many scenarios but there are some situations when using these systems may not provide the required efficiency and effectiveness. In these situations, NoSQL solutions can provide the efficiency necessary for applications using geospatial data. It is important to differentiate between the physical way a NoSQL product is implemented, and the interfaces, coding and access methods they use for the abstraction of data. This paper provides an overview of the major types of NoSQL solutions, their advantages and disadvantages and the challenges they present in managing geospatial data. Then the paper elaborates on serving geospatial data using standard geospatial web services with a NoSQL database as a backend. 2. Why Use a NoSQL Database for Management of Geospatial Data? It has been more than thirty years since relational DBMSs became the major solution for storing all kinds of data in many types of applications. They manage data using relational algebra and relational calculus as their theoretical foundation. They use tables, relationships, keys and Structured Query Language (SQL) to perform all sorts of functions with data. They usually are the best solutions when the schema of data is fixed and predefined. In other words, RDBMSs are ideal solutions to managing structured data. RDBMS can be effectively used in many common GIS workflows. Since they support transaction and locking features, they provide robust backends for enterprise GIS systems. Usually geospatial data have a fixed schema and in most cases they are not used in isolation. That is a join of two or more datasets and connecting data through spatial operations is needed in most GIS workflows. For this reason managing fixed schema geospatial data and using them in GIS workflows can usually be done effectively through RDBMS systems. However, today unstructured and semi-structured data are becoming mainstream. Observation and measurements from diverse kinds of sensors, geospatial data of Location Based Services (LBS) and social networks are three examples of semi-structured and unstructured data in the geospatial world. In addition, there are also some methods that generate massive geospatial data, for example remote sensing (RS) and laser scanning. In

some situations when high availability and scalability is needed, RDBMSs provide very expensive solutions for managing such data even if it has a fixed schema. For example, in an Automatic Vehicle Location (AVL) application, an RDBMS cannot easily handle the possibly massive read and write operations. In these situations NoSQL databases can provide a highly accessible and scalable way of managing semi-structured or unstructured geospatial data efficiently. In addition, some problems arise with RDBMS systems when scalability is needed by adding more servers and technologies to bind them together. In addition with more load on the system, vertical partitioning, denormalization and removal of the relational constraints comes into play. In summary, to achieve high scalability in RDBMS systems the normalized relational model of data storage has to be compromised and deviated from relational model. 3. What is a NoSQL Database? The NoSQL DBMSs are a broad class of DBMSs identified by non-adherence to the RDBMS model. In general, the most significant difference is the lack of SQL. There are different types of NoSQL databases, each with distinct set of characteristics but they all can deal with large amounts of (semi-structured and unstructured) data and are able to support a large set of read and write operations. For this reason NoSQL and relational models are not in contrast with each other rather they complement each other. The most widely accepted taxonomy of NoSQL databases are: key-value, document, tabular or columnar and graph. The key-value database is the simplest type of NoSQL databases. As the name implies, this type of database stores schema-less data using keys. The key is usually a string and the stored values can be any valid type such as a primitive programming data type (string, integer etc) or a BLOB (Binary Large Object) without any predefined schema. It provides a simple API to access stored data (Fowler and Sadalage). In most cases, this type of NoSQL database solution provides very little functionality beyond key-value storage. There is no support for relationships (Fowler and Sadalage). In terms of concurrency, they usually provide eventual consistency but don t provide optimistic concurrency especially in highly scalable environments. Queries are just limited to accessing values using keys but since there is one request to access the value, the queries are executed quickly. Transactions are limited to a single key. The database contains no semantic model. In other words, the client is in charge of interpreting and understanding values. Key-value databases can be utilized to store geospatial data but their complexity hinders spatial searches especially for polylines and polygons. For this reason, it needs to be spatially indexed for fast data retrieval which, in most cases, gives lower performance than a relational database. Many researchers and developers recommend using indexing techniques such as grids or tiles (Schwartz), quadkeys, space filling curves (Fuller) and similar approaches. In summary, key-value data stores are ideal for inserting, deleting and searching huge amount of data items using their unique identifiers (keys). If spatial searches are needed however they are not good solutions. A document database in its simplest form is a key-value database in which the database understands its values (Hecht and Jablonski). In other words, values inside the database are based on predefined formats such as XML, JSON or BSON (Binary JSON). This feature of document databases provides many advantages over key-value databases. Instead of putting too much logic in the application tier, many operations can be done by the database itself. Queries in this type of NoSQL databases are quite flexible and some document databases

even have their own query languages. Similar to key-value databases, there is no need to adhere to a predefined schema to insert data. There is only limited support for relationships and joins as each document is stand alone. However, more concurrency options, such as optimistic concurrency and eventual consistency are available (Tiwari). Transaction integrity is supported for one document or document fragment. The document databases can be used for managing geospatial data more effectively than keyvalue databases. Since geospatial data inside the document database can be retrieved using flexible queries, they can be used for storing and managing geospatial data in multiple use cases. In fact many document databases support geospatial data natively or through extensions (Schutzberg). Some applications of LBS such as proximity queries can be efficiently implemented using these document databases. As mentioned before, relationships and joins are not supported the way they are supported in relational databases. Often in common GIS workflows relationships and joins have to be used. Special kinds of document database can partially handle relationships. Native XML databases can be configured to enforce adherence to set of predefined XML schemas. In addition to all the advantages of document databases, native XML databases are able to utilize many XML technologies to provide further functionality. For example, they can use XQuery and XPath to perform various queries and create flexible result sets, they can make use of XPointer to reference other documents thus modelling a relationship and they can use XSD and RelaxNG to enforce schema validation. Geography Markup Language (GML), as a standard mechanism for storing, modelling and exchanging geospatial data, is an XML-based grammar and so Native XML databases are an ideal choice for managing geospatial data in GML format. The tabular or columnar (or column family) database stores data in columns. This is in contrast to the row-oriented format in relational databases (Tiwari). The column is the smallest unit of data and it is a triplet that contains a key, value and timestamp (Hecht and Jablonski). Columnar databases store all values beside the name of the columns and stores null values simply by ignoring the column. Usually, related columns compose a columnfamily. All the data in a single column family will be stored on the same physical set of files (Xiang, Hou and Zhou). This feature provides higher performance for search, data retrieval and replication operations. A super column is a column that contains other columns but it cannot contain other super columns (Tiwari). Most columnar databases use a distributed filesystem to store data to disk and so provide a horizontally scalable system. In fact columnar databases are designed to run on a large number of machines. Queries in this type of NoSQL databases are limited to keys and in most cases they don t provide a way to query by column or value. By limiting queries to just keys, columnar databases ensure that procedure to find the machine containing actual data is quite fast. There is no join capability and, as in other types of NoSQL databases, there is limited support for transactions. Columnar databases are ideal for storing huge amounts of data when high availability is needed. Similar to document databases, there are many columnar databases which support the management and simple analysis of geospatial data. Any GIS related application which needs heavy data insertion and fast data retrieval with simple queries can efficiently make use of columnar databases. As an example, an Automatic Vehicle Location (AVL) application which needs to track the location of many vehicles simultaneously can store the incoming data from vehicles in a columnar database and respond to queries efficiently. As the name implies graph databases are based on graph theory and employ nodes, properties and edges as their building blocks. In the graph databases various nodes might have different properties. The graph databases are well suited for data which can be modelled as networks

such as road networks, social networks, biological networks and semantic webs. Their main feature is the fact that each node contains a direct pointer to its adjacent node and no index lookups are necessary for traversing data. As a result they can manage huge amount of data as long as the data do not require expensive join operations. Some of graph databases support transactions in the way that relational databases support them (Perdue). In other words the graph database allows the update of a section of the graph in an isolated environment, hiding changes from other processes until the transaction is committed. Geospatial data can be modelled as graphs. Since graph databases support topology natively, topological relationship between geospatial data can be easily managed by this type of NoSQL databases. In most GIS workflows, topological relationships play a major role. In addition, since graph databases are ideal for managing data with evolving schema, they can be effectively used in Volunteered Geographic Information (VGI) and crowd sourcing applications. Also, graph databases are the best choice for managing huge linear networks (such as roads) and for routing and navigation applications. 4. Using an SQL Database in a NoSQL Manner In an inter-organizational and intra-organizational business intelligence environment with many software infrastructures, data models, data exchange patterns and policies, interoperability is a major concern. It is common practice to resort to Service Oriented Architecture (SOA) and Service Orientation (SO) principles to provide the interoperability needed for all components participating in every work process that has potential for reusability. These services are often implemented using web service technologies. In geospatial workflows, reusable services are usually implemented based on Open Geospatial Consortium (OGC) specifications. However, geospatial services based on OGC specification and web services are not the same (Amirian, Alesheikh and basiri, Sample, Shaw, Tu and Abdelgurfi) but both are in line with the idea of SOA. As part of an enterprise architecture and closely related to the quality of service parameters of SOA, the most effective and efficient solution to manage data must be selected and implemented. In many situations, NoSQL databases are ideal solutions which provide high availability and horizontal scalability with less effort and complexity. However, the most important barrier to adapting a NoSQL solution is the lack of organisational agility. In a survey conducted by Information Week, 44% of business IT professionals had not heard of NoSQL (Babcock). In other words, many organizations for different reasons are not agile enough to change their software infrastructure and switch to NoSQL databases. In this situation, one of the best strategies to gradually adapt NoSQL solutions is to use RDBMSs in a NoSQL fashion. This means using tables to store data, denormalize and vertical partitioning of data inside tables. 6. Acknowledgements Research presented in this paper was funded by a Strategic Research Cluster grant (07/SRC/I1168) by Science Foundation Ireland under the National Development Plan. The authors gratefully acknowledge this support.

References Fowler, M. and Sadalage, P. 2012. NoSQL distilled: a brief guide to the emerging world of polyglot persistence. Addison-Wesley. Schwartz, J. 2009. Tiles of BingMap. http://msdn.microsoft.com/enus/library/bb259689.aspx Fuller, A. 2010, Space filling curves. http://www.google.com/intl/ga/events/io/2010/sessions/next-gen-queries-appengine.html Hecht, R. and Jablonski. S. 2011. NoSQL Evaluation A Use Case Oriented Survey. International Conference on Cloud and Service Computing, 336-341. Tiwari, S. 2011. Professional NoSQL. Wrox publication. Schutzberg, A. 2011. NoSQL databases: What Geospatial Users Need to Know. Chang, F., Dean, J., Ghemawat, S., Hsieh, W. and Gruber. R. 2006. Bigtable: A distributed storage system for structured data. seventh symposium on operating system design and implementation. Xiang, P., Hou, R. and Zhou, Z. 2010. Cache and consistency in NoSQL. 3rd IEEE international conference on computer science and information technology, 117-120. Amirian, P., Alesheikh, A. and Basiri, A. 2010. Standard-based, interoperable services for accessing urban services data, Computer Environment and Urban Systems, 34 (4), 309-321. Sample, J., Shaw, K., Tu, S. and Abdelguerfi, M. 2008. Geospatial Services and Applications for the Internet, SpringerScience. Perdue, T. 2011. http://newtech.about.com/od/databasemanagement/a/nosql.htm Babcock, C. 2010. http://www.informationweek.co.uk/software/informationmanagement/surprise-44-of-business-it-pros-never-he/227500077?querytext=nosql+survey Biography Pouria Amirian holds a PhD of Geospatial Information Systems (GIS). He is a PostDoctoral Research Fellow in the Department of Computer Science at National University of Ireland Maynooth on the Strategic Research in Advanced Geotechnologies (StratAG) project. His areas of interest includes spatial interoperability, spatial databases, NoSQL, Service Oriented Architecture and Web Services Technologies. Adam Winstanley is Head of Computer Science at NUI Maynooth and co-pi on StratAG. He is also a Senior Research Associate in the National Centre for Geocomputation in Maynooth Anahid Basiri is a PostDoctoral Research Fellow in the Department of Computer Science, NUI Maynooth. Her current research interests include navigation services, uncertainty in GIS and spatio-temporal objects.