270 likes | 392 Views
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
E N D
Ingres Version 6.4An 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 • 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 • Uses “GCA” Protocol • Receives connection request from User Image • Provides mailbox address to User • User Image Connects to DBMS • What about Ingres / Net ?
DBMS Server • The Ingres “engine” • Accepts incoming SQL • Processes it • Executes I/O on behalf of Users • Multi - threaded
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) • “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 !
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
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 user’s front end program !
Conclusions • Ingres DBMS is complex • Multiple Components • Handle with care !!!