Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
!"#$%&'()*+*,-./0 1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**>
!"#$%&'()*+#($&#$&,-(./&011-#)*+#($"&2#+3&45+3($6&7(/89:"6&*$/&;(<8
?&=2*@2=272?56&"%*A&%53)"%*":*B6'&655%&6'1%2345*?#2)&24*267*C%2#(*A5=54"#D56)
!"6:&756)&24*E 1%2345*F6)5%6248@59)%&3)578G&'(4$*@59)%&3)57
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Overview
• Oracle REST Data Services (ORDS)• Node.js• Python
Confidential – Oracle Internal/Restricted/Highly Restricted 2
Enabling Spatial Analytics in Cloud applications
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**>
!"#$%&'()#*+#%'#,-'."#)/'! 012*'3+-&%4562&-'()#*+#%'-#*#7#2&! 8#"*'19'!"#$%&':#*#7#2&';(&$6"&<'/+=/')&"91">#,$&<'2$#%#7%&! !)*+>+?&-'91"'@A#-#*#! B&C&"#=&2'&A+2*+,='2D+%%2';(EB<'F#C#<'#,-'G0B! @#24'*1')"1="#>'62+,=',&3'2$"+)*+,='#,-'1*/&"'$%16-'&,#7%&-'%#,=6#=&2'! (+>)%&"<'>1"&'2$#%#7%&'#))%+$#*+1,2
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**>
!2)5'"%&?2)&"6*267*:&4)5%&6'*@2957*"6*4"32)&"6*267*#%"A&B&)$
C%5#2%2)&"60*=24&72)&"6*267*345269&6'*":*D#2)&24*267*E29)5%*72)2
F&9G24&?&6'*267*7&9#42$&6'*%59G4)9*"6*2*B2#
D#2)&24*HG5%$&6'*267*2624$9&9*":*I27""# 72)2*J&)(*DKL
M2)2*I2%B"6&?2)&"6*G9&6'*26$*4"32)&"6*2))%&@G)5*N277%5990*#"9)24*3"750*42)84"6'0*#423562B50*5)3O;
1%2345*P&'*M2)2*D#2)&24*267*Q%2#(!"#$%#$%&'()*+#($&*$*',+#)-&+(&.*/((0&*$/&1(234&0'*+5("6-
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Oracle REST Data Services (ORDS)
Confidential – Oracle Internal/Restricted/Highly Restricted 5
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**>
?#2)&24*@&)(*1%2345*A59)*B2)2*?5%=&359*C1AB?D
! E2=2*E,FF*G&7*)&5%*2##4&32)&"6" <49"*9H##"%)9*I?)26724"65J*G"75*:"%*75=54"#G56)
! K"%*&6#H)0*G2#98L&679*MAN*)"*?OP*267*QP8?OP
! K"%*"H)#H)0*)%269:"%G9*%59H4)9*)"*E?1R*267*")(5%*:"%G2)9
! ?(	*@&)(*1%2345*B2)2L295*267*?OP*B5=54"#5%!"6:&756)&24*S 1%2345*N6)5%6248A59)%&3)578T&'(4$*A59)%&3)57 U
!"#$%!&'(&)'*
1%2345*AF?V*B2)2*?5%=&359TVVQC?D*34&56) 1%2345*B2)2L295
?OPW2#*X*Y&67MAN
E?1R V%269:"%G*)"*E?1R ?OP*A59H4)*?5)
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**>
1%2345*?@AB*C2)2*A5%=&359DBBEF9G*<EH*<##IC5= J&)(*?542)&"624*B2K459*&6*1%2345*C2)2K295
L**M3N9)6"OP**.--.0M62Q5OP***MA3"))*R&6'O0M277%599OP**MS--*T2&6*9)%55)0*H66"=2)&"6*!<O0M"%75%9OP*U*L*M"%75%6"OP**V-V0
M"%75%72)5OP*MW5K*,X0*,-.VO0M9)2)N9OP*M&6*#%"3599OY*Y*Y*
L*M"%75%6"OP**Z-Z0M"%75%72)5OP*MW5K*,[0*,-.VO0M9)2)N9OP*M&6*#%"3599OY*\*Y
]A1^
DBBEF9G
())#9P88Q$("9)8"%798(%83N9)"Q5%"%75%98.--.1%2345*?@AB
C2)2*A5%=&359A_`
1?CA*Q2#9*9)2672%7*a?H*%5bN59)9*)"*3"%%59#"67&6'*%542)&"624*A_`*F6")*93(5Q24599GP*5;';*A_`*A@`@!B*:%"Q*3N9)"Q5%9*267*"%75%9*)2K45;1?CA*249"*)%269:"%Q9*)(5*A_`*%59N4)9*&6)"*)(5*(&'(4$*#"#N42%*]2=2A3%&#)*1Kc53)*^")2)&"6*F]A1^G0*")(5%*:"%Q2)9*&634N75*DBT`0*K&62%$*267*!Ad;
WN44$*3"QQ&))57*)"*9N##"%)&6'*26$*267*244*9)2672%79*%5bN&%57*K$*WN9&"6*8*A22A 8*WTef*J5*2%5*23)&=54$*56'2'57*&6*)(5*"6'"&6'*7&24"';
A_`*%59N4)*)"*]A1^*
)%269:"%Q2)&"6
a?H*?5bN59)*"%*DBBEF9G*#"9)*Q2##57*)"*A_`*%5bN59)
]Cg!*!"6653)&"6*
E""4
1%2345*C2)2K295
a?H* T"7N45
83N9)"Q5%"%75%98.--.
B5Q#42)5
83N9)"Q5%"%75%98.--.
B5Q#42)5!"6)5h)*?"")
"%79
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Spatial with Oracle Rest Data Services (ORDS)
• Create REST endpoints for tables and views with geometries
• Create REST endpoints for Spatial queries and procedures
• Create REST endpoints wrapped as GeoJSON
• Programming through PL/SQL and Java APIs
• User friendly UI in SQL Developer
Confidential – Oracle Internal/Restricted/Highly Restricted 8
Use cases
Approach
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Spatial with Oracle Rest Data Services (ORDS)
Demo 1Shows how to publish results of a Spatial query as a web service
Confidential – Oracle Internal/Restricted/Highly Restricted 9
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**> !"6:&756)&24*? 1%2345*@6)5%6248A59)%&3)578B&'(4$*A59)%&3)57 .-!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**> !"6:&756)&24*? 1%2345*@6)5%6248A59)%&3)578B&'(4$*A59)%&3)57 .-
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Node.js
Confidential – Oracle Internal/Restricted/Highly Restricted 11
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Spatial with Node.js
• Built for developing server side applications in JavaScript
– JavaScript instead of Java
• Open-source JavaScript run-time, runs outside of a browser
• Designed for asynchronous, event driven applications
• Built to handle streaming content
• Easily creates REST APIs
Confidential – Oracle Internal/Restricted/Highly Restricted 12
Node.js overview
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 13
Node.js Architecture
https://www.pabbly.com/tutorials/node-js-event-loops
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Spatial with Node.js
• Combine content and analyses from Spatial DB with other geospatial resources and publish REST API – For example, publish items from Spatial DB based on containment in a region defined
in an external source
• Subscribe to Oracle Database’s Continuous Query Notification (CQN) for Spatial content for near real-time monitoring app. – For example, monitoring Tracking Server notifications
• Deploy to Oracle Application Container Cloud Service to easily leverage Spatial in Oracle DBCS
Confidential – Oracle Internal/Restricted/Highly Restricted 14
Use cases
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**>
?#2)&24*@&)(*A"75;B9
!"6:&756)&24*C 1%2345*D6)5%6248E59)%&3)578F&'(4$*E59)%&3)57 .G
!""#$%&'
! H5=5%2'5*6"75I"%23457J 277I"6*:"%*A"75;B9" E"JK9)*3"6653)&=&)$*)"*1%2345*72)2J295" F267459*H1L9"1#56*9"K%350*M2&6)2&657*J$*1%2345
! H5=5%2'5*'&)(KJ 5N2M#459! ?&635*A"75;B9 &9*O2=293%&#)0*****P5"O?1A &9*2*62)K%24;*?"*45=5%2'5*?Q1RSTDH;T18UE1VRPW1O?1AXY
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**>
?5@"*,A*B("C9*("C*)"*@2D5*B#2)&24*32449*)"*?E*267*C5F*95%=&359*:%"@*G"75;H9*2##4&32)&"6
!"6:&756)&24*I 1%2345*J6)5%6248K59)%&3)578L&'(4$*K59)%&3)57 .M
G"75;H9*2##4&32)&"6A*6"75N9#2)&24N%59)N2#&;H9 OBPB*B5%=&35*:"%*Q&%5*
#5%@&5)5%9
.;*R5F*95%=&35*%5ST59)*)"*'5)*2*:&%5*#5%&@5)5%
,;*K59#"695*&6*UB1G
V;*WT5%$*?E*)"*:&67*)(5*KK*2::53)57*F$*)(5*:&%5*#5%&@5)5%
X;*K59#"695*&6*UB1G
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**> !"6:&756)&24*? 1%2345*@6)5%6248A59)%&3)578B&'(4$*A59)%&3)57 .C!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**> !"6:&756)&24*? 1%2345*@6)5%6248A59)%&3)578B&'(4$*A59)%&3)57 .C
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Demo 3: Shows how to build a simple tracking and notification application
• Define countries as regions of interest to track moving objects• Generate random moving objects on the globe• Generate notifications when a moving object moves into a country
Confidential – Oracle Internal/Restricted/Highly Restricted 18
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Location tracking Server
• Track objects against a set of polygons and generate notifications when the moving objects enter the regions of interest
19
• Track objects within a set of polygons and generate notifications when the moving objects leaves the regions of interest
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Continuous Query Notification (CQN)• CQN lets an application register queries with the database – object change notification (the default) – query result change notification
• If a query is registered for query result change notification (QRCN), the database notifies the application whenever a transaction changes the result of the query and commits• CQN provides a push mechanism for generating notifications for changes in
the DB
Confidential – Oracle Internal/Restricted/Highly Restricted 20
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**>
?5@"*AB*C":)D2%5*3"@#"656)9
!"6:&756)&24*E 1%2345*F6)5%6248G59)%&3)578H&'(4$*G59)%&3)57 ,.
I"75;J9*2##4&32)&"6B*95%=5%;J9
?&9#42$*K=56)9
?5@"*AB*C":)D2%5*3"@#"656)9
LM9(*I")&:&32)&"69*2N"M)*@"=&6'*"NJ53)9
!OI*267*P"32)&"6*Q%23R&6'*C5%=5%
.S 95%=5%;J9 2##*%5'&9)5%9*6")&:&32)&"69*)2N45*D&)(*!OI,S )%23R&6'*95%=5%*TM5M59*@5992'59AS 75TM5M57*@5992'59*2%5*&695%)57*)"*)2N45US !OI*#M9(59*6")&:&32)&"69VS 95%=5%;J9 #%"359959*6")&:&32)&"69*267*)2R59*23)&"69
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**> !"6:&756)&24*? 1%2345*@6)5%6248A59)%&3)578B&'(4$*A59)%&3)57 ,,!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**> !"6:&756)&24*? 1%2345*@6)5%6248A59)%&3)578B&'(4$*A59)%&3)57 ,,
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Python
Confidential – Oracle Internal/Restricted/Highly Restricted 23
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Spatial with Python
• Very popular general-purpose open-source language• Interpreted, high level, easy to get started• Widely adopted for data science and general data analysis• Tons of available well-maintained and widely adopted and libraries
Confidential – Oracle Internal/Restricted/Highly Restricted 24
Python overview
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Spatial with Python
• Pull content from Spatial to Python to perform specialized geostatistical analysis• Invoke Spatial from Python for large scale spatial processing such as spatial
join, dynamic segmentation etc and retrieve results for further work• Combine content from Spatial with other geospatial sources in Python such
as ShapeFiles , GeoJSON files and services
Confidential – Oracle Internal/Restricted/Highly Restricted 25
Use cases
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**>
?#2)&24*@&)(*A$)("6
!"6:&756)&24*B 1%2345*C6)5%6248D59)%&3)578E&'(4$*D59)%&3)57 ,F
!""#$%&'
! G5=5%2'5*3HI1%2345 J"7K45" D"LK9)*3"6653)&=&)$*)"*1%2345*72)2L295"1#56*9"K%350*J2&6)2&657*L$*1%2345
" ?M1INO1POQDR*L&67&6'90*G1S*(2674&6'
" 955*'&)(KL 5H2J#459*&634;*?#2)&24
! G5=5%2'5*'5"9#2)&24*4&L%2%$*53"9$9)5J" N5"A267290*?(2#54$0*A$?<G0*5)3
! T95*6")5L""U*V&;5;*WK#$)5%X*)"*2624$Y5*267*=&9K24&Y5*
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Jupyter Notebook• Jupyter Notebook is an open-source web
application that allows you to create and share code and documents
• Benefits of this environment – you can document your code
– run code, look at the outcome
– visualize data and see the results without leaving the environment
– A handy tool for performing end to end data science workflows – data cleaning, statistical modeling, building and training machine learning models, visualizing data
Oracle Confidential – Internal/Restricted/Highly Restricted 27
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Demo 4: Shows how to use shapefile data to query against Spatial database and visualize result
• Regions of interest provided in a shapefile
• Pick one region of interest from the file and use it to query against the spatial database
• Visualize results on a map and as a bar graph
• All these tasks can be done from one environment
Confidential – Oracle Internal/Restricted/Highly Restricted 28
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**> !"6:&756)&24*? 1%2345*@6)5%6248A59)%&3)578B&'(4$*A59)%&3)57 ,C!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**> !"6:&756)&24*? 1%2345*@6)5%6248A59)%&3)578B&'(4$*A59)%&3)57 ,C
!"#$%&'()*+*,-./0*1%2345*2678"%*&)9*2::&4&2)59;*<44*%&'()9*%595%=57;**>
!"#$%&'()'*$+$,-'&"$%.,$/0#-$123345)(6!"#$%"#$#&'(%$)*#+,--.)'*/#,0#+.1*,-"%1#$)2#3$%*)"%1#*4$*#+,))"+*1#$)2#"5+4$)6"1#7),89"26"#,)9')":#$)2#$*#+,)0"%")+"1#$)2#"&")*1;
72)5$40$25*)5#$()564-*8923:2-'9*#0&'()'*923345)(6
<')7"2=) >,,69"? =@A>#B=>
C,%$13$*'$91'6
,%$+9"13$*'$91'6C6-$'9;+,-
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Analytics and Data SummitAll Analytics. All Data. No Nonsense.
March 12 – 14, 2019
Formerly called the BIWA Summit with the Spatial and Graph SummitSame great technical content…new name!
www.AnalyticsandDataSummit.org
Call for Speakers now open! Submit an abstract to share your use case or technical session
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Questions?
Confidential – Oracle Internal/Restricted/Highly Restricted 32