• No results found

NoSQL vs SQL Geo DB

N/A
N/A
Protected

Academic year: 2021

Share "NoSQL vs SQL Geo DB"

Copied!
121
0
0

Loading.... (view fulltext now)

Full text

(1)

 Neo4j versus PostGIS 

 Neo4j versus PostGIS 

Bart Baas

Bart Baas

(2)
(3)

NoSQL spatial

NoSQL spatial

 Neo4j versus PostGIS 

 Neo4j versus PostGIS 

Maser Thesis Maser Thesis Date: Date: May 22, 2012 May 22, 2012 Version: Version: 1.01 fnal 1.01 fnal Author: Author: Bar Baas Bar Baas

Geographical Inor!aton Manage!en an" #pplicatons $GIM#% Geographical Inor!aton Manage!en an" #pplicatons $GIM#%

Supervisor: Supervisor: &. Q'a( $T)*% &. Q'a( $T)*% Professor: Professor: +. an -osero! $T)*% +. an -osero! $T)*% Reviewer: Reviewer: . "e By $IT/% . "e By $IT/% iii iii

(4)

NoSQL spatal NoSQL spatal

$Gee( #n" +o(e NoSQL 2011% $Gee( #n" +o(e NoSQL 2011%

i i

(5)

 Abstract 

 Abstract 

The relatonal "aa !o"el is no !ore han 0 years ol". I3s goo" or ery "i4eren scenarios an" can The relatonal "aa !o"el is no !ore han 0 years ol". I3s goo" or ery "i4eren scenarios an" can han"le cerain ypes o "aa ery ell. B' i isn3 perec. #n increasing n'!5er o non6relatonal syse!s han"le cerain ypes o "aa ery ell. B' i isn3 perec. #n increasing n'!5er o non6relatonal syse!s are 5eing or(e" on, collectely calle" he 3NoSQL !oe!en3. NoSQL is an '!5rella er! or a loosely are 5eing or(e" on, collectely calle" he 3NoSQL !oe!en3. NoSQL is an '!5rella er! or a loosely "efne" class o non6relatonal "aasores an" 5es "escri5e" as 3No only SQL3. 78a!ples are Google3s "efne" class o non6relatonal "aasores an" 5es "escri5e" as 3No only SQL3. 78a!ples are Google3s BigTa5le an" #!a9on3s *yna!o. These syse!s !ay proi"e a"anages oer relatonal "aa5ases, 5' BigTa5le an" #!a9on3s *yna!o. These syse!s !ay proi"e a"anages oer relatonal "aa5ases, 5' generally lac( he relatonal ro5'sness or hose a"anages.

generally lac( he relatonal ro5'sness or hose a"anages.

In an a:e!p o !o"esly conri5'e o he c'rren research in he fel" o geographical inor!aton In an a:e!p o !o"esly conri5'e o he c'rren research in he fel" o geographical inor!aton sys

syse!e!s, s, hihis s resresearearch ch repreporors s on on a a co!co!parparisoison n o o one s'ch one s'ch NoSQNoSQL L "a"aasasore calleore calle" " NeoNeo; ; iih h hehe ra"itonal relatonal "aa5ase +osgreSQL hen soring an" <'erying spatal ecor "aa. The goal o his ra"itonal relatonal "aa5ase +osgreSQL hen soring an" <'erying spatal ecor "aa. The goal o his s'"y as o "eer!ine heher a ra"itonal relatonal "aa5ase syse! li(e +osGIS, or a NoSQL syse!, s'"y as o "eer!ine heher a ra"itonal relatonal "aa5ase syse! li(e +osGIS, or a NoSQL syse!, s'ch as Neo;6Spatal, o'l" 5e !ore e4ecte as he 'n"erlying echnology or operatng -penSreeMap s'ch as Neo;6Spatal, o'l" 5e !ore e4ecte as he 'n"erlying echnology or operatng -penSreeMap "a

"aa. a. NeoNeo; ; is is an an e!5e!5e""e""a5la5le e gragraph ph "a"aa5asa5ase. e. 7!57!5e""e""a5la5le e 5ec5eca'sa'se e i i can can 5e 5e a""a""e" e" o o a a =a=aa6a65as5ase"e" applicaton an" 'se" ;'s li(e any oher li5rary, an" graph "aa5ase 5eca'se he "aa !o"el i 'ses o applicaton an" 'se" ;'s li(e any oher li5rary, an" graph "aa5ase 5eca'se he "aa !o"el i 'ses o e8press is "aa is a graph, soring no"es an" relatonships ha connec he!, s'pportng 'ser "efne" e8press is "aa is a graph, soring no"es an" relatonships ha connec he!, s'pportng 'ser "efne" propertes on 5oh consr'cs.

propertes on 5oh consr'cs.

M'ltple aspecs are o ineres hen co!paring spatal "aa5ase syse!s. The eal'aton !eho"ology M'ltple aspecs are o ineres hen co!paring spatal "aa5ase syse!s. The eal'aton !eho"ology "esigne" o co!pare he o, inoles 5oh o5;ecte !eas're!ens an" s'5;ecte !eas're!ens 5ase" "esigne" o co!pare he o, inoles 5oh o5;ecte !eas're!ens an" s'5;ecte !eas're!ens 5ase" on "oc'!enaton an" e8perience. The o5;ecte ess incl'"e processing spee" 5ase" on a pre"efne" se on "oc'!enaton an" e8perience. The o5;ecte ess incl'"e processing spee" 5ase" on a pre"efne" se o <'eries, "is( space re<'ire!ens, an" scala5iliy. S'5;ecte ess incl'"e !a'riy>leel o s'ppor, o <'eries, "is( space re<'ire!ens, an" scala5iliy. S'5;ecte ess incl'"e !a'riy>leel o s'ppor, sa5i

sa5iliy an" liy an" ease o ease o 'se. Meanhi'se. Meanhile, he le, he asseassess!enss!en  ra!era!eor( applie" or he or( applie" or he o5;eco5;ecte ess co'l" te ess co'l" 5e5e 'se

'se" " as as a a eses  s'is'ie e or or eeal'al'atnatng g he perohe peror!ar!ance an" nce an" relrelia5ia5iliiliy y o o ne spatane spatal l "a"aasasoreores. s. # # eses eniron!en hae 5een creae" 'sing he sa!e -penSreeMap "aa in 5oh he graph "aa5ase an" he eniron!en hae 5een creae" 'sing he sa!e -penSreeMap "aa in 5oh he graph "aa5ase an" he relat

relatonal "aa5ase. &hile onal "aa5ase. &hile he syse!s hae he syse!s hae 'n"a!'n"a!enaenal l "i4er"i4erencesences, , i"enti"entcal cal operatoperatons ons hae 5eenhae 5een "eelope" ha proi"es e<'al res'ls ro! "i4erenly si9e"

"eelope" ha proi"es e<'al res'ls ro! "i4erenly si9e" s'"y areas.s'"y areas.

egar"ing he o5;ecte !eas're!ens, he res'ls o his research sho ha he graph "aa5ase is egar"ing he o5;ecte !eas're!ens, he res'ls o his research sho ha he graph "aa5ase is !os 5enefcial hen <'eries can 5e e8presse" as raersals oer local regions o a graph. Q'eries ha are !os 5enefcial hen <'eries can 5e e8presse" as raersals oer local regions o a graph. Q'eries ha are ell6s'ie" o his approach are, or e8a!ple, shores pah analyses or connectiy <'eries. Bo'n"ing 5o8 ell6s'ie" o his approach are, or e8a!ple, shores pah analyses or connectiy <'eries. Bo'n"ing 5o8 <'eries ere aser on he relatonal "aa5ase. egar"ing he s'5;ecte !eas're!ens, Neo; proi"es a <'eries ere aser on he relatonal "aa5ase. egar"ing he s'5;ecte !eas're!ens, Neo; proi"es a lo o

lo o 'nct'nctonalionaliy. Transacty. Transacton s'ppor is on s'ppor is a elco!e a""iton an" here are n'!ero's ays o a elco!e a""iton an" here are n'!ero's ays o e8ec'e8ec'ee <'eries, or insance 'sing =aa, /QL or a geopipeline. The "aa5ase !o"el is sche!a6less an" allos <'eries, or insance 'sing =aa, /QL or a geopipeline. The "aa5ase !o"el is sche!a6less an" allos a"

a""it"itonons s or or a"a";';'ss!e!enns s o o hhe e scschehe!a !a iihho'o'  anany y !a!a;o;or r i!i!papac c on on hhe e "a"aa a !o!o"e"el. l. #s #s a a =a=aaa co!

co!ponponenen, , i i is is relrelatately ely easeasy y o o i!pi!ple!le!enen  NeoNeo;6;6SpatSpatal al as as an an e!5e!5e""e""e" e" co!co!ponponen in en in any any =a=aaa progra!. +osgreGIS is 5y ar he !ore !a're "aa5ase ih a lo o 'nctonaliy, "oc'!enaton an" progra!. +osgreGIS is 5y ar he !ore !a're "aa5ase ih a lo o 'nctonaliy, "oc'!enaton an" s'ppor.

s'ppor.

-erall, his research shos ha, in so!e cases, Neo; sho'l" 5e consi"ere" as an alernate or -erall, his research shos ha, in so!e cases, Neo; sho'l" 5e consi"ere" as an alernate or speci

specifc as(s. # fc as(s. # 5'ye5'yer3s g'i"e has r3s g'i"e has 5een creae5een creae" in " in he or! o he or! o a a ??o "iagra! o o "iagra! o "eci""eci"e heher Neo;6e heher Neo;6 Spatal or +osGIS is s'ia5le or a pro;ec. The o echnologies, relatonal "aa5ases an" non6 relatonal Spatal or +osGIS is s'ia5le or a pro;ec. The o echnologies, relatonal "aa5ases an" non6 relatonal "aa5ase, ill re!ain in 'sage si"e 5y si"e, each ih he perec f or is on capa5ilites.

"aa5ase, ill re!ain in 'sage si"e 5y si"e, each ih he perec f or is on capa5ilites. Keywords

Keywords GIS, Geo, "aa5ases, NoSQL, Neo;, +osgreSQL,  GIS, Geo, "aa5ases, NoSQL, Neo;, +osgreSQL, !eas're!ens.!eas're!ens.

 

(6)

NoSQL spatal NoSQL spatal

i i

(7)

 Acknowledgement

 Acknowledgementss

This is a Maser hesis on a NoSQL syse! calle" Neo;, is capa5ilites, a"anages an" "isa"anages hen This is a Maser hesis on a NoSQL syse! calle" Neo;, is capa5ilites, a"anages an" "isa"anages hen 'sing i o sore an" <'ery -penSreeMap "aa. This s'"y an" research as(s sare" in ='ly 2011 an" 'sing i o sore an" <'ery -penSreeMap "aa. This s'"y an" research as(s sare" in ='ly 2011 an" ere co!plee" in May 2012.

ere co!plee" in May 2012. @irs o all, I

@irs o all, I o'l" li(e o hano'l" li(e o han( !y ( !y s'pes'perisor &il(risor &il(o Q'a( or sharing ih !e his ies an" i"eas on heo Q'a( or sharing ih !e his ies an" i"eas on he hesis. Ao'r co!!ens hae helpe

hesis. Ao'r co!!ens hae helpe" !e o creae his fnal pro"'c. @'rher!ore, I an o han( proessor" !e o creae his fnal pro"'c. @'rher!ore, I an o han( proessor +eer an -osero! or his critcal re!ar(s an" or proi"ing "o9ens o 'se'l liera're.

+eer an -osero! or his critcal re!ar(s an" or proi"ing "o9ens o 'se'l liera're.

I has 5een har" or( ih t!e con?ics 5eeen or(6lie, s'"y6lie an" so!et!es a personal lie, 5' I I has 5een har" or( ih t!e con?ics 5eeen or(6lie, s'"y6lie an" so!et!es a personal lie, 5' I en;oye" eery 5i o !y research. I o'l" li(e o han( !y parens, &ille! an" +era Baas, or all he en;oye" eery 5i o !y research. I o'l" li(e o han( !y parens, &ille! an" +era Baas, or all he s'ppor hey hae gien !e "'ring he entre "'raton o GIM# an" o co'rse Maaren 'ls(e!per or his s'ppor hey hae gien !e "'ring he entre "'raton o GIM# an" o co'rse Maaren 'ls(e!per or his 5ig t!e s'ppor in i!proing !y 7nglish gra!!ar. @inally, special han(s goes o !y girlrien" *aphne "e 5ig t!e s'ppor in i!proing !y 7nglish gra!!ar. @inally, special han(s goes o !y girlrien" *aphne "e Groo or her loe an" patence an" her neer ailing a5iliy o !a(e !e rela8 hich !a"e ha I neer los Groo or her loe an" patence an" her neer ailing a5iliy o !a(e !e rela8 hich !a"e ha I neer los !otaton. !otaton. Bes egar"s, Bes egar"s, Bar Baas Bar Baas ii ii

(8)

NoSQL spatal NoSQL spatal

Table of Contents

Table of Contents

 #5srac...  #5srac...   #c(nole"ge!ens...  #c(nole"ge!ens...i...i ii  Lis o

 Lis o #55reiatons...#55reiatons...8i...8i 1

1 Inro"'cton...Inro"'cton... 11 1.1

1.1 +ro5le! "es+ro5le! "escripton...cripton... 11  1.2

 1.2 esearch o5;ectesesearch o5;ectes...C...C  1.2.1

 1.2.1 esearch <'estonsesearch <'estons...C...C 1.2.2 1.2.2 *eliera5les...*eliera5les... CC 1.2.C Scope... 1.2.C Scope... CC 1.C 1.C Meho"ology...Meho"ology...   1.

 1. ea"ing g'i"eea"ing g'i"e... DD 2

2 NoSQL...NoSQL...E...E  2.1

 2.1 NoSQL !o"elNoSQL !o"el...E...E  2.1.1

 2.1.1 /onsisency, aaila5iliy /onsisency, aaila5iliy an" partton an" partton olerance...olerance... FF 2.1.2

2.1.2 Q'erying...Q'erying... 1010 2.2

2.2 /o!parison.../o!parison... 1010  2.2.1

 2.2.1 /o'ch*B ih /o'ch*B ih Geo/o'ch e8ensionGeo/o'ch e8ension... 1111 2.2.2

2.2.2 Mongo*B Mongo*B ih ih geohashing...geohashing... 1111  2.2.C

 2.2.C Neo; ih he spatal pl'ginNeo; ih he spatal pl'gin...11...11 2.2. /o

2.2. /oncl'sion...ncl'sion... 1212 C

C /oncep'al /oncep'al ra!eor(...ra!eor(... 1C1C C.1

C.1 #ssess!en #ssess!en syse!...syse!... 1C1C C.2 C.2 7niron!en...7niron!en...1...1  C.2.1 Soare...1  C.2.1 Soare...1 C.2.2 C.2.2 *aases...*aases... 1H1H C.2.C C.2.C ar"are...ar"are... 11 C.C C.C Tess...Tess... 11 C.C.1

C.C.1 Scale regionsScale regions... 11  C.C.2

 C.C.2 Spatal 5o'n"ing 5o8 Spatal 5o'n"ing 5o8 co'n operatons $B%co'n operatons $B%...20...20  C.C.C

 C.C.C Spatal 5o'n"ing 5o8 ge operatons Spatal 5o'n"ing 5o8 ge operatons $G%...$G%...20...20  C.C.

 C.C. /loses poin /loses poin operatons $/%operatons $/%... 2020  C.C.D

 C.C.D Shores pah Shores pah operatons $+%operatons $+%... 2121  

  Neo; inernalsNeo; inernals...2C...2C .1

.1 Graph Graph heory...heory... 2C2C .2

.2 Neo;...Neo;... 2D2D .2.1

.2.1 No"es No"es an" elatonshipsan" elatonships... 2D2D  .2.2

 .2.2 *aa operaton...*aa operaton...2H...2H .2.C

.2.C @ile @ile sorage...sorage... 2H2H D

D I!ple!enaton...I!ple!enaton... 2F2F D.1

D.1 7niron!en 7niron!en confg'raton...confg'raton... 2F2F D.1.1

D.1.1 Neo; Neo; "ash5oar"..."ash5oar"... 2F2F D.1.2

D.1.2 +osGIS +osGIS "ash5oar"..."ash5oar"... C1C1 D.2

D.2 *aa *aa sr'c're...sr'c're... C2C2 D.2.1 D.2.1 Geography...Geography... C2C2 D.2.2 Neo;... D.2.2 Neo;... C2C2   D.2.C +osGIS...CE   D.2.C +osGIS...CE D.C

D.C Geo!ery Geo!ery "issi!ilarites..."issi!ilarites... CFCF D.

D. o'tng o'tng opology...opology... 22 D.D

D.D Tess...Tess... DD D.D.1

D.D.1 7!py 7!py operaton...operaton... DD  D.D.2

 D.D.2 Tes B J 5o'n"ing Tes B J 5o'n"ing 5o8 co'n...5o8 co'n...H...H iii

(9)

 D.D.C

 D.D.C Tes G J Tes G J 5o'n"ing 5o8 ge5o'n"ing 5o8 ge...H...H  D.D.

 D.D. Tes / J Tes / J closes no"ecloses no"e... EE  D.D.D

 D.D.D Tes + J Tes + J shores pah...shores pah...... H

H Meas're!ens...Meas're!ens...D1...D1 H.1

H.1 -5;ecte -5;ecte !eas're!ens...!eas're!ens... D1D1  H.1.1

 H.1.1 Soring -SM "aaSoring -SM "aa...D1...D1  H.1.2

 H.1.2 /reatng a /reatng a ro'tng neor( ro'tng neor( opology...opology... D2D2 H.1.C

H.1.C Spatal operatonsSpatal operatons...D...D CC H.1.

H.1. )p6scaling...)p6scaling... DD  H.2

 H.2 S'5;ecte !eas're!S'5;ecte !eas're!ens...ens...DD...DD  H.2.1

 H.2.1 Ma'riy an" Ma'riy an" leel o leel o s'ppor...s'ppor... DDDD H.2.2

H.2.2 Sa5iliy...Sa5iliy... DHDH H.2.C

H.2.C )sa5iliy...)sa5iliy... DHDH H.C

H.C Neo; Neo; ers's ers's +osGIS...+osGIS... DD E

E /oncl'sions.../oncl'sions... H1H1  E.1

 E.1 &rapping 'p&rapping 'p...H1...H1 E.2

E.2 @''re @''re research...research... HCHC eerences...

eerences... HH #ppen"ices...

#ppen"ices... #ppen"i8 I

#ppen"i8 I Breer3s $/#+% Breer3s $/#+% Theore!...Theore!... #ppen"i8 II

#ppen"i8 II Graph inernaGraph inerna ls...ls... #ppen"i8 III Neo;

#ppen"i8 III Neo; -SM "aa sr'c'r-SM "aa sr'c'r e...e... #ppen"i8 IK +osGIS

#ppen"i8 IK +osGIS -SM a5le sr'c're...-SM a5le sr'c're... #ppen"i8 K

#ppen"i8 K Maen po! fleMaen po! fle... #ppen"i8 KI -SM

#ppen"i8 KI -SM i!por "i4erences...i!por "i4erences... #ppen"i8 KII

#ppen"i8 KII -SM e<'al -SM e<'al geo!eries...geo!eries... #ppen"i8 KIII

#ppen"i8 KIII *ea'l.syle fle...*ea'l.syle fle... #ppen"i8 I Neo;

#ppen"i8 I Neo; Syleea"er class...Syleea"er class... #ppen"i8  Neo;

#ppen"i8  Neo; -SMI!porer $i!proe"%...-SMI!porer $i!proe"%... #ppen"i8 I /reat

#ppen"i8 I /reat ng ro'e opolong ro'e opolo gy...gy... #ppen"i8 II

#ppen"i8 II Neor(s...Neor(s... #ppen"i8 III So'rce

#ppen"i8 III So'rce co"e, G)I3s par...co"e, G)I3s par... #ppen"i8 IK So'rce

#ppen"i8 IK So'rce co"e ess...co"e ess... #ppen"i8 K es'ls

#ppen"i8 K es'ls o he operao he opera tons...tons... #ppen"i8 KI

#ppen"i8 KI Ta5les o Ta5les o !eas're!ens...!eas're!ens... #ppen"i8 KII Me!ory

#ppen"i8 KII Me!ory !eas're!ens Neo;...!eas're!ens Neo;...

List of Tables

List of Tables

Ta5le 1 Inp' coor"inaes 5o'n"ing 5o8

Ta5le 1 Inp' coor"inaes 5o'n"ing 5o8 operaton $&GS%...operaton $&GS%... 2020 Ta5le 2 Inp' coor"inaes closes poin operaton $&GS%...

Ta5le 2 Inp' coor"inaes closes poin operaton $&GS%... 2020 Ta5le C Inp' coor"inaes shores pah operaton operaton $&GS%...

Ta5le C Inp' coor"inaes shores pah operaton operaton $&GS%... 2121 Ta5le  Graph ypes $o"rig'e9 an" Ne'5a'er 2010%...

Ta5le  Graph ypes $o"rig'e9 an" Ne'5a'er 2010%... 22 Ta5le D #""itonal =KM para!eers or a

Ta5le D #""itonal =KM para!eers or a Neo; =aa serleNeo; =aa serle... C0C0 Ta5le H Neo;6Spatal layers "aa sr'c're

Ta5le H Neo;6Spatal layers "aa sr'c're... CDCD Ta5le E Neo;6Spatal "yna!ic layers "aa sr'c're...CD Ta5le E Neo;6Spatal "yna!ic layers "aa sr'c're...CD Ta5le  Neo;6Spatal geo!eries

Ta5le  Neo;6Spatal geo!eries "aa sr'c're..."aa sr'c're... CHCH Ta5le F Neo;6Spatal ays "aa sr'c're...CH Ta5le F Neo;6Spatal ays "aa sr'c're...CH Ta5le 10 Neo;6Spatal no"es "aa sr'c're...CH Ta5le 10 Neo;6Spatal no"es "aa sr'c're...CH Ta5le 11 Neo;6Spatal 'sers "aa sr'c're

Ta5le 11 Neo;6Spatal 'sers "aa sr'c're... CHCH Ta5le 12 Neo;6Spatal change6se "aa sr'c're...

Ta5le 12 Neo;6Spatal change6se "aa sr'c're... CECE Ta5le 1C +osGIS

Ta5le 1C +osGIS poin "aa sr'c're...Cpoin "aa sr'c're...C Ta5le 1 +osGIS linesring "aa sr'c're...

Ta5le 1 +osGIS linesring "aa sr'c're... CFCF Ta5le 1D +osGIS polygon "aa sr'c're...

Ta5le 1D +osGIS polygon "aa sr'c're... CFCF i8

(10)

NoSQL spatal NoSQL spatal Ta5le 1H +osGIS

Ta5le 1H +osGIS neor( "aa sr'c're...neor( "aa sr'c're... CFCF Ta5le 1E Inital res'ls i!portng -SM fle...

Ta5le 1E Inital res'ls i!portng -SM fle... 00 Ta5le 1 @inal res'ls i!portng -SM fle $Me"e!5li(%...2 Ta5le 1 @inal res'ls i!portng -SM fle $Me"e!5li(%...2 Ta5le 1F es'ls i!portng -SM

Ta5le 1F es'ls i!portng -SM fle...fle... D1D1 Ta5le 20 es'ls spatal operatons...DC Ta5le 20 es'ls spatal operatons...DC Ta5le 21 es'ls pri!ites Neo;

Ta5le 21 es'ls pri!ites Neo;... DD

List of code snippets

List of code snippets

Snippe 1 -penSreeMap fle...1H Snippe 1 -penSreeMap fle...1H Snippe 2 # s!all graph...

Snippe 2 # s!all graph... 2H2H Snippe C I!por -SM "aa...CC Snippe C I!por -SM "aa...CC Snippe  Bash scrip or -SM o +osGIS...

Snippe  Bash scrip or -SM o +osGIS... CC Snippe D /lose" line logic

Snippe D /lose" line logic $i!proper%...$i!proper%... 11 Snippe H /lose"

Snippe H /lose" line logic $proper%line logic $proper%... 11 Snippe E -SMI!porer !o"ifcat

Snippe E -SMI!porer !o"ifcat ons...ons...2...2 Snippe  /reae ro'tng neor( in

Snippe  /reae ro'tng neor( in =aa...=aa... CC Snippe F /reae a ro'tng neor( in SQL...

Snippe F /reae a ro'tng neor( in SQL...  Snippe 10 7!py operaton call =aa  SQL...D Snippe 10 7!py operaton call =aa  SQL...D Snippe 11 Bo'n"ing 5o8 co'n operatons =aa  SQL

Snippe 11 Bo'n"ing 5o8 co'n operatons =aa  SQL... HH Snippe 12 Bo'n"ing 5o8 ge operatons =aa  SQL

Snippe 12 Bo'n"ing 5o8 ge operatons =aa  SQL... EE Snippe 1C /loses poin operatons =aa  SQL... Snippe 1C /loses poin operatons =aa  SQL... Snippe 1 Shores pah operatons =aa  SQL...F Snippe 1 Shores pah operatons =aa  SQL...F Snippe 1D Neo; resoling a ransacton...DH Snippe 1D Neo; resoling a ransacton...DH

List of Figures

List of Figures

@ig're 1 The research process...

@ig're 1 The research process...  @ig're 2 The NoSQL

@ig're 2 The NoSQL a!ily $San(ar 2010%...a!ily $San(ar 2010%... EE @ig're C /#+  To no"es in a neor( $Brone 200F%

@ig're C /#+  To no"es in a neor( $Brone 200F%... FF @ig're  /#+  To no"es in a neor( !essaging

@ig're  /#+  To no"es in a neor( !essaging $Brone 200F%...$Brone 200F%... FF @ig're D /#+  To no"es in a neor( in practce $Brone 200F%

@ig're D /#+  To no"es in a neor( in practce $Brone 200F%... 1010 @ig're H igh leel assess!en syse!

@ig're H igh leel assess!en syse!... 11 @ig're E Neo; archiec're...1D @ig're E Neo; archiec're...1D @ig're  +osGIS archiec're...

@ig're  +osGIS archiec're...1...1 HH @ig're F #5o'

@ig're F #5o' he har"are...he har"are... 11 @ig're 10 -penSreeMap "aase 5o'n"aries...1F @ig're 10 -penSreeMap "aase 5o'n"aries...1F @ig're 11 # si!ple graph...

@ig're 11 # si!ple graph...2...2 CC @ig're 12 Graph ype !orphis! $o"rig'e9 an" Ne'5a'er 2010%...2 @ig're 12 Graph ype !orphis! $o"rig'e9 an" Ne'5a'er 2010%...2 @ig're 1C #n e8a!ple o a Neo; graph

@ig're 1C #n e8a!ple o a Neo; graph... 2D2D @ig're 1 Neo;

@ig're 1 Neo; fle sorage...fle sorage...2E...2E @ig're 1D Neo; "ash5oar"

@ig're 1D Neo; "ash5oar"... C0C0 @ig're 1H

@ig're 1H +osGIS "ash5oar"...+osGIS "ash5oar"...C2...C2 @ig're 1E Neo;3s high6leel "aa !o"el or -SM "aa $si!plife"%

@ig're 1E Neo;3s high6leel "aa !o"el or -SM "aa $si!plife"%... CCCC @ig're 1 Neo; ra

@ig're 1 Neo; ra "aa..."aa... CC @ig're 1F Inital i!por -SM "aa

@ig're 1F Inital i!por -SM "aa... 00 @ig're 20 o'tng

@ig're 20 o'tng opology #!ser"a!...opology #!ser"a!...  @ig're 21 Meas're!ens J i!portng -SM "aa...D2 @ig're 21 Meas're!ens J i!portng -SM "aa...D2 @ig're 22 Meas're!ens J creatng a ro'e opology...D2 @ig're 22 Meas're!ens J creatng a ro'e opology...D2 @ig're 2C Neo; !

@ig're 2C Neo; !e!ory ooprin...e!ory ooprin... DDDD @ig're 2 Neo; ers's +osGIS ?o "iagra!...DF @ig're 2 Neo; ers's +osGIS ?o "iagra!...DF

8 8

(11)

List of

List of Abbreviations

Abbreviations

So!e re<'enly 'se" a55reiae" er!s So!e re<'enly 'se" a55reiae" er!s #/

#/I*I* ##o!o!icic, , /o/onsnsisiseenn, , IsIsololaae"e", , *'*'rara5l5le.e. B#

B#S7S7 BaBasisicacalllly #y #aailila5a5lele, S, So o ssaae, e, 77enen''alally cly cononsisissenen.. /

/++)) //oo!!pp''eer r ++rroocceessssiinng g ))nnii.. /

/QQLL //oo!!!!oon Qn Q''eerry y LLaanngg''aaggee.. *

*BBMMSS **aaaaBBasase e MMaannaaggee!!eenn  SSyyssee!! 7/Q

7/QLL 7878en"en"e" /e" /o!!o!!on Qon Q'ery 'ery LangLang'ag'age. e. 7/Q7/QL eL e8e8en"s n"s he he li!li!iatiatons ons o /o /QL, QL, proproi"ii"ing ng a !a !ore ore ?e8?e8i5li5lee lang'age ih sronger si!ilarites ih SQL.

lang'age ih sronger si!ilarites ih SQL. 7+S

7+SGG 7'r7'ropeopean +ean +erolrole'! e'! S'rS'rey ey GroGro'p J 'p J hehey ary are he he a'e a'hohoriy riy or a or a lo lo o o he she spatapatal rel reereerence nce syssyse! e! 'se'se".". In SS heir initals are pref8e" as 7+SGi"O.

In SS heir initals are pref8e" as 7+SGi"O. G

GBB GGiiggaa55yyee.. G7

G7-S-S GeGeo!o!eery 7nry 7ngigine -ne -pepen Son So'rc'rce J he J he ene engigine 'sne 'se" oe" or !anr !any +osy +osGGIS a"IS a"aancnce" 'e" 'ncnctotonsns.. G

GII GGeeo o IInnoorr!!aattoonn.. GI

GIM#M# GeGeogograpraphihical cal InInoror!a!aton ton MaMananagege!e!en an an" #n" #ppppliclicatoatonsns, MS, MSc prc progogra!ra!!e!e.. G

GIISS GGeeooggrraapphhiic Ic Innoorr!!aattoon Sn Syyssee!!.. G

GiiSSTT GGeenneerraallii99ee" " SSeeaarrcch Th Trreeee.. GM

GMLL GeGeogograpraphy Mhy Mar(ar('p L'p Langang'ag'age, e, he he ML gML gra!ra!!a!ar "er "efnfne" 5e" 5y hy he -pe -pen Gen Geoeospspataatal /ol /onsnsorort'! t'! $-$-G/G/% o% o e8press geographical ea'res.

e8press geographical ea'res. G

G++LL GGeenneerraal l ++''55lliic c LLiicceennssee.. G)I

G)I Graphical Graphical )ser )ser Inerace.Inerace. G

G&&TT GGoooogglle e &&ee5 5 TTooooll((ii II>>-- IInnpp''>>--''pp'' I*7

I*7 Inegrae" Inegrae" *es(op *es(op 7niron!en.7niron!en. IITT IInnoorr!!aattoon n TTeecchhnnoollooggiieess..

M

MBB MMeeggaa55yyee.. No

NoSQSQLL NoNo - -nlnly Sy SQLQL, n, nonon6r6relelatatononal al "a"aaassorore.e.

--**@@ --ppeen n **oocc''!!eenn  @@oorr!!aa.. -G

-G// -p-pen Gen Geoeospspatatal /al /onsonsortort'! J s'! J saan"n"ar"ar"s 5os 5o"y "y or Gor Geoeospspatatal inal ineeroropepera5ra5iliiliy 5y 5eeeeen pen pro"ro"'c'css.. -SG

-SG7-7- -pe-pen Son So'rc'rce Gee Geospospatal atal @o'@o'n"an"aton J ton J inc'inc'5a5aor o or o !an!any opy open6sen6so'rco'rce proe pro;ec;ecs.s.

--SSMM --ppeennSSrreeeeMMaapp.. #M

#M an"o! #ccess Me!ory.an"o! #ccess Me!ory. *

*BMBMSS eelalatontonal al *a*aaa5as5ase e MaManagnage!e!enen  SySysse!e!.. 7ST

7ST 7presenatonal 7presenatonal Sae Sae Transer.Transer.

ss ThThe e sesecocon" n" $S$SI I 'n'ni i sysy!5!5olol  s% s% is is hhe Ie Innerernanatotonanal Sl Sysysee! ! o o )n)niis s $S$SI% I% 5a5ase se 'n'ni i o o t!t!e.e. S

SQQLL SSrr''cc''rree" " QQ''eerry y LLaanngg''aaggee.. S

SI*I* SpSpatatal eal eeerenrence Ice I"e"entntfefer, hr, his iis is hs he prie pri!a!ary (ery (ey in a spy in a spataatal rel reereerencnce sye sysse! ce! caaaalolog o opg o optontons.s. SS $

SS $i"%i"% Spatal Spatal eereneerence Syce Syse! se! J his J his is sis si!ilar i!ilar in conin concep cep o spo spatal "aatal "aa5ase a5ase SI*, SI*, i "ei "efnes fnes he che coor"inaoor"inaee syse!, pro;ecton an" "a'! o spatal "aa.

syse!, pro;ecton an" "a'! o spatal "aa. )

)MMLL ))nniiffee" " MMoo""eelliinng g LLaanngg''aaggee.. )

)NNII **eerriiee" " rroo!! UnicsUnics $)Niple8e" Inor!aton an" /o!p'tng Serice%. $)Niple8e" Inor!aton an" /o!p'tng Serice%. &GS

&GS &orl&orl" G" Geo"eo"etc etc SysSyse! e! J sJ sanan"ar" "ar" or or "ef"efninning gg geo"eo"etc etc "aa"aa, e, ellipllipsoisoi" a" an" n" geogeoi" i" !o"!o"els els haha i is s hehe o'n"aton o !any spatal reerence syse!s longi'"e an" lat'"e "aa 'sing a reerence ellipsoi". o'n"aton o !any spatal reerence syse!s longi'"e an" lat'"e "aa 'sing a reerence ellipsoi". Mos co!!only 'se" is &GS 1F.

Mos co!!only 'se" is &GS 1F. &PB

&PB &e&ell6ll6PnoPnon n BiBinarnary, y, as as spspececifife" e" 5y 5y -p-penenGIGIS S o o e8e8prepress ss spspatatal al o5o5;e;eccs.s. &P

&PTT &e&ellll6P6Pnonon Tn Te8e8, a, as ss spepecicifefe" 5y -" 5y -pepenGnGIS IS o e8o e8prpresess sps spatatal oal o5;5;ececss.. 

MMLL eeeennssii55lle e MMaarr((''p p LLaanngg''aaggee..

8i 8i

(12)

NoSQL spatal NoSQL spatal

8ii 8ii

(13)

1

1 ntroduction

ntroduction

I so!eone o'l" "escri5e a lan"scape, i is li(ely he person o'l" caegori9e i ino roa"s, fel"s, rees, I so!eone o'l" "escri5e a lan"scape, i is li(ely he person o'l" caegori9e i ino roa"s, fel"s, rees, 5'il"

5'il"ings or ings or rierriers an" s an" gies geogragies geographical reephical reerences li(e 3a";acrences li(e 3a";acen o3 or en o3 or 3o he righ 3o he righ o3 o o3 o "escr"escri5e hei5e he locato

locaton o n o he ea'rehe ea'res. I s. I is i!possiis i!possi5le or he 5le or he persoperson o n o "escr"escri5e all i5e all he "eailhe "eails o s o he lan"scahe lan"scape, hepe, he person gies an inerpreaton 5ase

person gies an inerpreaton 5ase" on his on ineress. The sa!e applies or "igit9ing a lan"scape i is" on his on ineress. The sa!e applies or "igit9ing a lan"scape i is i!possi5le o represen all he ea'res o a lan"scape in a co!p'er. Geographical "aa is a si!plife" i!possi5le o represen all he ea'res o a lan"scape in a co!p'er. Geographical "aa is a si!plife" represenaton o so!e aspecs o he real orl". *epen"ing on he 'se an" ineress, he "aa co'l" 5e represenaton o so!e aspecs o he real orl". *epen"ing on he 'se an" ineress, he "aa co'l" 5e ro

ro! ! reareally lly si!si!ple o ple o erery y co!co!pleple8. 8. $e$eyoyoo" o" e e al. 200H, al. 200H, chachapeper r 2 2 B'rB'rro'gro'gh h an" Mc*onan" Mc*onnelnell l 1FF1FF,, chaper 2%

chaper 2%

#s a 'ser o'l" "escri5e a lan"scape 5ase" on ineres, he ay e sore spatal "aa is also or a #s a 'ser o'l" "escri5e a lan"scape 5ase" on ineres, he ay e sore spatal "aa is also or a specifc p'rpose. This research "escri5es he li!iatons o ra"itonal "aa5ase sorage an" <'erying ro! a specifc p'rpose. This research "escri5es he li!iatons o ra"itonal "aa5ase sorage an" <'erying ro! a GI poin o ie. The consr'cton o a Geographic Inor!aton Syse! $GIS% 5ase" on a non6relatonal GI poin o ie. The consr'cton o a Geographic Inor!aton Syse! $GIS% 5ase" on a non6relatonal "aas

"aasore is ore is propospropose". So!e e". So!e s'cces'ccess'l real orl" ss'l real orl" e8a!pe8a!ples e8is an" les e8is an" pro!ipro!ise !ore se !ore ??e8i5ile8i5iliy "oingiy "oing operatons on he spatal ea'res. The !otaton or his approach ill 5e e8plaine" in he ne8 chaper. operatons on he spatal ea'res. The !otaton or his approach ill 5e e8plaine" in he ne8 chaper.

1!1

1!1 "roblem

"roblem description

description

@or

@or seseeeraral l "e"ecaca"e"es, s, hhe e !o!os s co!co!!o!on n "a"aa a ssororagage e !o!o"e"el l or or gegeogograraphphic ic "a"aa a anan" " asassosociaciae"e" a"!in

a"!inisratisrate "aa has e "aa has 5een he relaton5een he relatonal "aa al "aa !o"e!o"el. /o"" l. /o"" $1FE0% inro"'$1FE0% inro"'ce" his er! in ce" his er! in his paper 3#his paper 3# elatonal Mo"el o *aa or Large Share" *aa Ban(s3. Soare i!ple!entng his !o"el is calle" a elatonal Mo"el o *aa or Large Share" *aa Ban(s3. Soare i!ple!entng his !o"el is calle" a elatonal *aa5ase Manage!en Syse!, or *BMS, 5' he less sric er! 3relatonal "aa5ase3 is oen elatonal *aa5ase Manage!en Syse!, or *BMS, 5' he less sric er! 3relatonal "aa5ase3 is oen 'se" in is place. Sricly spea(ing, a relatonal "aa5ase is a se o a5les conaining "aa f:e" ino 'se" in is place. Sricly spea(ing, a relatonal "aa5ase is a se o a5les conaining "aa f:e" ino pre"efne" caegories. 7ach a5le conains one or !ore a:ri5'es in col'!ns. 7ach ro conains a 'ni<'e pre"efne" caegories. 7ach a5le conains one or !ore a:ri5'es in col'!ns. 7ach ro conains a 'ni<'e insance o "aa or he a:ri5'e "efne" 5y he col'!ns. )sers are a5le o access or reasse!5le he "aa insance o "aa or he a:ri5'e "efne" 5y he col'!ns. )sers are a5le o access or reasse!5le he "aa in "i4eren ays iho' haing o reorgani9e he "aa5ase a5les.

in "i4eren ays iho' haing o reorgani9e he "aa5ase a5les.

Beca'se o heir rich se o ea'res, <'ery capa5ilites an" ransacton !anage!en, *BMSs see! o Beca'se o heir rich se o ea'res, <'ery capa5ilites an" ransacton !anage!en, *BMSs see! o f al!os eery possi5le "aa5ase as(. B' heir ea're richness is also heir ea(ness. -n he hole, f al!os eery possi5le "aa5ase as(. B' heir ea're richness is also heir ea(ness. -n he hole, relat

relatonal "aa5asonal "aa5ases "o es "o a a goo" ;o5 in goo" ;o5 in sorinsoring g "aa, 5' here are so!e li!iaton"aa, 5' here are so!e li!iatons s $*e/a$*e/an"ia e al. n"ia e al. 200E200E Pi! an" Lochos(y 1FF, page 1EF%

Pi! an" Lochos(y 1FF, page 1EF% •• )p6scaling)p6scaling

&heneer a relatonal "aa5ase nee"s !ore sorage or co!p'er poer, i !'s 5e loa"e" on &heneer a relatonal "aa5ase nee"s !ore sorage or co!p'er poer, i !'s 5e loa"e" on a !ore poer'l co!p'er. &hen he "aa5ase "oes no f on one single co!p'er, i nee"s a !ore poer'l co!p'er. &hen he "aa5ase "oes no f on one single co!p'er, i nee"s o 5e "isri5'e" across !'ltple co!p'ers. elatonal "aa5ases are no "esigne" o 'ncton o 5e "isri5'e" across !'ltple co!p'ers. elatonal "aa5ases are no "esigne" o 'ncton ih "isri5'e" syse!s co!5ining !'ltple a5les across "i4eren c

ih "isri5'e" syse!s co!5ining !'ltple a5les across "i4eren c o!p'ers is "iRc'l an"o!p'ers is "iRc'l an" gies !osly a "ecrease in peror!ance.

gies !osly a "ecrease in peror!ance. •• +rogra!!e an" "aa5ase lang'ages+rogra!!e an" "aa5ase lang'ages

San"ar" Q'ery Lang'age $SQL% is a conenien lang'age o <'ery a relatonal "aa5ase. San"ar" Q'ery Lang'age $SQL% is a conenien lang'age o <'ery a relatonal "aa5ase. oeer, he Graphical )ser Inerace $G)I% in a co!p'er progra! is oen "eelope" in a oeer, he Graphical )ser Inerace $G)I% in a co!p'er progra! is oen "eelope" in a "i4eren lang'age, hich lea"s o all (in"s o conersion iss'es.

"i4eren lang'age, hich lea"s o all (in"s o conersion iss'es. •• *aa iho' a sche!a*aa iho' a sche!a

elatonal "aa5ases are goo" or sr'c're" "aa. @or e8a!ple, sales fg'res f ell in elatonal "aa5ases are goo" or sr'c're" "aa. @or e8a!ple, sales fg'res f ell in organi9e" a5les. )nsr'c're" "aa, s'ch as i!ages, or" "oc'!ens an" he "aa o social organi9e" a5les. )nsr'c're" "aa, s'ch as i!ages, or" "oc'!ens an" he "aa o social neor(ing sies are no ery s'ia5le or a *BMS eiher.

neor(ing sies are no ery s'ia5le or a *BMS eiher. The ne8 paragraphs gie a !ore in6"eph ie o hese li!iatons. The ne8 paragraphs gie a !ore in6"eph ie o hese li!iatons. Up-scaling

Up-scaling &i

&ih h he he grogroh h o o he he ininernerne, e, "is"isriri5'5'e" e" co!co!p'tp'tng ng 5ec5eca!e a!e !or!ore e an" an" !or!ore e 'se'se'l'l. . *is*isriri5'5'e"e"

1 1

(14)

NoSQL spatal NoSQL spatal

co!p'tng is a echni<'e in hich a as( is peror!e" 5y a collecton o neor(e" co!p'ers. The co!p'tng is a echni<'e in hich a as( is peror!e" 5y a collecton o neor(e" co!p'ers. The collecton !ay consis o co!p'er e<'ip!en in a single roo!, or co!p'ers a !'ltple locatons, 'sing collecton !ay consis o co!p'er e<'ip!en in a single roo!, or co!p'ers a !'ltple locatons, 'sing conentonal neor( echnology an" he Inerne. The i"ea is o increase oerall co!p'tng $processing% conentonal neor( echnology an" he Inerne. The i"ea is o increase oerall co!p'tng $processing% poer 5y co!5ining he poer o in"ii"'al co!p'ers, he syse! "eliers high processing poer 'sing poer 5y co!5ining he poer o in"ii"'al co!p'ers, he syse! "eliers high processing poer 'sing relately ine8pensie har"are. By sprea"ing co!p'er locatons, only a par o he processing poer ill relately ine8pensie har"are. By sprea"ing co!p'er locatons, only a par o he processing poer ill 5e re"'ce" in case a single co!p'er 5rea(s "on. # ell6(non e8a!ple o a "isri5'e" syse! is 5e re"'ce" in case a single co!p'er 5rea(s "on. # ell6(non e8a!ple o a "isri5'e" syse! is Google3s Mape"'ce $*ean an" Ghe!aa 200% o pro"'ce is in"e8 o he &orl" &i"e &e5.

Google3s Mape"'ce $*ean an" Ghe!aa 200% o pro"'ce is in"e8 o he &orl" &i"e &e5.

&hen i co!es o "esigning a "isri5'e" eniron!en, hree core syse!ic re<'ire!ens e8is in a &hen i co!es o "esigning a "isri5'e" eniron!en, hree core syse!ic re<'ire!ens e8is in a special relatonship /onsisency, #aila5iliy an" +artton6olerance $/#+%. This concep J calle" he /#+ special relatonship /onsisency, #aila5iliy an" +artton6olerance $/#+%. This concep J calle" he /#+ heore! J as frs inro"'ce" 5y 7ric Breer $2000% a he +-*/

heore! J as frs inro"'ce" 5y 7ric Breer $2000% a he +-*/11 conerence an" as laer or!ali9e" 5y conerence an" as laer or!ali9e" 5y Gil5er an" Lynch $2002%. +roo o he /#+ heore! is "isc'sse" in paragraph

Gil5er an" Lynch $2002%. +roo o he /#+ heore! is "isc'sse" in paragraph 2.1.1,2.1.1, page page  F F. #ccor"ing o. #ccor"ing o he heore!, a "isri5'e" syse! can satsy only o o hese g'aranees a he sa!e t!e, no all hree. he heore!, a "isri5'e" syse! can satsy only o o hese g'aranees a he sa!e t!e, no all hree. Tra"it

Tra"itonal relatonaonal relatonal l "aa"aa5ases all 5ases all 'n"e'n"er r he caegory /onsisehe caegory /onsisency an" ncy an" #aila#aila5iliy $/#% 5iliy $/#% heir s'!5liheir s'!5lingng 5loc( is a parttone" neor(. Ne (in"s o "aa5ases !a(e i possi5le o choose 5eeen /onsisency 5loc( is a parttone" neor(. Ne (in"s o "aa5ases !a(e i possi5le o choose 5eeen /onsisency $/+% an" #aila5iliy $#+%. 78a!ples are Google3s BigTa5le $/+%, Mongo*B $/+%, #!a9on3s *yna!o $#+%, $/+% an" #aila5iliy $#+%. 78a!ples are Google3s BigTa5le $/+%, Mongo*B $/+%, #!a9on3s *yna!o $#+%, Kol"e!or $#+%, Si!ple*B $#+%, /o'ch*B $#+%

Kol"e!or $#+%, Si!ple*B $#+%, /o'ch*B $#+% an" Ber(eley*B $/+%. #s he "eelop!en o hese "aa5asesan" Ber(eley*B $/+%. #s he "eelop!en o hese "aa5ases is consanly changing, his lis is no co!plee. $/hang e al.

is consanly changing, his lis is no co!plee. $/hang e al. 200 *e/an"ia e al. 200E%200 *e/an"ia e al. 200E% Program and dataase languages

Program and dataase languages

The !ain "i4erences 5eeen progra!!ing lang'ages can 5e e8plaine" 5y heir origins. In he co!p'er The !ain "i4erences 5eeen progra!!ing lang'ages can 5e e8plaine" 5y heir origins. In he co!p'er applicaton "eelop!en orl", o5;ec6oriene" progra!!ing !eho"s an" ools hae 5eco!e san"ar". applicaton "eelop!en orl", o5;ec6oriene" progra!!ing !eho"s an" ools hae 5eco!e san"ar". -5;ec6oriene" lang'ages li(e S!allal(, /, =aa or +yhon s'ppor he 5'il"ing o applicatons o' o -5;ec6oriene" lang'ages li(e S!allal(, /, =aa or +yhon s'ppor he 5'il"ing o applicatons o' o o5;

o5;ececs s haha  hahae e 5o5oh h "a"aa a an" an" 5eh5ehaiaior or $Pi$Pi! ! an" Lochoan" Lochos(y s(y 1F1FF, F, pagpage e D%. D%. elelatoatonal echnnal echnoloologiegiess s'ppor he sorage o "aa in a5les or relatonal sche!a. Manip'laton o "aa is "one ia a "eclarate s'ppor he sorage o "aa in a5les or relatonal sche!a. Manip'laton o "aa is "one ia a "eclarate progra!!ing lang'age li(e SQL, Lisp or SLT ha can 5e e8ec'e" 5oh inernally an" e8ernally ia sore" progra!!ing lang'age li(e SQL, Lisp or SLT ha can 5e e8ec'e" 5oh inernally an" e8ernally ia sore" proce

proce"'res"'res. #s . #s a res'l, a res'l, prograprogra! lang'age! lang'ages an" "aa5ase lang'as an" "aa5ase lang'ages are 5ase" on "i4ereges are 5ase" on "i4eren se!antn se!antcc o'n"atons an" opt!i9aton sraegies 1% The o5;ec6oriene" para"ig! is 5ase" on proen soare o'n"atons an" opt!i9aton sraegies 1% The o5;ec6oriene" para"ig! is 5ase" on proen soare engineering principles, 2% The relatonal para"ig! is 5ase" on proen !ahe!atcal principles. These engineering principles, 2% The relatonal para"ig! is 5ase" on proen !ahe!atcal principles. These "i4er

"i4erences are (non inor!ally as ences are (non inor!ally as 3I!pe3I!pe"ance !is!a"ance !is!ach3 ch3 $Maie$Maier r 1FF0%. To 1FF0%. To a a large e8enlarge e8en, , herhere e is anis an oerl

oerlap ap in he in he as(s progra!as(s progra!!ing lang'age!ing lang'ages s an" "aa5asean" "aa5ases s can peror!. can peror!. $Pi! an" $Pi! an" LochoLochos(y 1FF s(y 1FF /oo(/oo( an" I5rahi! 200H%

an" I5rahi! 200H% Inno

Innoate Graphicaate Graphical l )ser Inerac)ser Ineraces es $G)Is$G)Is% % allo non6proallo non6progra!!egra!!ers rs o o accesaccess s an" !anip'laan" !anip'lae e hehe recor"s in a "aa5ase. @ro! an en"6'ser3s pro"'ctiy poin o ie, i is consi"ere" a goo" practce o recor"s in a "aa5ase. @ro! an en"6'ser3s pro"'ctiy poin o ie, i is consi"ere" a goo" practce o "esign G)Is ha he non6echnical 'sers can e8ec'e ery co!ple8 <'eries iho' haing o (no ha "esign G)Is ha he non6echnical 'sers can e8ec'e ery co!ple8 <'eries iho' haing o (no ha happens a he 5ac(en". To co!5ine o5;ecs an" relatonal "aa5ases in s'ch an inerace, a "eeloper happens a he 5ac(en". To co!5ine o5;ecs an" relatonal "aa5ases in s'ch an inerace, a "eeloper nee"s o 'n"ersan" 5oh para"ig!s, an" heir "i4erences, an" hen !a(e inelligen ra"e6o4s 5ase" on nee"s o 'n"ersan" 5oh para"ig!s, an" heir "i4erences, an" hen !a(e inelligen ra"e6o4s 5ase" on ha (nole"ge. Mos iss'es o !apping "aa 5eeen "aa5ases en progra!!ing lang'ages hae largely ha (nole"ge. Mos iss'es o !apping "aa 5eeen "aa5ases en progra!!ing lang'ages hae largely 5een resole", 5' signifcan iss'es re!ain $/oo( an" I5rahi! 200H%.

5een resole", 5' signifcan iss'es re!ain $/oo( an" I5rahi! 200H%. Schema-less data

Schema-less data

)nsr'c're" "aa reer o inor!aton ha eiher "oes no hae a pre"e

)nsr'c're" "aa reer o inor!aton ha eiher "oes no hae a pre"efne" "aa !o"el an">or "oes nofne" "aa !o"el an">or "oes no f ell ino relatonal a5les. This res'ls in irreg'larites an" a!5ig'ites hich !a(e i "iRc'l o sore in f ell ino relatonal a5les. This res'ls in irreg'larites an" a!5ig'ites hich !a(e i "iRc'l o sore in ra"itonal relatonal "aa5ases. 7specially ih 'ser6"rien conen, i is "iRc'l o pre6conceie he e8ac ra"itonal relatonal "aa5ases. 7specially ih 'ser6"rien conen, i is "iRc'l o pre6conceie he e8ac sche!a o he "aa ha ill 5e han"le". )nor'naely, he relatonal !o"e

sche!a o he "aa ha ill 5e han"le". )nor'naely, he relatonal !o"el re<'ires 'pron sche!as an"l re<'ires 'pron sche!as an" !a(es i "iRc'l o f "yna!ic an" a"6hoc "aa. $&eglar9 200%

!a(es i "iRc'l o f "yna!ic an" a"6hoc "aa. $&eglar9 200%

1

1 +-*/ +-*/ is a conis a conerence ha erence ha oc'ses on oc'ses on research in research in he heory, he heory, "esign, sp"esign, specifcaton anecifcaton an" i!ple!enat" i!ple!enaton o "on o "isri5'e" sysisri5'e" syse!s.e!s. 2

(15)

1!#

1!# $esearc%

$esearc% ob&ectives

ob&ectives

The iss'e

The iss'es s "es"escricri5e" in 5e" in he preihe preio's o's secsecton are ton are "ri"riining g orgorganianisatsatons ons o o looloo( ( a a alalernernatates es o o hehe ra"itonal relatonal "aa5ase echnology. /ollectely, hese alernates hae 5eco!e (non as 3NoSQL ra"itonal relatonal "aa5ase echnology. /ollectely, hese alernates hae 5eco!e (non as 3NoSQL "aasores3. NoSQL "aasores !ay proi"e a"anages oer relatonal "aa5ases, 5' generally lac( he "aasores3. NoSQL "aasores !ay proi"e a"anages oer relatonal "aa5ases, 5' generally lac( he relatonal ro5'sness or hose a"anages. The ai! o his paper is o "iscoer so!e a"anages o a relatonal ro5'sness or hose a"anages. The ai! o his paper is o "iscoer so!e a"anages o a selece" NoSQL "aasore as co!pare" o a ra"itonal relatonal "aa5ase hen soring an" <'erying selece" NoSQL "aasore as co!pare" o a ra"itonal relatonal "aa5ase hen soring an" <'erying spata

spatal ecor "aa. The choice or he NoSQL l ecor "aa. The choice or he NoSQL "aas"aasore ill 5e par o ore ill 5e par o his pro;ehis pro;ec. @or co!parison o hec. @or co!parison o he relatonal !o"el, he open6so'rce pro;ec +osGIS ill 5e 'se". # !ain o5;ecte can 5e "efne" o reach relatonal !o"el, he open6so'rce pro;ec +osGIS ill 5e 'se". # !ain o5;ecte can 5e "efne" o reach his oerall goal i9.

his oerall goal i9.

Analy!e the advantages of a "oS#$ datastore for spa%al data as compared to a rela%onal datastore& Analy!e the advantages of a "oS#$ datastore for spa%al data as compared to a rela%onal datastore& The !ain o5;ecte is "ii"e" ino

The !ain o5;ecte is "ii"e" ino s'56o5;ectess'56o5;ectes

•• 78a!ine he echnical an" geographical capa5ilites o c'rren NoSQL spatally6aare "aasores78a!ine he echnical an" geographical capa5ilites o c'rren NoSQL spatally6aare "aasores an" consi"er a s'ia5le NoSQL syse! or his research

an" consi"er a s'ia5le NoSQL syse! or his research

•• I!ple!en an" r'n he chosen NoSQL an" +osgreSQL syse!s conaining he sa!e "aaI!ple!en an" r'n he chosen NoSQL an" +osgreSQL syse!s conaining he sa!e "aa •• 'n i"entcal spatal 5o'n"ing 5o8 operatons on 5oh "aa5ases'n i"entcal spatal 5o'n"ing 5o8 operatons on 5oh "aa5ases

•• 'n i"entcal shores pah operatons on 'n i"entcal shores pah operatons on 5oh "aa5ases5oh "aa5ases

•• /o!pare he res'ls o he operatons on /o!pare he res'ls o he operatons on he "i4eren "aa5aseshe "i4eren "aa5ases

•• /oncl'"e on he a"anages an" "isa"anages o soring spatal "aa in NoSQL./oncl'"e on he a"anages an" "isa"anages o soring spatal "aa in NoSQL.

1!#!1

1!#!1 $esearc% $esearc% 'uestions'uestions

I is clear ha he p'rpose o he o "aa5ase para"ig!s are "i4eren, 5' ho 'n"a!enal are he I is clear ha he p'rpose o he o "aa5ase para"ig!s are "i4eren, 5' ho 'n"a!enal are he "i4erences, an" ha a"anages can a NoSQL "aasore o4er oer a relatonal "aa5ase The research "i4erences, an" ha a"anages can a NoSQL "aasore o4er oer a relatonal "aa5ase The research o5;ectes, as "efne" a5oe, lea" o he

o5;ectes, as "efne" a5oe, lea" o he olloing research <'estonolloing research <'eston 'he

'hen n doedoes s a a "oS#"oS#$ $ datdatastoastore re for spa%al data for spa%al data proprovide clear vide clear advadvantantageages s comcomparpared ed to to a a relrela%oa%onalnal datastore(

datastore(

The !ain <'eston is "ii"e" ino

The !ain <'eston is "ii"e" ino s'56<'estonss'56<'estons

•• &hich NoSQL pro;ec co'l" 5e a goo" can"i"ae o co!pare ih +osGIS&hich NoSQL pro;ec co'l" 5e a goo" can"i"ae o co!pare ih +osGIS •• &ha are he echnical characeristcs o he chosen NoSQL "aasore&ha are he echnical characeristcs o he chosen NoSQL "aasore •• &ha are s'ia5le !eho"s o <'ery his NoSQL "aasore&ha are s'ia5le !eho"s o <'ery his NoSQL "aasore

•• To ha e8en is an in"e8 sr'c're s'ppore" or spatal "aa in he NoSQL "aasoreTo ha e8en is an in"e8 sr'c're s'ppore" or spatal "aa in he NoSQL "aasore •• o "o spatal 5o'n"ing 5o8 operatons peror! on 5oh "aa5aseso "o spatal 5o'n"ing 5o8 operatons peror! on 5oh "aa5ases

•• o "o shores pah operatons peror! on 5oh "aa5aseso "o shores pah operatons peror! on 5oh "aa5ases

•• &ha are he a"anages an" "isa"anages o soring spatal "aa in he chosen NoSQL "aasore&ha are he a"anages an" "isa"anages o soring spatal "aa in he chosen NoSQL "aasore

1!#!#

1!#!# (eliverables(eliverables

This research pro;ec has o !ain "eliera5les 1% The "esign an" i!ple!enaton o a NoSQL

This research pro;ec has o !ain "eliera5les 1% The "esign an" i!ple!enaton o a NoSQL syse! an"syse! an" a +osGIS syse!, conaining i"entcal spatal "aa an" i"entcal spatal operatons. So'rce co"e ill 5e a +osGIS syse!, conaining i"entcal spatal "aa an" i"entcal spatal operatons. So'rce co"e ill 5e p'5lishe" ia he online pro;ec hostng e5sie gih'5. 78periences 5'il"ing an" <'erying hese sores ill p'5lishe" ia he online pro;ec hostng e5sie gih'5. 78periences 5'il"ing an" <'erying hese sores ill sere as inp' or he scientfc repor. 2% Scientfc repor The repor "oc'!ens all aspecs o he sere as inp' or he scientfc repor. 2% Scientfc repor The repor "oc'!ens all aspecs o he liera're research, he "eelop!en o he operatonal "aasores, an"

liera're research, he "eelop!en o he operatonal "aasores, an" he es res'ls.he es res'ls.

1!#!)

1!#!) ScopeScope

This hesis oc'ses on ha ype o pro;ec co'l" 5enef ro! he a"anages o a NoSQL syse! oer a This hesis oc'ses on ha ype o pro;ec co'l" 5enef ro! he a"anages o a NoSQL syse! oer a relatonal syse!. I "eals ih iss'es o spatal operatons on a NoSQL "aasore an" he peror!ance i relatonal syse!. I "eals ih iss'es o spatal operatons on a NoSQL "aasore an" he peror!ance i

C C

(16)

NoSQL spatal NoSQL spatal

ill proi"e. /o!!on "aa5ase pro5le!s li(e scala5iliy an" cl'ser "isri5'ton o "aa5ase !anage!en ill proi"e. /o!!on "aa5ase pro5le!s li(e scala5iliy an" cl'ser "isri5'ton o "aa5ase !anage!en !ay 5e o'che" 'pon, 5' are no he s'5;ec or he goal o his research.

!ay 5e o'che" 'pon, 5' are no he s'5;ec or he goal o his research.

1!)

1!) *et%odolog+

*et%odolog+

In shor, his research is peror!e" 5y i!ple!entng a NoSQL "aasore an" co!paring i ih he ell6 In shor, his research is peror!e" 5y i!ple!entng a NoSQL "aasore an" co!paring i ih he ell6 (non +osGIS "aa5ase !anage!en syse! $*BMS% 'sing he sa!e "aa. This research is "ii"e" ino (non +osGIS "aa5ase !anage!en syse! $*BMS% 'sing he sa!e "aa. This research is "ii"e" ino o !ain pars a heoretcal par an" an e!pirical par. The heoretcal par consiss o liera're s'"y o o !ain pars a heoretcal par an" an e!pirical par. The heoretcal par consiss o liera're s'"y o 5oo(s, e5 pages an" ;o'rnal papers on he e

5oo(s, e5 pages an" ;o'rnal papers on he echnical aspecs o NoSQL. This is nee"e" o selec a s'ia5lechnical aspecs o NoSQL. This is nee"e" o selec a s'ia5le NoSQL "aasore or his research in he frs place. The selece" NoSQL "aasore is he s'

NoSQL "aasore or his research in he frs place. The selece" NoSQL "aasore is he s'5;ec o a !ore5;ec o a !ore in6"eph heoretcal s'"y aerar"s. Beca'se he opic is raher ne, so!e i(i an" 5log pages are also in6"eph heoretcal s'"y aerar"s. Beca'se he opic is raher ne, so!e i(i an" 5log pages are also i!p

i!pororan an so'so'rcerces s o o ininor!or!atoaton. n. The The e!pe!piriirical cal parpar  conconsississ s o o e8pe8pererienciences es an" an" eaeal'atl'atons ons o o hehe i!ple!enaton o he "aasores.

i!ple!enaton o he "aasores.

# frs, he c'rrenly aaila5le NoSQL "aasores ill 5e e8a!ine" in or"er o !a(e a

# frs, he c'rrenly aaila5le NoSQL "aasores ill 5e e8a!ine" in or"er o !a(e a proper selecton. Theproper selecton. The !ain "ecision acors in he "ecision are relia5iliy, c'rren spatal aareness o he syse!, a5iliy o sore !ain "ecision acors in he "ecision are relia5iliy, c'rren spatal aareness o he syse!, a5iliy o sore sc

schehe!a!a6l6lesess s "a"aaa, , anan" " hheeheher r hhe e prpro;o;ecec  is is opopenen6s6so'o'rcrce e or or nono. . ThThe e sysysse! e! hha a !e!eees s hhesesee re<'ire!ens 5es ill 5e chosen or

re<'ire!ens 5es ill 5e chosen or he research.he research.

#er selecton, he syse! chosen ill 5e analy9e" !ore in6"eph ih seeral aspecs in !in" he #er selecton, he syse! chosen ill 5e analy9e" !ore in6"eph ih seeral aspecs in !in" he "aa"aa !o"el $hich "efnes ho he syse! sores "aa%, he <'ery !o"el $hich e8a!ines he srengh o he !o"el $hich "efnes ho he syse! sores "aa%, he <'ery !o"el $hich e8a!ines he srengh o he <'ery lang'age$s% 'se"%, he consisency aspec $incl'"ing he ra"e6o4s !a"e in he process%, an" fnally <'ery lang'age$s% 'se"%, he consisency aspec $incl'"ing he ra"e6o4s !a"e in he process%, an" fnally 

Figure 1: The research process Figure 1: The research process

(17)

ail're han"ling $ho he "aasore han"les ario's ypes o ail'res, li(e 'ser process ail'res an"

ail're han"ling $ho he "aasore han"les ario's ypes o ail'res, li(e 'ser process ail'res an" neor(neor( pro5le!s%. To "iscoer he a"anages o a NoSQL !o"el co!pare" o a ra"itonal relatonal !o"el, he pro5le!s%. To "iscoer he a"anages o a NoSQL !o"el co!pare" o a ra"itonal relatonal !o"el, he heoretcal par ill also "escri5e he concep'al ra!eor( ha ill 5e 'se" o peror! a air co!parison heoretcal par ill also "escri5e he concep'al ra!eor( ha ill 5e 'se" o peror! a air co!parison 5eeen he o.

5eeen he o.

The e!pirical par ill "escri5e he echnical "eails o he "esign, i!ple!enaton an" eal'aton o he The e!pirical par ill "escri5e he echnical "eails o he "esign, i!ple!enaton an" eal'aton o he "aase 'sing he NoSQL "aasore. The spatal 'nctonaliy o4ere" 5y 5oh relatonal an" non6relatonal "aase 'sing he NoSQL "aasore. The spatal 'nctonaliy o4ere" 5y 5oh relatonal an" non6relatonal syse!s "i4ers signifcanly in er!s o aaila5le ea'res, r'e geo"etc s'ppor, spatal 'nctons an" syse!s "i4ers signifcanly in er!s o aaila5le ea'res, r'e geo"etc s'ppor, spatal 'nctons an" in"e8

in"e8ing. Bench!aring. Bench!ar(s play (s play a cr'cial role a cr'cial role in eal'atnin eal'atng g he 'nctonahe 'nctonaliy an" liy an" peroperor!ance o a r!ance o a partcpartc'lar'lar "a

"aasasore ore or or 5o5oh h "e"eeloeloperpers s an" an" en"en"6's6'sersers. . TheTherereoreore, , a a 5en5ench!ch!ar( ar( ilill l 5e 5e 'se'se" " o o eaeal'al'ae e hehe srenghs o he NoSQL "aasore. This par o he repor incl'"es he preprocessing o he "aa a

srenghs o he NoSQL "aasore. This par o he repor incl'"es he preprocessing o he "aa a n" se'pn" se'p o he es !achines an" he res'ls o he 5ench!ar(. The heoretcal par sho'l" gie eno'gh inp' o o he es !achines an" he res'ls o he 5ench!ar(. The heoretcal par sho'l" gie eno'gh inp' o !a(e a prooype NoSQL "aasore. #n ierate an" incre!enal "eelop!en approach ill 5e 'se" o !a(e a prooype NoSQL "aasore. #n ierate an" incre!enal "eelop!en approach ill 5e 'se" o creae "i4eren prooypes an" eriy he "esign phase as soon as possi5le. @inally, in case hen i is creae "i4eren prooypes an" eriy he "esign phase as soon as possi5le. @inally, in case hen i is possi5le o <'ery he "aasore, he res'ls are co!pare" ih he +osGIS "aa5ase res'ls r'nning he possi5le o <'ery he "aasore, he res'ls are co!pare" ih he +osGIS "aa5ase res'ls r'nning he sa!e "aa.

sa!e "aa.

1!,

1!, $eading

$eading guide

guide

The re!ain"er o his "oc'!en is sr'c're" as ollos /haper 2 coers he NoSQL !oe!en /haperC The re!ain"er o his "oc'!en is sr'c're" as ollos /haper 2 coers he NoSQL !oe!en /haperC "eai

"eails he ls he "esi"esign gn o he o he asseassess!enss!en  syssyse! /haper  e! /haper  coercoers s grapgraph h 5asics5asics, ho , ho graphs are <'erie" an"graphs are <'erie" an" persise", an" heir applicatons /haper D "eails he i!ple!enaton o he assess!en syse! /haper persise", an" heir applicatons /haper D "eails he i!ple!enaton o he assess!en syse! /haper H

H presepresens he res'ls o ns he res'ls o he !eas'rehe !eas're!en!ens, incl'"ing a s, incl'"ing a shor assesshor assess!en g'i"es!en g'i"e  an" an" ffnally /hapnally /haper Eer E proi"es he concl'sions.

proi"es he concl'sions.

Inerese" rea"ers are enco'rage" o "ele ino he

Inerese" rea"ers are enco'rage" o "ele ino he eerenceseerences secton on pagesecton on page H H o fn" !ore reerenceso fn" !ore reerences on hese opics, o engage in heir on research e4ors o 'n"ersan" he characeristcs o hese syse!s on hese opics, o engage in heir on research e4ors o 'n"ersan" he characeristcs o hese syse!s in he cone8 o heir on or(.

in he cone8 o heir on or(.

The -penSreeMap "aa !o"el consiss o 5asic ele!ens hich are eiher a

The -penSreeMap "aa !o"el consiss o 5asic ele!ens hich are eiher a NodeNode,, Way Way ,, RelatonRelaton or or TagTag.. In his

In his reporrepor  he -SM6spehe -SM6specifc "aa cifc "aa pri!pri!ites are 'rher reerreites are 'rher reerre" " o capiali9eo capiali9e" " o aoi" con'sion iho aoi" con'sion ih generic graph ele!ens or plain lang'age.

generic graph ele!ens or plain lang'age. In his or(, NoSQL syse!s are reerre" o

In his or(, NoSQL syse!s are reerre" o daasoresdaasores, since he er! 3"aa5ase syse!3 is i"ely 'se" o, since he er! 3"aa5ase syse!3 is i"ely 'se" o reer o ra"itonal *BMSs. #s he !ore general er! 3"aasore3 also incl'"es ?a fles ha can sore "aa, reer o ra"itonal *BMSs. #s he !ore general er! 3"aasore3 also incl'"es ?a fles ha can sore "aa, in he scope o his research, he e8pression 3"aa5ase3 ill 5e 'se" o reer o he sore" "aa in Neo; an" in he scope o his research, he e8pression 3"aa5ase3 ill 5e 'se" o reer o he sore" "aa in Neo; an" +osgreSQL.

+osgreSQL.

D D

(18)

References

Related documents

Here I centre the British young adult novel Hero (Johnson, 2001) to trace how the mixed race tomboy protagonist emerges from the margins of the tomboy canon, suggesting that non

In this paper we proposed a methodology to estimate first-order or closed second-order grouped Sobol’ indices using replicated designs to handle groups of dependent inputs. In

Figure 7 presents the energy gain that can be achieved in the period of one year for a building façade installation with the tilt angle of 75 in comparison to a standard

.001), and there was no statistically significant difference between the mean keratometric values (P &gt; .5). ● CONCLUSIONS: The corneal power measurements for intraocular lens

Moreover, DATE key features include also the capability to handle a large amount of data since it manages to process different images in a sequential and totally automatic

In this context, the ANCIENT CHARM (Analysis by Neutron resonant Capture Imaging and other Emerging Neutron Techniques: new Cultural Heritage and Archaeological Research

Sugarcane leaves with mosaic symptoms were collected in 2006–07 in Tucumán (Argentina) and analyzed by reverse-transcriptase polymerase chain reaction (RT-PCR) restriction

The SAR compound NaSA and its functional analogue BTH (Bion) were also ineffective compared to BABA. In growth chambers, BABA was effective when applied as a foliar spray or as a