Download Slide 1

Document related concepts

IMDb wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Oracle Database wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Functional Database Model wikipedia , lookup

Ingres (database) wikipedia , lookup

Concurrency control wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Database wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

ContactPoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
If You Want to Have your Database Sing
on Key, Then You Need to Get It Tuned
Bryan Dickerson, Woolpert
Jim Moening, ESRI
Agenda
How Does ArcSDE Work?
Database Tuning (Oracle and SQL)
Best Practices for Geodatabase Design
ArcSDE Management Roles & Responsibilities
Database Tuning
Water/Wastewater DB Design Conference
February 2005
How Does ArcSDE Work?
Database Tuning
Water/Wastewater DB Design Conference
February 2005
ArcSDE Data Storage
A feature class (layer) is comprised of 3 tables in an
ArcSDE database
Business table
Feature table
Spatial index table
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Business Table
Contains attributes and a spatial column
Spatial column is a key used to relate to the feature and
spatial index tables
SHAPE
OBJECTID
1
NAME
1
FID
…
1
Spatial Index
table
Main St
AREA
…
SP_FID
1
…
…
LEN
POINTS
0
926.45
GX
GY
7
Business table (Roads)
12
Feature table (F1)
EMINX
EMINY
786
840
EMAXX
EMAXY
339
(S1)
Database Tuning
Water/Wastewater DB Design Conference
February 2005
374
Feature Table
Stores geometry including annotation and CAD features
Also stores attributes describing the geometry such as Area
and Length
SHAPE
OBJECTID
1
NAME
1
FID
…
1
Spatial Index
table
Main St
AREA
…
SP_FID
1
…
…
LEN
POINTS
0
926.45
GX
GY
7
Business table (Roads)
12
Feature table (F1)
EMINX
EMINY
786
840
EMAXX
EMAXY
339
(S1)
Database Tuning
Water/Wastewater DB Design Conference
February 2005
374
Spatial Index Table
Defines the grid range for each feature
Defines the shape envelope for each feature
SHAPE
OBJECTID
1
NAME
1
FID
…
1
Spatial Index
table
Main St
AREA
…
SP_FID
1
…
…
LEN
POINTS
0
926.45
GX
GY
7
Business table (Roads)
12
Feature table (F1)
EMINX
EMINY
786
840
EMAXX
EMAXY
339
(S1)
Database Tuning
Water/Wastewater DB Design Conference
February 2005
374
ArcSDE Storage Model
Spatial
column
2
2
3
SHAPE
1
3
1
2
F34
FID
2
1
1
CENSUS_TRACTS
Coordinate
Information
Business table
1
POINTS
. . . . . xy,xy,xy
2
.SP_FID
. . . . xy,xy,xy
GX GY
3
1
. . . .1. xy,xy,xy
S34
1
2
1
1
3
1
1

Feature table stores geometry
2
1
2

Spatial index table stores grid
tiles and envelopes
3
1
2
1
2
1
Tables join on integer Feature
ID column
2
2
1

Database Tuning
Water/Wastewater DB Design Conference
February 2005
Spatial index
Spatial index is used to improve performance of data
retrieval
IBM DB2, Oracle, and SQL Server use grid tiles
Goal
Optimize the size of the grid tiles
Balance
Number of features referenced by each tile (features per tiles)
Number of tiles referencing each feature (tiles per feature)
Informix and Oracle Spatial use R-tree indexing
R-tree index constructs the index using the feature envelope
Do not need to add any parameters for building R-tree (built
automatically)
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Reducing Work With a Spatial Index
Clients use a spatial filter to reduce query results and speed up data
retrieval
Example: Only fetch visible features for display
Spatial filter
ArcSDE uses spatial index to reduce I/O
Eliminates need for full table scan
Same principle as RDBMS column index
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Spatial Index
Spatial index uses the envelope (bounding box) of the features for fast
searching
38,68
53,28
49.5,53.6
49,25
32,64
Envelopes for area and line features use min x,y and max x,y
coordinates. The envelope for a point is the actual x,y coordinate.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Grid Tile Spatial Index Components
49
Parcels
Example
48
73
74
75
76
77
Grid tiles
Two numbers in indexed columns
Shape envelope
Two coordinates (four numbers) in indexed columns
Shape
Many coordinates in binary column
A
Database Tuning
Water/Wastewater DB Design Conference
February 2005
How the Grid Tile Spatial Index Works
Goal: Avoid reading shapes for entire layer (full table scan)
Four stages of elimination
1.
2.
3.
4.
FILTER (SELECTION SHAPE)
tile
envelope
shape
shape
Database Tuning
LAYER
tile
envelope
envelope
shape
Water/Wastewater DB Design Conference
RDBMS
ArcSDE server
or client
February 2005
Selecting a Spatial Index Size
Size tiles based on average feature envelope
Grid tile size too small
 S-table is too big
 Many tiles referencing
