|
Synopsis |
An intensive 3-day master-class in Ingres
programming, consisting of lectures, case-studies, and supporting labs.
Provided on-site, using Ingres on Linux, Unix or W2K/W2K3. This course will
help designers and experienced application programmers unlock the full power of
Ingres to develop very fast, very efficient programs, able to scale to handle
enterprise volumes of data and users. Emphasis is on managing and preventing
I/O and concurrency problems. Query tuning and advanced SQL techniques are
discussed in depth. Both On-Line Transaction Processing (OLTP) and batch
processing problems are discussed. The transformation from row-at-a-time to
set-at-a-time processing to achieve a +1,500% increase in processing speed is
illustrated with a case-study. Examples of techniques for improving performance
are illustrated with benchmarks. A large database is supplied to support the
labs. This course is aimed squarely
at programmers, programmer team-leaders, and application architects.
Performance-related DBA topics such as physical database design, selection of
table structure, physical key design, indexing, and integrity constraints are not
discussed. (For coverage of these topics see
Ingres Database
Administration.) |
Customers in the US/Canada should
contact KB
Computer Associates to schedule this course |
|
Duration and Cost |
3 days, £1,050 / $2,050USD / €1,560, per seat, ex VAT |
Price excludes VAT and other applicable local taxes |
|
Location |
London, Manchester, Dublin, and
on-site world-wide |
|
|
Format |
Lecture and labs |
|
Course
Code |
AIP |
|
|
Prerequisites |
A strong knowledge of at least one programming
language (e.g. C, Cobol, ABF/4GL, OpenROAD, Java), good basic knowledge of SQL
(or successful completion of Intermediate SQL for
Ingres), some previous exposure to Ingres, and a strong desire to write
fast, effective, and reliable code. This is a master-class and it assumes a
high level of Ingres expertise from the outset. |
|
|
Outline
Day 1 |
| Chapter 1 |
Introduction |
| |
design for
performance / development for performance / programmer's
responsibilities / standards and style / the two great costs |
| Chapter 2 |
What Makes
Programs Slow |
| |
why programs
are slow / understanding disk and network I-O / queuing and the Forced
Flow Law / lock contention / the users' perspective |
| Chapter 3 |
Lockmodes and
Isolation Levels |
| |
locking as a
programming issue / database consistency / Ingres locking / setting
lockmodes / transaction isolation levels / choosing an isolation level /
row-level locking / deadlock |
| Chapter 4 |
Transaction
Management |
| |
transaction
basics / transactions and locking /
autocommit / The Transaction Management Problem / automating transaction
management / common problems / generating key values / gap-free
numbering / unrelated work / stateless clients / optimistic locking /
user think-time / logging |
|
|
|
Day 2 |
| Chapter 5 |
Advanced SQL |
| |
exploiting
Ingres SQL / logical order of execution /
outer joins / select-expressions / unions / subqueries / scalar
subqueries / CASE expressions / any()
|
| Chapter 6 |
Tracing and
Benchmarking |
| |
tracing I-O,
logging, and locking / tracing query plans / re-directing trace logs /
program-controlled tracing / system-wide statistics / diagnosing
lock-contention / IMA / how to benchmark / finding problem queries /
query-level response time / application-level response time / continuous
response-time monitoring |
|
|
|
Day 3 |
| Chapter 7 |
Query Execution
Plans I |
| |
goal-orientation of SQL / candidate query plans / reading QEPs / node
types / join techniques / query flattening |
| Chapter 8 |
Query Execution
Plans II |
| |
QEP
tell-tales / common errors / function joins / QEP v. reality / key
statistics / completeness / case studies / problems with REPEATED
queries |
| Chapter 9 |
Set-Oriented
Processing |
| |
REPEATED
queries / cursors and select-loops /
UPDATE...FROM / row-at-a-time processinng /
set-at-a-time processing / temporary tables /
set-oriented thinking |
|
Contact us
 |
|
|
Discounts are available for large
blocks of training or training credits bought at once. Contact us for
details. |
|
|