View
478
Download
5
Category
Preview:
DESCRIPTION
Sesjonen tar for seg ulike tema relatert til administrasjon av en Enterprise geodatabase. Vi vil se på hvordan arkitekturen til en Enterprise geodatabase er bygget opp og hvordan den gir et flerbruker-miljø muligheter for å jobbe uforstyrret mot de samme dataene. Tips om hvilke grep som må tas for å opprettholde ytelse og skalerbarhet i geodatabasen samt noen verktøy som forenkler administrators arbeidsoppgaver vil bli vist. Sesjonen tar for seg ulike tema som kan være nyttig enten du er ansvarlig for administrasjon, systemansvarlig eller superbruker av en Enterprise geodatabase.
Citation preview
Administrasjon
av Geodatabasen
(SQL, Oracle og PostgreSQL)
Morten Grimnes og Thor Morten Kopaas
ARCGIS ARKITEKTUREN
Klienter/konsumenter
Web tjenester, GP tjenester og lagring av data
Vi ser nærmere på databasen
ARCGIS DATABASEN - GEODATABASEN
• Data kan lagres i flere formater, alt fra filer til store
databasesystemer
– Access databaser, personlig geodatabase
– Filgeodatabase
– RDBMS database (Oracle, SQL Server, PostgreSQL + + )
• Personlig- og filgeodatabase gir alle brukere rett til «alt»
• RDBMS database gir muligheter for brukerkontroll
BRUKERTYPER I RDBMS
• RDBMS administrator
– Rettigheter til å opprette alle typer objekter innen en RDBMS
installasjon. Dette er «DBA».
• Geodatabase administrator
– Rettigheter til å administrere alle metadata og brukerdata som ligger
inne i en geodatabase. Normalt bruker SDE.
• Geodatabase eier
– Rettigheter til å jobbe med skjemaet i geodatabasen, utseendet.
– Gi rettigheter til utvalgte data - ikke områder men «typer» av data.
• Redigeringsbruker
– Rettigheter til å endre innholdet i geodatabasen, men ikke «utseendet»
• Innsysnbruker
– Rettigheter til å se innholdet i geodatabasen.
TILKOBLING TIL GEODATABASEN
Direct Connect – anbefalt og fremtidig tilkoblingsmetode
Application Server – tidligere metode. Støtte etter 10.2 faller bort
ArcSDEbiblioteker
RDBMSklient
RDBMS serverArcSDE biblioteker
gsrvr
giomgr
RDBMS server
TILKOBLING TIL GEODATABASEN -
DATABASEKLIENT
• Må installeres separat. Kan lastes ned fra flere plasser
– Databaseleverandøren (Oracle, Microsoft, PostgreSQL.org)
– ESRI, https://customers.esri.com (ikke nødvendigvis «siste» versjon)
TILKOBLING TIL (GEO)DATABASEN
• Ny tilnærming til kobling mot databaser fra 10.1
– Kan koble til «vanlige» databaser og Geodatabaser fra samme
dialogvindu.
– Direct Connect er standard tilkoblingsmetode
10.0 10.1
ROMLIGE DATATYPER
• Datatype hvor geometrien er en fysisk del av raden i en tabell
• Kan bare være én kolonne pr. tabell som inneholder en romlig
datatype (ArcGIS regel, ikke RDBMS)
• Oracle:
– ST_GEOMETRY (ESRI romlig type)
– SDO_GEOMETRY (Oracle Spatial eller Locator)
• PostgreSQL:
– ST_GEOMETRY (ESRI romlig type)
– POSTGIS (frittstående tillegg fra postgis.org)
• SQL Server:
– GEOMETRY (Geografiske koordinater, har fått Z- og M-verdier fra
SQL Server 2012)
– GEOGRAPHY (lik ESRI ST_GEOMETRY i Oracle og PostgreSQL)
VERSJONERING
Hver rad i disse tabellene inneholder en state.En state = en endring.
EnterpriseGDB
Vil alltid inneholde minst én versjon:SDE.DEFAULT
Brukere Geodatabase-objekter
.
.
.
.
.
.
Business-tabeller
Adds (A#)
Deletes (D#)
Delta-tabeller
VERSJONERING
• Tre hovedalternativer mulig
• Uversjonert
– Redigering basert på korte transaksjoner (RDBMS transaksjoner)
– Vil ikke «skjerme» redigeringer for andre
– Eksterne systemer kan se alle data
• Versjonert
– Redigering basert på lange transaksjoner
– Full isolering av redigeringer i egne versjoner
– Eksterne systemer har problemer med å se alle data
• Noe midt i mellom? Versjonert med «move edits to base»
– Redigeringer i egne versjoner basert på lange transaksjoner
– Redigeringer i SDE.DEFAULT basert på korte transaksjoner
– Alt knyttet til versjon SDE.DEFAULT liggende i businesstabellen
– Fungerer bare for enkle geometrier
REPLIKERING
• En måte å synkronisere innholdet i to eller flere databaser
– Krever full versjoneringsmodell (ikke «move edits to base»)
ARKIVERING
• Metode for å holde oversikt over endringer utført i databasen over
tid
• Tar utgangspunkt i alle endringer som gjøres i versjonen
SDE.DEFAULT
• Tidspunkt som registreres er tidspunkt endringen skjer i
SDE.DEFAULT
• Fra 10.1 også mulig å ha på uversjonerte data
1/1 1/2
1/2 1/3
1/3
Versjon: SDE.DEFAULT Arkiv (historikk)
EDITOR TRACKING
• Holder styr på hvem som endrer et objekt – en type «autoupdater»
• Ved bruk av fil- og personlige-, samt ArcSDE geodatabaser hvor
innlogging er «OS autentisert» er navn lik OS-brukernavn
• Ved bruk av ArcSDE geodatabaser hvor innlogging er et
brukernavn i databasen, er navn lik brukernavn i databasen
• Endringstidspunkt er tidspunktet endringen skjer i databasen
1/1Ole 1/2Jan 1/3Eva
Versjon: Hvilken som helst…
HVA MENER VI MED
GEODATABASEADMINISTRASJON?
• Hvilke oppgaver inngår?
– Backup?
– Tuning?
– Vedlikeholde geodatabaseskjema
– Brukere?
– Rettigheter
– ++
• Hvem er involvert
– Bare GDB ansvarlig? DBA’er i tillegg?
• Omfang
– Kan ikke «bare installere» og så ikke gjøre noe mer.
– Gjelder spesielt når det gjøres forvaltning av data i databasen.
NOEN «NOTATER» OM BACKUP
• Trenger ingen spesielle typer backup for en geodatabase
• Standard databaseverktøy fungerer fint
• I tillegg til Geodatabaseeieren, må vi også ha med SDE skjemaet
– Kopi av geodatabaseskjemaet er ubrukelig uten SDE skjemaet
• SQL Server og PostgreSQL databasebackup tar med «alt»
• I Oracle må vi huske på også å ta med SDE skjemaet sammen med
geodatabaseskjemaet ved bruk av exp[dp]/imp[dp]
ytelse og skalerbarhet
Database
Network
Geodatabase
Web Server
Application Server(s) (ArcGIS)
Network
Applications
Clients (Desktop, Browser, Devices)
Network DevicesHardware
Disk I/O
Er ytelsesproblemet i databasen?
Analyze og rebuild indexes
• Analyze
(Bygger databasestatistikk på tabeller og
indekser slik at RDBMS velger beste
eksekveringsplan)
arcpy.AnalyzeDatasets_management
• Rebuild indexes
(«Utdaterte» indekser kan føre til dårligere
ytelse)
arcpy.RebuildIndexes_management
compress
• Compress
(«Rydder» opp i deltatabellene til feature-
/objektklassene.)
arcpy.Compress_management
compress
• Dialogen «Geodatabase
Administration» gir en oversikt
over versjoner i geodatabasen.
• Anbefales at ingen brukere er
pålogget under kjøring av
compress -> kast ut brukere
Adds (A#)
Deletes (D#)
Delta-tabeller
.
.
.
Business-tabeller
• Flytter så mange rader som mulig fra delta-tabellene tilbake til
business-tabellene.
• Mange rader i delta-tabellene påvirker ytelsen negativt.
• Kan bare flytte rader med stater som er felles for alle versjoner.
compress
Reconcile / post
• Reconcile
(Henter endringer i «foreldre»-versjon
over i «barn»-versjon)
• Post
(Dytter endringer i «barn»-versjon over i
«foreldre»-versjonen)
arcpy.ReconcileVersions_management
Blokkerende versjoner
• Medfører at vi får en mindre optimal compress av
databasen.
• Versjoner som blokkerer for at en compress kan flytte
alle rader i delta-tabellene for SDE.DEFAULT til
business-tabellene
• Slike versjoner må
spores opp og enten
• Samkjøres
• Slettes
Monitorer system ressurser
• CPU
• Snitt på under 70%
• Disk
• Holdes under 80%
• Memory
• Snitt på under 80%
Tools:
Task Manager, resource monitor, perfmon, osv (windows)
top, glance, iostat, osv (unix/linux)
ytelse og skalerbarhet (Oppsummering)
1. Samkjør regelmessig
• Arcpy.ReconcileVersions.management
2. Komprimer regelmessig
• Arcpy.compress_management
3. Rebuild indekser regelmessig
• arcpy.RebuildIndexes_management
4. Oppdater statistikk regelmessig
• Arcpy.AnalyzeDataset_management
• Monitorer system ressurser regelmessig
Feilsøking
• Sdedc_<RDBMS>.log (C:\Users\<USERNAME>\AppData\Local\Temp)
• Direct-connect loggfil
• Nyttig hvis klienten ikke gir en “fornuftig” feilmelding
• SDEVERBOSE
• SQL-trace
• Veldig nyttig hvis ArcGIS-logger ikke er nok
• Vi kunne se alle SQL’er som er generert av ArcGIS og eventuelle
feilmeldinger
• sde_setup.log (C:\Users\<USERNAME>\AppData\Local\Temp)
• Logger ved kjøring av “Create Enterprise Geodatabase”
• GDBUpgrade.log (C:\Users\<USERNAME>\AppData\Local\Esri\Desktop10.2\)
• Logger ved oppgradering av en geodatabase.
Testverktøy
System Monitor (http://www.arcgis.com/home/item.html?id=848f48b0f88e4de7a036377197453efe)
• Et gratis verktøy for å monitorere og analysere et enterprise GIS system
(Windows, linux, ArcGIS for server, http, database)
• Ytelse
• Last
• Hardware
• Hvor er flaskehalsen
• Oppetid
• +++
Testverktøy
System Test (http://www.arcgis.com/home/item.html?id=e8bac3559fd64352b799b6adf5721d81)
• Et gratis verktøy for å gjennomføre funksjonalitet- og lasttester i et
enterprise GIS system (Gis Services)
• Automatisk generert test
• Spill av sesjon med Fiddler2/Firebug
• Simuler x-antall brukere
• Resultat fra test er en veldig nyttig
rapport
Testverktøy
PerfQA Analyzer (http://blogs.esri.com/esri/supportcenter/2012/04/03/new-arcgis-performance-calibration-tool/)
• Et gratis verktøy for å tune mxd-dokumenter og database
• Opptegning
• Simuler redigeringsesjoner
• Fetch Data times
• Start/stop SQL-trace
Testverktøy
mxdperfstat (http://www.arcgis.com/home/item.html?id=a269d03aa1c840638680e2902dadecac)
• Et kommandolinje-verktøy for å analysere ytelse på mxd-dokumenter
mxdperfstat -mxd <DocumentName.mxd> [-scale scale1;scale2;...] [-xy <x;y>] [-width <screen width> -height
<screen height>] [-dbms -host -instance -database -service -port -user -password]
Takk for oss
Recommended