one feature
Grid 3x feature envelope
 S-table smaller
 Fewer tiles referencing one
feature

Many rows take longer to search

Many tiles referencing one feature inefficient
Balance tiles per feature against feature per tile
Database Tuning
Water/Wastewater DB Design Conference
February 2005
ArcSDE Command Line Tools Are Your Friend
sdelayer -o si_stats -l Parcels,shape -i esri_sde -s jayhawk -D demo
ArcSDE
8.2
Build 967 Thu Feb 28 22:31:11 PST 2002
Layer
Administration Utility
----------------------------------------------------Layer 6 Spatial Index Statistics:
Level 1,
Grid Size 1326.14
|-------------------------------------------------------------------|
| Grid Records: 6438
|
| Feature Records: 5099
|
| Grids/Feature Ratio: 1.26
|
| Avg. Features per Grid: 55.03
|
| Max. Features per Grid: 181
|
| % of Features Wholly Inside 1 Grid: 81.64
|
|-------------------------------------------------------------------|
|
Spatial Index Record Count By Group
|
| Grids:
<=4
>4
>10
>25
>50
>100
>250
>500 |
|---------- ------ ------ ------ ------ ------ ------ ------ ------ |
| Features:
5073
26
8
0
0
0
0
0 |
| % Total:
99%
1%
0%
0%
0%
0%
0%
0%|
|-------------------------------------------------------------------|
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Spatial Index Tile Size Considerations
Optimal size varies by average feature envelope
Recalculate index if feature class changes
Most feature envelopes should not exceed grid
size
S-table becomes too large
Features are referenced by many tiles which is inefficient
Use multiple resolutions (multiple grids) for feature
classes with highly-variable feature sizes
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Making Data Editable - Register As Versioned
Performed by data owner in ArcCatalog
Two tables are added to feature class
Additions table
Deletions table
Database Tuning
Water/Wastewater DB Design Conference
February 2005
How Tables React to Edits
Business table
SHAPE
ID
1
2
Name
Roma
Palm
Inserting
Adds table
SHAPE
Deletes table
ID
3
Deleting
Name
Citrus
Adds table
SHAPE
Deletes table
ID
3
Name
Citrus
Adds table
Updating
SHAPE
ID
2
Deletes table
ID
3
1
Database Tuning
ID
Name
Citrus
Roma
ID
2
1
Water/Wastewater DB Design Conference
February 2005
Raster Data Storage
Raster data is stored in a similar fashion to vector
data
4 tables are used to reference a raster feature class
Business table
Raster bands table (stores bands for each image)
Raster auxiliary table (stores metadata for each raster
band)
Raster blocks table (stores the actual raster in a tiled
format)
Blocks table is most important as it is by far the
largest
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Pyramids
Pyramids can be built for a raster layer when
loaded into ArcSDE
Multiple resolutions of the raster layer are stored in
the database
At a zoomed out scale the lower resolution is
displayed
As the user zooms in to the highest level of detail,
the raster as it was originally loaded (its highest
resolution) is shown
This significantly helps to speed display of raster
layers in ArcGIS and ArcIMS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Raster Blocks Table (SDE_BLK_1)
Raster is divided into tiles containing many pixels
and each tile is a row in the table
Each tile at each pyramid level has a row in the table
This table WILL get very large!
RASTERBAND_ID
RRD_FACTOR
1
Database Tuning
ROW_NBR
0
COL_NBR
1
Water/Wastewater DB Design Conference
BLOCK_DATA
2
February 2005
Database Tuning for Oracle and SQL
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Query Response Time
When the client submits a query, the server
must:
Analyze query statement
Fetch data
Transfer results to client over network
2 biggest performance factors are network
and disk I/O
Network I/O is database independent
Scanning large tables increases disk I/O
Fetching and transmitting large results increases
disk and network I/O
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Network I/O
T1 line connecting a remote office to an ArcSDE
database in a headquarters office can be tied up
with one ArcGIS desktop performing normal
operations
Solution to this is terminal emulation software
such as Citrix or Terminal Server
Database Tuning
Water/Wastewater DB Design Conference
February 2005
SQL Server Basics
Terminology is different than that for Oracle
A SQL Server instance is made up of many
databases
SQL Server databases are a logical container
for objects such as:
Users
Roles
Tables
Etc…
Database Tuning
Water/Wastewater DB Design Conference
February 2005
SQL Server Database
A SQL Server database is comprised of data files and
log files
A database has, at minimum, one data file and one log
file
Database
Data
file
Database Tuning
Log
file
Water/Wastewater DB Design Conference
February 2005
SQL Server File Groups
There can be multiple data files and log files and these
can be stored in different places
A group of data files and/or log files is called a file
group
Database
File group
Data
file
Database Tuning
Data
file
Log
file
Log
file
Water/Wastewater DB Design Conference
February 2005
Oracle Basics
Terminology is different than that for SQL Server
An Oracle database is made up of many table spaces
A table space can be made up of many data files. Also
need to be aware of redo log files and control files
Table spaces are logical containers for objects such as:
Tables
Stored procedures
Roles and users are stored at the database level and
not the table space level
Database Tuning
Water/Wastewater DB Design Conference
February 2005
DBTune File/Table
Actually exists as a table in the SDE database or table
space
Contains storage parameters for tables and feature
classes
Whenever a new feature class is created and data is
loaded, the ArcSDE server process reads the DBTune
table for information on how to store these new objects
There can be different parameters for different layers or
data types and these are specified via keywords
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Storing Layers in the SDE Database (SQL) or
Table Space (Oracle)
Do not store layers in the SDE database or
table space
Leave the SDE database or table space for
ArcSDE application use (managing what layers
are where, versioning, etc.)
Otherwise this can significantly slow down
data retrieval as this database or table space
will become large
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Multiple Database Logins
Do not have all your editors in your
organization use the same login
Each database user has a log table in the SDE
database or table space that tracks a user’s
actions
If all users use one login, all their actions will
write to one table and this table will grow very
large very fast
Doing this also prohibits from restricting user
access on a layer by layer basis
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Disk I/O Contention
This is the number one way to slow down an ArcSDE
database
As users view or query data remember that, at
minimum, ArcSDE is working through the business
tables, feature tables, and spatial index tables for each
layer in the map
If the layers are versioned, ArcSDE is also working
through the adds and deletes tables
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Preventing Disk I/O Contention
Use many disks and spread the tables and logs across
those disks
In SQL Server, make use of file groups and spread the
data and log files across different physical disks
In Oracle, make use of different table spaces and store
the different tables (business, feature, and index) in
the different table spaces on the different disks
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Example SQL Server Configuration
Disk 1
Operating System
Pagefile
ArcSDE Software
Disk 3
SQL Server Software
System database
SDE database
Business table file group
Disk 2
Disk 4
Feature table file group
SDE Transaction log
Raster table file group
Spatial index file group
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Example Oracle Configuration
Disk 1
Disk 3
Operating System
Pagefile/Swap space
ArcSDE Software
Oracle Software
Business table space
Primary control files
Disk 2
Disk 4
Redo log
Raster table space
Spatial index table space
Secondary control files
Feature table space
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Disk I/O - RAID
RAID = Redundant Array of Independent (or
Inexpensive) Disks
Different levels of RAID
RAID 0 = Striping. Data is striped across drives. Offers good
performance but no fault tolerance.
RAID 1 = Mirroring. Data is written or mirrored to a second disk.
Simple fault tolerance and performs better than a single disk.
RAID 5 = Striping w/ parity. Data is striped and parity
calculations are distributed among disks. Provides good READ
performance and excellent fault tolerance.
RAID 0 + 1 = Mirroring and striping. Excellent read/write
performance and good fault tolerance.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Other Things You Can Do…
Reduce amount of data processed for faster
queries
Provide a filter to limit number of rows
Index tables and layers to reduce searching
If you know users will search or query on particular
fields, index those fields ahead of time.
ArcSDE is fastest for small, indexed queries!!!
Database Tuning
Water/Wastewater DB Design Conference
February 2005
ArcSDE Performance Tuning
Optimize Workflow
•Data Loading
•Data Maintenance
•Reconcile/Post/Compress
Database Configuration
•Keep it simple
•Increase default cache sizes
Collect Performance Stats
•Establish baseline
•Use for performance validation
Index Management
•Regularly rebuild indexes
Database Design
•Cost of complex data models
•While Editing
•Recursive Relationships
•Feature linked annotation
•Types of labels
Monitor Table Statistics
•Adds and Deletes tables
•SDE.state_lineages, states
Editing Operations
•Use of edit cache is CRITICAL
Versioning Methodology
•Reconcile performance costs
•Using versioning to model
history or alternatives
•Reconcile/post/compress
procedures
A good DBA is ESSENTIAL!
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Tools for Managing ArcSDE Databases
Database vendor provided tools
SQL Server Enterprise Manager
SQL Server Query Analyzer
Oracle DBA Studio
ESRI provided tools
ArcCatalog
ArcSDE command line tools
Other tools
StorageVisitron (available from ArcScripts)
Version Manager ArcObjects sample (Developer Kit)
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Excellent Instructor-led Classes
ArcSDE Administration for SQL Server
ArcSDE Administration for Oracle
System Architecture Design for GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Best Practices for Geodatabase Design
Seamless Data
Structure
Topology
Integrity:
Domains,
Subtypes,
Relationship
classes
Geodatabase
Custom
features
Disconnected
Editing*
Versioning*
Multi-User
Editing*
Scalability*
*ArcSDE Geodatabase
(Enterprise)
Database Tuning
Water/Wastewater DB Design Conference
February 2005
support.esri.com – Project Center
Database Tuning
Water/Wastewater DB Design Conference
February 2005
support.esri.com – Project Center (cont.)
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Database Design
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Data Design Planning
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Geodatabase
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Data Models Tips and Tricks
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Steps to designing geodatabases
Conceptual Design
Identity the information products to be produced with your GIS.
Identify the key thematic layers based on your information
requirements.
Specify the scale ranges and spatial representations for each
thematic layer.
Group representations into datasets.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Steps to designing geodatabases
Logical Design
Define the tabular database structure and behavior for
descriptive attributes.
Define the spatial properties of your datasets.
Propose a geodatabase design.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Steps to designing geodatabases
Physical Design
Implement, prototype, review, and refine your design.
Design work flows for building and maintaining each layer.
Document your design using appropriate methods.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Best Practices
The schema design phase of your geodatabase
implementation is critical to the ultimate performance of
your GIS system.
Geodatabases can contain feature datasets, feature
classes, relationship classes, geometric networks,
topologies, feature-linked annotation, and other
specialized abstractions.
Careful consideration of the cost, limitations, and true
purpose of each of these abstractions is required to
avoid creating a geodatabase that may not perform well
in either a single- or multi-user environment.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Best Practices – Feature Datasets
A feature dataset is a container for feature classes that
share the same spatial reference, along with relationship
classes, geometric networks, and topologies.
Feature classes edited together in ArcMap can be grouped into
feature datasets
Feature classes not typically edited together should be
segregated into separate feature datasets or geodatabases
Feature classes that participate in a geometric network or
topology must be grouped in the same feature dataset.
Feature classes can participate in no more than one topology
OR geometric network.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Best Practices – Subtypes
Subtypes let you apply a classification system within a
feature class and apply behavior through rules.
Subtypes are essential to good design because they
help reduce the number of feature classes and improve
performance.
Let you control every configurable behavior:
Attribute rules
Relationship rules
Network Connectivity Rules
Topology Rules
Reduce the number of feature classes by creating collections of
features within a single feature class
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Best Practices – Relationship Classes
Use relationship classes for referential integrity persisted in the
geodatabase, on-the-fly relates for editing performance, and joins
for labeling and symbology.
Messaging occurs between related objects when querying or editing
these objects. This incurs overhead in the application. Composite
relationship require more messaging, and thus more overhead, than
simple relationships.
Relationships can only be defined between objects in the same
geodatabase.
Still requires a join for SQL query, labeling, or symbology.
When modeling spatial relationships, you will gain efficiency in your
data creation and maintenance procedures by first thinking about how
to use geodatabase topologies, geometric networks, shared-edge
editing, and geospatial operators in your data model before resorting to
relationship classes.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Best Practices – Geometric Networks
A geometric network is a system of edges (lines) and
junctions (points) that convey objects. They are a
mechanism to represent connectivity between edges
and junctions where they connect.
Geometric networks provide fast network tracing capabilities
and maintain connectivity during editing.
The maintenance of the logical network adds overhead to editing
and version management.
The greater number of feature classes participating in a network,
the greater amount of overhead will be incurred in maintaining
the logical network and connectivity during editing.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Best Practices – Topologies
A geodatabase topology lets you accurately model geometric
relationships between features. Topology can be considered a
special type of relationship among features. Your data model will be
more efficient if you can associate features by topology rather than
with a relationship class. But remember that a feature class cannot
participate in a topology and a geometric network at the same time.
Topologies manage a set of rules and errors associated with the
violation of the rules.
A geodatabase topology can incur editing overhead and work flow
considerations.
The greater number of feature classes and rules in a topology, then
greater amount of overhead for the management of the rules and errors
within a topology.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Best Practices – Annotation and Labeling
Choosing whether to cartographically edit or automatically place text
is an important decision. It depends on the quality of source data,
how much effort is to be expended, and the desired map quality.
Feature-linked annotation
Simple annotation
Labels
Annotation class joined in composite
relationship with feature class.
Standalone annotation class.
Text properties, such as font and size, and a
labeling field, defined in an ArcMap
layer.
Framework
Geodatabase data model
Geodatabase data model
ArcMap document or layer property
Typical uses
Fine cartographic placement of annotation
with attribute-based text.
Fine cartographic placement of annotation
with fixed text.
When text values are attribute values that
can be placed automatically on the
map.
Composite objects
Yes
No
No
Referential integrity
Yes
No
No
Pros
The composite relationship lets you update,
move, or delete annotation when
features are edited.
Simple annotation lets you place fixed text
with a high degree of control.
Labeling features is a quick and easy way to
add descriptive text to your map.
Cons
Adds editing overhead; requires more work
than labeling.
Requires more work than labeling; text
values cannot be updated
automatically if attributes change.
While labels will not collide with each other,
cartographic placement is rough.
Recommendations
Use feature-linked annotation for text, such
as street names, building numbers,
and gages.
Use simple annotation for static text or text
describing large or indeterminate
areas.
Use labeling for quickly placing descriptive
text, such as addresses or
measurements.
Definition
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Best Practices – Design Tips
Build on your existing GIS designs
Most existing designs are suitable for moving forward. You can
build on what has worked in the past and find new capabilities
than can improve efficiency.
Use generic geodatabase types when feasible
Combining generic data structures with rich GIS tools provide
the best solutions to scale and support multiple users and
applications.
Leverage the ArcGIS software logic as much as possible and
only use customized GIS data structures as a last resort.
Integrate independent feature classes using topology
Many users will find opportunities to use topologies in the
geodatabase. This can create significant increases in efficiency
for customization, data maintenance, and user productivity.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Best Practices – Design Tips
Combine GIS design concepts with traditional relational
database design methods
Both RDBMS and GIS design methodologies are critical for good
GIS design. One is not sufficient without the other. Learn to use
and apply both techniques.
Prototype and pilot your geodatabase design
Prototyping a design using personal geodatabases, ArcMap, and
ArcCatalog is a very effective option for creating an efficient
design process.
During the final stages of design, you will want to test scalability
and work flows that represent the work your organization will
perform. Use this activity to make final adjustments to your
design as necessary.
Database Tuning
Water/Wastewater DB Design Conference
February 2005
ArcSDE Management Roles & Responsibilities
ArcSDE
RDBMS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
support.esri.com - Project Center
Database Tuning
Water/Wastewater DB Design Conference
February 2005
support.esri.com - Project Center (cont.)
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Project Center - Skill Development
Database Tuning
Water/Wastewater DB Design Conference
February 2005
ArcSDE Management Roles & Responsibilities
The following discussion outlines the major roles and
responsibilities involved in deploying your spatial data
and GIS applications throughout your enterprise.
Two Broad Categories for ArcSDE Roles &
Responsibilities:
Administration
Development
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Administration Tasks
Database Tuning
Water/Wastewater DB Design Conference
February 2005
ArcSDE Service Management
Responsibility:
Manage the ArcSDE service including:
Starting and stopping the service
Establishing a recovery process, if the service stops
Establishing a troubleshooting process
Remedy an ArcSDE service that will not restart
Fail-over
Requirements to do the Job:
Must have Administrative or Power User rights on the service host
Must have access to the Windows Event Log
Must have Administrative access to the DBMS to diagnose database
changes or problems
Must have knowledge of IT policies and methodologies
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Server Load Management
Responsibilities:
Monitor and remedy server load
Monitor server load or automate the monitoring of the server load
Create framework for alerts
Diagnose which processes and operations are overloading the server
Remedy unnecessary load, like a runaway process
Build plan(s) to overcome overloaded server
Potentially build fail-over infrastructure of mission critical server
Requirements to do the Job:
Access to system monitoring tools (e.g. PerfMon, Task Manager)
Must have Administrative or Power User rights on the host
Must have knowledge of IT policies and methodologies
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
ArcSDE Service Anomaly Management
Responsibility:
Manage the ArcSDE service if unforeseen troubles occur
Requirements to do the Job:
Must have Administrative or Power User access to the service host
Must have access to the Windows Event Log to diagnose problems
Must have access to a technical support group to diagnose and remedy
problems
Must have Administrative access to the DBMS to diagnose database
problems
Must have knowledge of IT policies and methodologies
Must be able to troubleshoot ArcSDE service anomalies
Must be able to understand ArcSDE error logs to help resolve problems
Owner: IT or GIS
Notes:
Timely support required and is part of the criteria for choosing the staff
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Spatial Database Access
Responsibilities:
Manage access to the spatial database in ArcSDE, including:
Create new users to a spatial database
Maintain administration user
Create a procedure to support ArcSDE/RDBMS standard security (i.e.
ArcSDE does not support integrated security)
Prepare and enforce procedure to manage ArcSDE clients (e.g.
individual logins/roles)
Lock down command line administration tools
Requirements to do the Job:
Must have administrative access to RDBMS to create logins
Must have administrative access to RDBMS spatial databases
Must have the ability to control the use of the ArcSDE admin tools (e.g.
sdemon)
Must know how to enforce RDBMS data access
Must have knowledge of IT policies and methodologies
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Spatial Database Recovery
Responsibility:
Establish recovery policy and procedures including:
Frequency (incremental, differential)
Archive location
Versioning
Recovery medium (i.e. backup vs. replication)
Enforce recovery policy and procedures
Automate recovery procedure where practical
Requirements to do the Job:
Must have administrative access to SQL Server to create and maintain
recovery procedure
Must know how to create and enforce SQL Server recovery procedures
Must have knowledge of ArcSDE layer schema to recover correct database
objects
Must have knowledge of IT policies and methodologies
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Replicate Spatial Data
Responsibilities:
Configure ArcSDE replication facilities (e.g. f and s tables)
Establish appropriate replication for business needs (e.g.
transactional, snapshot, merge)
Implement replication needs
Requirements to do the Job:
Must have administrative access to RDBMS to create and maintain
replication configurations
Must know how to create and enforce RDBMS replication
Must have knowledge of ArcSDE layer schema to replicate correct
database objects
Must have knowledge of IT policies and methodologies
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Tune ArcSDE Layers
Responsibilities:
Configure a spatial index for a given layer
Measure and monitor the performance of the spatial searches
critical to the business needs of the organization (i.e. data
maintenance, custom products, general products)
Maintain performance and Quality of Service as new spatial
applications arrive, data and maintenance grows, and the user base
increases
Requirements to do the Job:
Must know how to adjust a spatial index of an ArcSDE layer
Must know how to measure the performance of a spatial search in a
given application
Must know Quality of Service requirements
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Tune Server and Network Infrastructure
Responsibilities:
Configure the ArcSDE instance parameters for the ArcSDE server
Measure and monitor the performance of the ArcSDE server
instance, and the anticipated needs (i.e. data maintenance, custom
products, general products, usage growth)
maintain performance and quality of service as new users and
applications arrive, data and maintenance grows, and the user base
increases
Requirements to do the Job:
Must know Quality of Service requirements
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
ArcSDE Upgrade Management
Responsibilities:
Ensure ArcSDE service version is up to date, and supports existing and new
application functionality
Ensure ArcSDE compatibility with applications (i.e. MapObjects, ArcIMS,
ArcGIS)
Install and configure upgrades to ArcSDE service and its application clients
Support and remedy incompatibility issues
Implement ArcSDE upgrades (service packs, sdeupgrade)
Install and configure upgrades of ArcSDE dependencies (e.g. DBMS, access
libraries, operating system)
Requirements to do the Job:
Must be able to monitor and maintain the versions of ArcSDE and the
applications it supports
Must be able to monitor and maintain the versions of ArcSDE dependent
technologies (e.g. operating system, DBMS, etc.)
Must have administrative privileges on ArcSDE server
Must have administrative privileges on ArcSDE DBMS
Must have knowledge of IT policies and methodologies
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Research Improvements in Data Management
Responsibilities:
Continually investigate how to improve spatial data management
Continually test and scrutinize new spatial data management tools,
techniques, and technologies
Investigate new data management techniques (e.g. DBMS abstract data
types)
Investigate new spatial analysis to improve overall the organizations
effectiveness
Requirements to do the Job:
Must have knowledge of common GIS tools, techniques, and modern
technologies
Must have knowledge of common spatial data maintenance issues and
requirements
Must have knowledge of common spatial data access issues and
requirements
Must have knowledge of GIS services and practices
Must have a willingness to try new things
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Development Tasks
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Develop Tools and Workflow to Maintain Changes to
Spatial Data
Responsibilities:
Translate related changes in business data to changes in spatial data (e.g.
city annexed 2 new parcels)
Use the right GIS tool and approach to maintain the spatial data
Automate data maintenance where practical
Support automation (tools or workflow)
Integrate new GIS tools and techniques to maintain the spatial data
Requirements to do the Job:
Must have knowledge of the functional capabilities of ESRI client
applications
Must have knowledge of current software engineering policies and
methodologies
Must have knowledge of GIS policies and methodologies
Must have knowledge of GIS discipline (e.g. coordinate systems, topology)
Must have knowledge of spatial editing issues (e.g. topology, spatial
processing)
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Develop Custom GIS Solutions
Responsibilities:
Understand and translate specific business need to GIS analysis
perspective
Identify the right tool and spatial data to deliver that business need
Develop spatial solution to satisfy that business need
Test spatial solution
Deliver or deploy spatial solution
Requirements to do the Job:
Must have the ability to translate general business needs to spatial
processing requirements
Must have knowledge of the functional capabilities of ESRI client
applications
Must have knowledge of current software engineering policies and
methodologies
Must have knowledge of GIS policies and methodologies
Must have knowledge of GIS discipline (e.g. coordinate systems, topology)
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Develop General GIS Applications
Responsibilities:
Develop GIS application for general business needs (e.g. “show all the
hydrants inspected this year on a map”)
Test GIS application for general business needs
Deploy GIS application for general business needs
Maintain GIS application for general business needs
Requirements to do the Job:
Must have knowledge of the functional abilities and limitations in ESRI
client applications (e.g. ArcObjects)
Must have knowledge of current software engineering policies and
methodologies
Must have knowledge of GIS policies and methodologies
Must have knowledge of GIS discipline (e.g. coordinate systems, topology)
Must have knowledge of IT policies and methodologies
Must know how to deploy applications
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Support Deployed GIS Applications
Responsibilities:
Support users with technical issues about GIS applications (e.g.
“help desk”)
Maintain the data sources for GIS applications
Troubleshoot functional issues of a GIS application
Support web based spatial applications (if web based mapping
services apply)
Requirements to do the Job:
Must have the ability to install and uninstall applications and their
dependencies
Must have knowledge of IT policies and methodologies
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Spatial Data Design
Responsibility:
Determine the appropriate layout of spatial data layers, including:
Organize by entity type (e.g. points, lines, polygons)
Organize by functional analysis (e.g. SQL queries)
Organize by normalization principles
Organize by maintenance (i.e. minimize maintenance effort)
Organize by spatial data vendors (e.g. Assessor changes, CAD
structure)
Requirements to do the Job:
Must know spatial data maintenance workflow in detail
Must know how the spatial data will be used (i.e. map functionality
and products)
Must know basic principles of normalization and database objects
Must know ArcSDE layer schema
Owner: IT or GIS
Database Tuning
Water/Wastewater DB Design Conference
February 2005
Thank you!
Questions?