NoSQL, NoGIS… What’s with all the Negativity?

Databases are dull. So is geography. As a result, professionals in these fields have a habit of desperately trying to make themselves sound more interesting by inventing exciting memes – something that they can turn into a twitter #hashtag or submit a session at a conference and trick people into thinking that there’s been some radical, exciting developments that have suddenly made these topic areas “cool” and “in with the kids”….

The current fad is to take some of the most familiar acronyms associated with each topic area and add the word “No” in front of them – presumeably in the hope of distancing the subjects from their tired, historic associations. So in the database world, instead of SQL (Structured Query Language), we now have NoSQL (sometimes “Not Only Structured Query Language”). And, if you work with spatial data, we now have not only the GIS but also the NoGIS.

Of course, the problem with both NoGIS and NoSQL is that they are in some way misleading and deliberately obtuse as to what they stand for, instead favouring to come up with a natty name (Michal Migurski of Stamen design, who proposed the first “NoGIS” meetup even acknowledged that it started as a joke, as quoted here). So what do these terms really mean?

According to http://nosql-database.org/, NoSQL databases are non-relational, distributed, and horizontally-scalable. Rather than joining between relational tables, they typically use schemaless key-value stores, often for document databases. Examples of “NoSQL” databases are MongoDB, CouchDB, and Microsoft’s Azure table storage. Note that NoSQL has not really got anything to do with SQL at all (but nor is it the antithesis of it) – if anything, NoSQL should be called “Non-relational”, but I guess that would require more characters in Twitter. Also note that non-relational document store databases are hardly a new idea; I remember working with Lotus Notes databases 10 years ago that today would be classed as “NoSQL”.

NoGIS is a reflection of the fact that spatial data and geographic analysis is becoming increasingly more ubiquitous. Rather than being confined to dedicated GIS analysts with specialist (read “ESRI”) tools, it is now possible to have spatial applications running on Windows Phone 7 applications, via Bing Maps in a webbrowser, in a Silverlight application, or in any Reporting Services report, for example, and accessed and interpreted by users with no specific geographic interest. “Spatial is no longer special”. In common with NoSQL, the NoGIS movement is interested in (primarily) web-based approaches to analysing high-volume, dynamic data in efficient ways for non-expert users. But, once again, this is hardly a new idea – even ESRI themselves have a lightweight Silverlight viewer making geographic analysis available to the masses, and I personally know of many scientific organisations that have been sharing geographic research data using Google Earth for several years.

Today, I’m creating a Bing Maps application that will display and interrogate multiple layers of dynamic spatial data retrieved from Microsoft Azure storage. Inadvertently, I’m combining NoSQL and NoGIS. How cutting-edge am I?!

This entry was posted in Spatial, SQL Server and tagged , , , . Bookmark the permalink.

2 Responses to NoSQL, NoGIS… What’s with all the Negativity?

  1. Anthony says:

    I went to a no-SQL talk at a SQL-bits convention. Totally bemused by the talk. It was more about ‘no’ SQL than ‘not only’ SQL. I ended up walking out muttering to myself. Why reinvent the wheel? Just use the most appropriate technology, relational/non-relational or whatever. I put it down to self promotion and attempting to seed the idea there was a problem where infact there is none. Just wait noPC is round the corner.

  2. alastaira says:

    You’ve totally hit the nail on the head, Anthony – it’s marketing buzz for something that developers have been doing for ages – use technology in a way that gets the best solution to the problem. If that means storing everything in one big table referenced by a single key column that’s fine, but it’s still SQL. Ah, well….

Leave a comment