ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner
-
Upload
geodata-as -
Category
Technology
-
view
839 -
download
5
description
Transcript of ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner
ArcSDEGeodatabase
10 på topp -ytelsestips/driftsrutiner
Thor Morten Kopaas
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
5
Ytelse - skalerbarhet
Geodatabasedesign
Kartdokument
Vedlikehold av database
Tilgjengelige verktøy
Ti på topp
Test/Devel
opment
PublishingProduction
Responstid
ArcMap/
Web
ArcGIS
Server
Enterprise
Geodatabase
Intra/Internet Resources
Network
I/O
Disk I/OSQL
ArcMap/
Web
Response
time
Cloud Resources
6
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
7
Komplekse geometrier med mange vertexes
– Splitt/generaliser hvis mulig
Denormaliser database
– Smelt sammen featureklasser om mulig
– Bruk geodatabase subtyper
• Ikke en featureklasse pr. veitype
Featureklasser
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
8
Nødvendig for mange typer oppførsel
– Geometrisk nettverk, Topologi, …
Vær klar over:
– Alle featureklasser blir instansiert
– Rettigheter gis på datasett-nivå
– „Registrer som versjonert‟ skjer på
datasett-nivå
– Mye låsing, kan unngås med:
• Spatial view
• Separate redigering og innsyns-
databaser
Ikke bruk „for å rydde‟
Featuredatasett
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
9
Labeling
– 2 spørringer mot databasen
(geometri og label attributt)
– Bruk map cache eller annotation
Symboler
– Komplekse symboler koster
definition-queries
– Filtrerer data returnert fra DBMS
– Opprett indeks på kolonner i
where-betingelse
Projection on-the-fly
– Tungt med mange vertexes
Mxd-tips
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
10
Unngå opptegning i „full extent‟
– Målestokkterskler
– Bruk „spatial bookmarks‟
Sett valgbare lag (unngå unødvendige spørringer)
Moderat „Table of contents‟
Bruk „map cache‟/‟basemap layer‟
Om mulig, bruk „keep only matching records‟ opsjon for
„joins‟
Mxd-tips
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
11
Map Service Publishing
Demo
Verktøy for tuning av mxd
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
12
MxdPerfStat (arcscripts.esri.com)
– Rapporterer for hvert layer
• Opptegningstider
• DBMS statistikk
• Anbefalinger
http://resources.arcgis.com/gallery/file/enterprise-
gis/details?entryID=6391E988-1422-2418-88DE-
3E052E78213C
Demo
Verktøy for tuning av mxd
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
13
Database datablock/-page
– Minste lagringsenhet i en DBMS
– Eks. 8Kb, 16Kb
– Kan innehold mage objekter/geometrier
Objekter nær hverandre geografisk må lagres nær
hverandre i databasen (samme datablock i databasen)
Spatial clustering
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
14
Dette kan oppnås med
– KB32423: Spatially cluster the storage of a table using
ST_Geometry
– sdeexport –O (stor O)
Vi ønsker å hente så få datablocks fra disk som mulig
Test: features tegnes i „tilfeldig‟ rekkefølge ved „full
extent„
Spatial clustering
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
15
Databasestatistikk
Indekser
Versjonert redigering
Feilsøking
Vedlikehold av databasen
0
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
16
Brukes av databasen sin „optimizer‟ for å velge optimal
eksekveringsplan.
Hvilke tabeller
– Business tabell, F & S tabeller (SDEBINARY), A & D tabeller
(versjonering)
– System tabeller: states, state_lineages, mvtables_modified
Bør gjøres etter større endringer i data
Kan automatiseres i databasen (DBA)
Databasestatistikk
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
17
Insert, update, delete fragmenterer indekser over tid
Dårlig vedlikeholdte indekser og for mange indekser
medfører økt diskaktivitet
ArcSDE administrerer ikke indeksene for deg.
– Nattlig „rebuild‟ av indekser er å anbefale (DBA)
Knowledge Base Document #24518
Administrasjon av indekser
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
18
Mer kompleks datamodell
– Delta-tabeller opprettes (A og D)
– Alle endringer legges i
delta-tabellen
– Alle endringer har en StateId
Ytelse påvirkes av:
– Antall states
– Mangler statistikk
– Gamle versjoner blir liggende
– Arbeidsprosess
Administrer versjonene dine
– Reconcile
– Post
– Compress
Versjonering
State 0
Version pinning
state tree
0
v2
v1
v4 DEFAULT
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
19
Reconcile
– Gjør endringer gjort i parent versjon synlig i child versjon
– Sjekker for konflikter
Post
– Gjør endringer gjort i child versjon synlig i parent versjon
Compress
– Flytter felles rader fra delta-tabeller til base-tabellene
– Reduserer antall rader i delta tabeller og størrelsen på state treet
– Gir bedre ytelse
Reconcile/Post/Compress
PARENT
CHILDCHILD
Reconcile
Post
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
20
Tips - Reconcile/Post/Compress
KB36809: Report the recommended reconcile order
using SQL in SQL Server
KB35735: Report the recommended reconcile order
using SQL in Oracle
Geodatabase Toolset
Illustrerer versjon og statetreet
Demo
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
21
Logging / tracing
Application
ArcSDE Technology
gsrvr
GDB/ArcSDE
Technology Client
Network
ApplikasjonClient
ArcSDE
Server
Enterprise GDB
Database Trace
SDEINTERCEPT
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
22
Logging / tracing
Hensikten med logging
– Sjekke ytelsen
– Feilsøke
Type logger
– SDEINTERCEPT
– DBMS TRACE
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
23
SDEINTERCEPT
Innebygget ArcSDE funksjonalitet
Logger ArcSDE klient-kall til ArcSDE server
Gir en føling med hvor mange og type kall som gjøres
set SDEINTERCEPTLOC=<file location>
set SDEINTERCEPT=<flags> (Default “crwf”)
KB35704 (Diagnose ArcSDE connection and
performance issues using SDEIntercept)
Flag Description
c Intercept the API command name
r Intercept the Channel broadcasts read-only
w Intercept the Channel broadcasts write-only
t Intercept log time (minute:second)
T Intercept log time (hour:minute:second)
f Intercept flush immediate
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
24
Eksempel
========================================
[W 18:01:06] Command: ExecuteSpatialQuery
[W 18:01:06] Long: 1
[R 18:01:06] Long: 0
========================================
[W 18:01:06] Command: NextBuffer
[W 18:02:44] Long: 1
[R 18:02:44] Long: 0
[R 18:02:44] Long: 15312
[R 18:02:44] Long: 353
[R 18:02:44] Short: -1
[R 18:02:44] Long: 1
[R 18:02:44] Long: 0
[R 18:02:44] Block:
BufferInfo: [25/15312] Address@0xc9c0000
BufferInHex:
"020039AA4E000200000004001B00000013010000010000009A..."
========================================
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
25
SQL-Trace
Start i Oracle med
– dbms_system.set_ev(sid, serial#, 10046,12,‟‟)
– IWorkspace.ExecuteSQL GUI tool (Custom add-in command
for ArcGIS
– logon trigger
Start i SQL Server med
– SQL Profiler
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
26
Eksempel - Oracle
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
27
Demo
Enable SQL-trace i Oracle
Scenario:
– Featureklasser opprettet i ArcCatalog
– Data lastet med sdeimport-kommandoen
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
28
10 på topp
Oppdater DBMS-statistikk
Ikke kjørt compress på geodatabase (versjonering)
Fragmenterte indekser (kjør rebuild jevnlig)
Mangler indekser på attributt (definition query)
Spatial clustering (data sortert geografisk for lagring på
disk)
Ikke optimalisert kartdokument
Datamodell
– Mye funksjonalitet tilgjengelig, bruk med fornuft
Generaliser data (antall vertexes)
”Chatty”-applikasjon
Lær deg å feilsøke (SDEINTERCEPT, SQL-Trace)
Geodatabase
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
29
Direct Connect (2-lag, anbefalt)
– Skalerer bedre
– Reduserer minne og cpu aktivitet på server
– Bakover kompatibel
Application Server
(3-lag)
– Opprinnelse
SDE 3.0
Oppkoblingsalternativer
Directconnectdriver
GISclient
GISclient
Application server
Direct Connect
gsrvr
ArcSDE
Geodatabase
10 på topp -
ytelsestips/drifts
rutiner
30
Spørsmål?