ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

27
ArcSDE Geodatabase 10 på topp - ytelsestips/ driftsrutiner Thor Morten Kopaas

description

Presentasjon utført under Geodatas ArcSDE Geodatabaseseminar 9. november 2010

Transcript of ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

Page 1: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

ArcSDEGeodatabase

10 på topp -ytelsestips/driftsrutiner

Thor Morten Kopaas

Page 2: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 3: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 4: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 5: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 6: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 7: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 8: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

ArcSDE

Geodatabase

10 på topp -

ytelsestips/drifts

rutiner

11

Map Service Publishing

Demo

Verktøy for tuning av mxd

Page 9: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 10: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 11: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 12: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

ArcSDE

Geodatabase

10 på topp -

ytelsestips/drifts

rutiner

15

Databasestatistikk

Indekser

Versjonert redigering

Feilsøking

Vedlikehold av databasen

0

Page 13: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 14: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 15: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 16: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 17: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 18: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 19: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

ArcSDE

Geodatabase

10 på topp -

ytelsestips/drifts

rutiner

22

Logging / tracing

Hensikten med logging

– Sjekke ytelsen

– Feilsøke

Type logger

– SDEINTERCEPT

– DBMS TRACE

Page 20: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 21: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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..."

========================================

Page 22: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 23: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

ArcSDE

Geodatabase

10 på topp -

ytelsestips/drifts

rutiner

26

Eksempel - Oracle

Page 24: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 25: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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)

Page 26: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

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

Page 27: ArcSDE geodatabase 10 på topp ytelsestips og driftsrutiner

ArcSDE

Geodatabase

10 på topp -

ytelsestips/drifts

rutiner

30

Spørsmål?