Вы находитесь на странице: 1из 25

Ingres Version 6.

4 An Overview of the Architecture


Presented by Quest Software

Ingres 6.4 - An Overview


Client / Server Architecture Components Locking & I/O Server Internals
Query Processing

Client - Server Architecture

Client - Server Architecture


User Image Name Server DBMS Server Archiver Recovery Process

Name Server
isql dbname
image activated call Ingres General Communication Facility (GCF) routines opens connection to Name Server

Name Server

Name Server
Uses GCA Protocol Receives connection request from User Image Provides mailbox address to User User Image Connects to DBMS What about Ingres / Net ?

Name Server - Ingres /Net

DBMS Server
The Ingres engine Accepts incoming SQL Processes it Executes I/O on behalf of Users Multi - threaded

Components

Logging and Recovery


DBMS Server
writes to memory log buffers

Recovery Process
Reads from memory log buffers Writes to Physical Log File Returns ok to complete to Server

DBMS Server
writes to the database

Logging and Recovery (cont)

Logging and Recovery (cont)


Circular Log File All transactions which update the database are logged Writes Before Image to log file Transaction Complete stamp after complete Write to the log file BEFORE the database

Group Commit / Fast Commit


Group Commit
Sever writes query A to log buffers Sever writes query B to same buffers All commits are written together

Fast Commit
Server writes forces directly to Log File then writes to the database (Cached) Write-Behind threads write to the database

Archiving
Log File has periodic Consistancy Points Archiver reclaims space from the Log File Only extracts COMMITED transactions from the Log File Writes transactions to the Journals Moves the End Of File marker forward

Archiving (cont)
If there are Uncommitted Transactions in the Log File
Archiver Process cannot extract them Cannot move the EOF marker Log File Fills Up Chaos !

Components

Locking
Initiated by Server Process Types
Exclusive / Shared

Levels
Page / Table / Database

VMS Cluster
II_CSP talks to clusterwide lock manager

Locking (cont)
Locking Escallation can Occur when
MAXLOCKS exceeded Locks Per Transaction exceeded Ingres installation-wide resources low

Blocking Locks
Cause Deadlock checking to start

I/O Handling
Unix has Synchronous I/O
call iislave processes to offload I/O requests II_NUM_SLAVES how many ?

VMS has Asynchronous I/O

Server Internals

Query Processing - Parsing


Query arrives in Server Control Facility (SCF) Store Text in Query Storage Facility (QSF) Parse the Query (PSF) Check the Relational Descriptions (RDF) Check Query Modifications due to Permits, Views etc. (QRYMOD)

Query Processing - Planning


Create a Parsed Query Tree in QSF Optimiser (OPF) uses Query Tree & Statistics to develop Query Plan Store the Query Plan in QSF Query Execution Facility validates table descriptions (QEF)

Query Processing - Execution


Access the actual files using the Data Manipulation Facility (DMF) DMF returns data to QEF QEF returns data to SCF SCF returns data to GCA communications Eventually ends up at the users front end program !

Conclusions
Ingres DBMS is complex Multiple Components Handle with care !!!

Вам также может понравиться