Bancos de Dados Geográficos - dpi.inpe.br · – h ps://en.wikipedia.org/wiki/NoSQL •...
Transcript of Bancos de Dados Geográficos - dpi.inpe.br · – h ps://en.wikipedia.org/wiki/NoSQL •...
BancosdeDadosGeográficos
Dr.GilbertoRibeirodeQueiroz<[email protected]>
Discussão:ExistealgumproblemacomoprojetodosuporteRasterdosatuaisSGBD-R?
ComolidarcomosrequisitosdeaplicaçõesdeEOquepodemnecessitarcomoentradadados
massivos?
Fonte:Adpatadodeh�p://nsidc.org/data/modis/data_summaries/landgrid.html
MODIS:GradeSinusoidal
0 1 2 3 4 5 6 7 8 9 101112 1314 1516 17 1819 202122 2324 2526 27 2829303132 3334 3501234567891011121314151617
h→
v→
MODISTimeSeries
MODISTimeSeries
Obs.:Naresoluçãode250metroscadaimagempossui4.800x4.800pixels
Quaissãoosdesafios?
Exemplo:MapadeVegetaçãoGlobaldeFevereirode2000aFevereirode2014
Fonte:NASAEarthObservatory(23deAbril,2014)
TemporalLandCoverClassificaYon
BasicProblem:idenYfyasignatureonaYmeseries
Approach:useDynamicTimeWarping(DTW)
AutomatedReal-TimeDeforestaYonMonitoringWithSatelliteImageTimeSeries
ChristopherStephan([email protected])
BreaksForAddiYve
SeasonandTrend(BFAST)
Comofornecermelhorinfraestruturacomputacionalparanossospesquisadores?
ComolidarcombiggeospaYaldata?
Satellites:Landsat,Terra,Aqua,SenYnel(TimeSeriesofRemoteSensingImagery)
EvoluçãodasTecnologiasdeBancosDados
1960 1970 1980 1990 2000 2010
NoSQL/NewSQL/Pós-relacionais
Geoespacial
ProgramaçãoGeneralizada
Programasdependentesarquivos
BancosDadosOrientadoObjeto
ObjetoRelacional
ModeloBancoDadosHierárquico(IBMIMS)
BancosDadosRelacionais(SGBD-R)
Interessante:onúmerodetecnologiasdebancosdedadoscomcaracterís^casdiferentesdosSGBD-Rtemaumentadonosúl^mos8anos!
O“cardápio”deopçõesaumentou?• SistemasNão-RelacionaisouNotOnlySQLouPós-relacionais:
– h�p://nosql-database.org/– h�ps://en.wikipedia.org/wiki/NoSQL
• Diferentesmodelosdedados:– DocumentOriented:MongoDB,CouchDB;– ColumnStores:Cassandra;– GraphDatabases:OrientDB,Neo4J;– ArrayDatabases:SciDB,Rasdaman.
• NemtodossãobaseadosnoparadigmadetransaçõesACID.
• Escalabilidade:HorizontalxVerYcal
DadosCienzficos
SensoriamentoRemoto
OsdadosuYlizadosemdiversasáreasdaCiênciaencontram-senaformade
ArraysArrays=Matrizes
Solução2:UsandoumArrayDatabase
rasdaman
SciDB
Solução2:UsandoumArrayDatabase
rasdaman
SciDB
NovasTecnologiasdeBancosdeDadosparaDadosMatriciais
ArrayDatabases“ArraysasfirstclassciYzens”
SciDB
“SciDB is an open-source analytical database oriented toward the data management needs
of scientists.”(Stonebrakeretal.,2011)
Source:Wikiped
ia
ACMTuringAward(2014)
OqueéoSciDB?
• Mixdeplataformaparagerenciamentoeanálisededados
• ArrayDatabase:– Omodelodedadostratade“Arrays”enãode“Tabelas”:
• Array=Nome+DefiniçãodeAtributosdasCélulas+Dimensões
– Linguagemdeconsultaébaseadaemumálgebradearrays:• AQLandAFL:filter,aggregaYon,join
• Projetadoparatrabalhoemclusters:– Opção:arquiteturasharednothing
SciDB• Site:h�p://www.paradigm4.com
• License:AGPLv3.
• Version:15.7.
• Currentlysupportedpla�orms:– Linux:Ubuntu12.04e14.04,RHEL6,CentOS6.
• Principaldesenvolvedor:Paradigm4.
• Códigofonteencontra-sedisponívelcomopacotestar.gz:– CommunityEdiYon:nãoháacessoabertoaorepositóriodecódigofonte.– EnterpriseEdiYon:acessoSVN/GIT.
Arquitetura
WorkerNodes
SciDBEngine
SciDBEngine
SciDBEngine
SciDBEngine
LocalStore
LocalStore
LocalStore
LocalStore
SciDBEngine
LocalStore
CoordinatorNode
PostgreSQLSystemCatalog
ClientApplicaYons:iquery,Python,R,C/C++
Source:AdaptedfromPARADIGM4
Instância
arrayname<a�ributes>[dimensions]
Arrays:Dimensões
• EmgeraluYliza-sevaloresinteirosde64-bit.• Dimensõescomlimitesbemdefinidos(boundeddimension):
– Quandosabemosapriorionúmerototaldecélulasemumadadadimensão(ouacardinalidadedeumadimensão).
• Dimensõescomlimitesindefinidos(unboundeddimension):– Quandonãosabemosacardinalidadedoarrayemtempodecriação.
123
1 2 3 4123i
j
t
mod09q1<attributes>[j=1:4,2,1,i=1:3,1,1,t=1:*,3,2]
OArraymod09q1terá3dimensões:4x3x*
Arrays:Atributos• CadaCélulapodeestarassociadaamúlYplosvalores(ouatributos),cada
umpertencenteaumYpodedadosespecífico:– int8,uint8,int16,uint16,int32,uint32,int64,uint64,float,double,string,
dateYme,dateYmetz...
• Cell=(d1,d2,...,dn).
mod09q1<red:int16,nir:int16,quality:uint16>[j=1:4,2,1,i=1:3,1,1,t=1:*,3,2]
Cadacéluladoarraymod09q1terá3
atributos
123
1 2 3 4123i
j
t
Arrays:Atributos• CadaCélulapodeestarassociadaamúlYplosvalores(ouatributos),cada
umpertencenteaumYpodedadosespecífico:– int8,uint8,int16,uint16,int32,uint32,int64,uint64,float,double,string,
dateYme,dateYmetz...
• Cell=(d1,d2,...,dn).
mod09q1<red:int16,nir:int16,quality:uint16>[j=1:4,2,1,i=1:3,1,1,t=1:*,3,2]
Cadacéluladoarraymod09q1terá3
atributos
123
1 2 3 4123i
j
tEx:acélula(4,2,1)podeestarassociadaaosvalores:red=474;nir=3109;quality=4096
LinguagensdeConsulta
ArrayQueryLanguage(AQL)ArrayFuncYonalLanguage(AFL)
ArrayQueryLanguage:AQL
SELECTexpression[INTOtarget_array]FROMarray_expression|source_array[WHEREexpression]
individuala�ributesanddimensions,aswellasconstantsandexpressions
neworpre-exisYng
Arrayoranyexpressionthatreturnsanarray(likesub-queries)
filterparametersona�ributevaluesordimensionbounds
ThereareDMLandDDLclauses
ArrayFuncYonalLanguage(AFL)
store(build(<num:double>[x=0:8,1,0,y=0:9,1,0],random()),random_numbers);
ParYcionamentodeDados
ChunksVerYcalParYYoning
Arrays:ParYcionamento
mod09q1<red:int16,nir:int16,quality:uint16>[j=1:4,2,1,i=1:3,1,1,t=1:*,3,2]
123
1 2 3 4123i
j
t
chunkwithreddata
chunkwithqualitydata
Arrayédivididoemchunkschunk-size:2x1x3
parYcionamentoverYcalp/atributo
chunkwithqualitydata
Arrays:ParYcionamento
mod09q1<red:int16,nir:int16,quality:uint16>[j=1:4,2,1,i=1:3,1,1,t=1:*,3,2]
123
1 2 3 4123i
j
t
chunkwithreddata
chunkwithqualitydata
Arrayédivididoemchunkschunk-size:2x1x3
parYcionamentoverYcalp/atributo
chunkwithqualitydata
Arrays:ParYcionamento
• NãoexisteumaB+-treeouR-tree:– Asdimensõesformamabasedaindexaçãodosdados
• Odadoé“quebrado”emchunksemapeadosatravésdeumafunçãohashparacadainstânciadocluster.
• Umaquestãoimportantetrata-sedecomoespecificaronúmerodecélulasaolongodecadadimensãoqueseráusadoparaestabelecerotamanhodochunk.
Replicação
OverlapdeCélulasReplicaçãodeChunksentreasInstânciasdoCluster
Arrays:ReplicaçãoCélulasdeBorda
• Épossíveldefinirumfatorchamadodeoverlapparaascélulasdebordadeumchunk:– Trata-sedeumaboaestratégiaparaacelerarconsultasenvolvendo
vizinhança(neighborhood).
mod09q1<red:int16,nir:int16,quality:uint16>[j=1:4,2,1,i=1:3,1,1,t=1:*,3,2]
CadachunkconteráumacéluladebordanasdimensõesjeiNadimensãotserãoduascélulasdeborda
EssascélulassãouYlizadasapenaspeloSciDBduranteasconsultas
Arrays:ReplicaçãoCélulasdeBorda
• Ilustraçãodareplicaçãodascélulasdeborda:
Array
Chunkswithoverlap
Arrays:ReplicaçãodeChunksentreasInstâncias
Tolerânciaafalhas
OutrasCaracterísYcas/Funcionalidades
• CanuseRLEfordatacompression.• Cacheforfrequentlyusedchunks.• Versioning:
– Thestoragemodelisbasedontheideaofa“nooverwrite”.– Updatequerieswriteanewfullchunkoradeltachunk.
• Storagesegments:– ReservedconYguousspaceondiskforacollecYonofchunksbelonging
tothesamearray.• ProvisionfortemporarystorageduringqueryexecuYon.• Singlestatement(ACID)transacYons:
– Array-levellocking.• Robusthandlingofemptycells,includingNULLandcodefor
missingdata
IntegraçãocomDiversosAmbiente
• RESTAPI:– Shim
• LinguagensdeProgramação:– C++ePython– Novidade:Julia
• AmbientesestazsYcos:– R
• Álgebralinear:– ScaLAPACK — ScalableLinearAlgebraPACKage
Arquitetura
WorkerNodes
SciDBEngine
SciDBEngine
SciDBEngine
SciDBEngine
LocalStore
LocalStore
LocalStore
LocalStore
SciDBEngine
LocalStore
CoordinatorNode
PostgreSQLSystemCatalog
ClientApplicaYons:iquery,Python,R,C/C++
Source:AdaptedfromPARADIGM4
Referências
Livros
• JohnR.Jensen.RemoteSensingoftheEnvironment.
• ELMASRI,R.;NAVATHE,S.B.Fundamentalsofdatabasesystems.AddisonWesley,2006.1139p.
• DATE,C.J.Anintroduc'ontodatabasesystems.Addison-WesleyLongmanPublishingCo.,Inc.,Boston,MA,USA,1991.
ArYgos
• STONEBRAKER,M.;BROWN,P.;POLIAKOV,A.;RAMAN,S.ThearchitectureofSciDB.InProceedingsofthe23rdinternaYonalconferenceonScienYficandstaYsYcaldatabasemanagement(SSDBM'11),JudithBayardCushing,JamesFrench,andShawnBowers(Eds.).Springer-Verlag,Berlin,Heidelberg,2011,1-16.
• TAFT,R.;VARTAK,M.;SATISH,N.R.;SUNDARAM,N.;MADDEN,S.;STONEBRAKER,M.Genbase:acomplexanaly'csgenomicsbenchmark.ComputerScienceandArYficialIntelligenceLaboratoryTechnicalReport,MIT-CSAIL-TR-2013-028,November19,2013.
ArYgos• E.F.Codd.1970.Arela'onalmodelofdataforlargeshareddata
banks.CommunicaDonsoftheACM,v.13,n.6,June1970,pp.377-387.
• Chen,P.TheEn'ty-Rela'onshipModel-TowardaUnifiedViewofData.ACMTransacYonsonDatabaseSystems,vl.1,n.1.March1976,pp.9-36.
• GRAY,J.Evolu'onofDataManagement.IEEEComputer29(10):38-46,1996.
• Vijlbrief,T.,andP.vanOosterom.TheGEO++System:AnExtensibleGIS.Proc.5thIntl.SymposiumonSpaYalDataHandling,Charleston,SouthCarolina,1992,40-50.
EspecificaçõesePadrões
• OGC.OpenGISImplementa'onSpecifica'onforGeographicinforma'on-Simplefeatureaccess-Part1:Commonarchitecture.Availableat:h�p://www.opengeospaYal.org.Access:October,2012.
• OGC.OpenGISImplementa'onSpecifica'onforGeographicinforma'on-Simplefeatureaccess-Part2:SQLop'on.Availableat:h�p://www.opengeospaYal.org.Access:October,2012.
• ISO.SQLMul'mediaandApplica'onPackages–Part3:Spa'al.
Slides
• NAUGHTON,J.F.DBMSResearch:First50Years,Next50Years.Kynotespeaker’slidesatICDE2010.Disponívelem:h�p://pages.cs.wisc.edu/~naughton/naughtonicde.pptx.Acesso:Abrilde2013.
Videos
• THAKAR,A(JohnsHopkinsUniversity).BillionsofStarsonOff-the-shelfSorware/TheSDSSSkyServerandBeyond:Why"TheNot-So-Litle-EnginethatCould"isS^llChuggingAlong.7thExtremelyLargeDatabasesConference,September9-12,2013,StanfordUniversity,California,USA.Video,Slides,Access:04thApril,2014.
Cursos
• FONSECA,L.M.G.;KÖRTING,T.S.PDI:Fundamentos.NotasdeAulaSER437-ProcessamentoDigitaldeImagensdeSensoresRemotos.Disponívelem:h�p://www.dpi.inpe.br/cursos/ser437.Acesso:02deMaiode2014.
Manuais
• SciDBReferenceManual:CommunityandEnterpriseEdiYonsDocumentVersion14.12.2013.Copyright©2010–2015Paradigm4,Inc.
Entrevistas
• OntheSciDBarraydatabase.InterviewwithMikeStonebrakerandPaulBrown.Disponívelem:h�p://www.odbms.org/blog/2014/04/interview-mike-stonebraker-paul-brown/.Acesso:Novembro,2015.BlogRobertoV.Zicari.