DB architectuur joost.vennekens@denayer.wenk.be
DB - logisch perspectief -
DB - fysisch perspectief -
DBMS Fysische details van databank beheren Zodat gebruiker zich enkel om logische perspectief moet bekommeren Vereisten Snel gegevens terugvinden Integriteit van gegevens (Vertrouwelijkheid,...) Belangrijk concept: transactie
Transacties
Invoer Afkomstig van Naive gebruikers App. programmeurs Gesofisticeerde gebruikers System admins
Soorten invoer Queries Generic query interface (SQL) API Aanpassingen gegevens Generic query interface (SQL) API Aanpassing schema
Architectuur van een DBMS Belangrijkste ur 14 worden de verschillende onderdelen van een DBMS getoond. Onderaan is de plaats esteld waar de data gestockeerd wordt; gewoonlijk is dit één of meerdere disks. Deze compoevat niet alleen gewone, echte data maar ook metadata. Dit is informatie over de structuur data. Bij een R-DBMS bijvoorbeeld componenten bevat de metadata de namen van de relaties, de namen e attributen van deze relaties de datatypes van deze attributen (integer, string,...). Een S bevat normaal ook indexen voor de data. Een index is een datastructuur die het zoeken formatie in de databank versnelt. aanpassingen 3 queries Query Processor Storage Manager schema aanpassingen Transaction Manager Data Metadata -> indexen
Storage manager Beheert bestanden Aanpassen & opvragen Onderdelen File manager Buffer manager ~ Controller RAM HDD
Query processor Ontvangt hoog niveau bevelen of vragen (SQL) Zet deze om naar commando s voor storage manager Belangrijk: query optimisatie ~ View
Transaction manager Verzekert integriteit van data Parallelle bewerkingen Systeemcrash Belangrijk: logging
Oracle architectuur
.5 Architectuur DB van Oracle. vs instance.5.1 Database versus instance e database is de data op disk, gestockeerd op bestanden van het onderliggende operating system, f eventueel in UNIX in raw bestanden. De instance bestaat uit het System Global Area (SGA) eheugen en de achtergrond processen. Een instance wordt gestart door gebruik te maken an de Oracle Server Manager of de Oracle Enterprise Manager (OEM). De database wordt dan emount op de instance en tenslotte geopend. Gebruikers kunnen dan CONNECTeren naar e instance om de data in de database 2. MOUNT te raadplegen. Figuur 15 toont de basiscomponenten van en Oracle database en instance. Oracle database Parameter files Control files Datafiles Redo Log files disk Oracle server Oracle instance System Global Area (SGA) Background processes 1. START memory 3. OPEN Figuur 15: Oracle database en Oracle instance ehalve wanneer er gebruik gemaakt wordt van de Oracle Parallel Server (OPS) optie, is er een
Control files Datafiles Redo Log files Oracle Parallel Server disk Oracle server Figuur 15: Oracle database en Oracle instance memory Behalve wanneer er gebruik gemaakt wordt van de Oracle Parallel Server (OPS) optie, is er een één-op-één mapping tussen instance en database. In de OPS wereld kan de database gemount zijn op verschillende instances. server A De instance op server A en de instance op server B zijn beide gemount op dezelfde fysische database Oracle database server B Figuur 16: Oracle Parallel Server De Oracle DBMS server is gebaseerd op een Multi-Server Architectuur. De server is verantwoordelijk voor het verwerken van alle database activiteiten, zoals het uitvoeren van SQL statements, beheer van gebruikers en resources en het beheer van de opslagplaatsen (storages). Alhoewel er maar één copy van de programma code van de DBMS server in geheugen aanwezig is, wordt een logische server aan elke geconnecteerde gebruiker toegewezen. Figuur 17 illustreert de architectuur
Architectuur Server Server Server Proces Proces Proces PGA PGA PGA cache User 1 User 2 User 3 User n Database buffer DBWn Datafiles Server Proces PGA System Global Area (SGA) Redo-Log- Shared Pool Buffer Dictionary Cache Log Archive Library Cache Buffer Background Processen LGWR ARCH PMON SMON Redo-Log files Control files Archive- and Backup files
DBWn Database Writer Van cache naar bestanden Beleid: Least Recently Used (LRU) Verschillende writer processen in parallel (DB_WRITER_PROCESSES parameter)
LGWR Log writer Redo informatie Beheren redo-log-buffer DBWn wacht op LGWR
SMON System monitor Instance recovery adhv redo logs Opruimen tijdelijke informatie Coalescing
PMON Process monitor Opruimen als gebruikersproces wegvalt Cache Locks PID Evt. rollbacks
CKPT Alle wijzigingen wegschrijven Maakt nieuwe consistente versie van DB Vanwaar instance recovery kan beginnen Bij wissel van redo log Verminderen van MTTR
ARCn Archiveren van redo logs Voordat ze overschreven worden door LGWR
RECO Bij gedistribueerde DBs Zorgt dit ervoor dat ofwel alle locaties een transactie doen ofwel geen enkele
Architectuur Server Server Server Proces Proces Proces PGA PGA PGA cache User 1 User 2 User 3 User n Database buffer DBWn Datafiles Server Proces PGA System Global Area (SGA) Redo-Log- Shared Pool Buffer Dictionary Cache Log Archive Library Cache Buffer Background Processen LGWR ARCH PMON SMON Redo-Log files Control files Archive- and Backup files
Geheugenstructuren System global area Program global area Sorteergebied
SGA Informatie die gedeeld wordt tussen systeemprocessen gebuikersprocessen Zevental belangrijke componenten
SGA: Database buffer cache Kopie van DB gegevens in RAM Belangrijk voor performantie Grootte is belangrijke parameter LRU update Beheerd door DWRn
SGA: Shared pool Info uit verwerking van SQL, PL/SQL Spaart tijd bij gelijkaardige queries Twee belangrijke onderdelen: Dictionary cache -> metadata over structuur van DB Library cache -> parse tree, execution plan
SGA: Andere Redo log buffer -> LGWR Large pool -> grote brokken gegevens (optioneel) Java pool -> Oracle JVM Streams pool -> gedistribueerde omgeving Log archive buffer -> ARCH (optioneel)
Program global area Hoort bij een gebruikersproces Configuratie: shared server dedicated server Daarnaast sorteergebied voor dataoperaties, zoals sorteren, hash-join,...
.5 Architectuur Fysische van Oracle. DB structuur.5.1 Database versus instance e database is de data op disk, gestockeerd op bestanden van het onderliggende operating system, f eventueel in UNIX in raw bestanden. De instance bestaat uit het System Global Area (SGA) eheugen en de achtergrond processen. Een instance wordt gestart door gebruik te maken an de Oracle Server Manager of de Oracle Enterprise Manager (OEM). De database wordt dan emount op de instance en tenslotte geopend. Gebruikers kunnen dan CONNECTeren naar e instance om de data in de database 2. MOUNT te raadplegen. Figuur 15 toont de basiscomponenten van en Oracle database en instance. Oracle database Parameter files Control files Datafiles Redo Log files disk Oracle server Oracle instance System Global Area (SGA) Background processes 1. START memory 3. OPEN Figuur 15: Oracle database en Oracle instance ehalve wanneer er gebruik gemaakt wordt van de Oracle Parallel Server (OPS) optie, is er een
Fysische DB structuur Parameter files (INIT.ORA) -> bij START, geeft configuratie van instance Control files -> bij MOUNT, namen van datafiles en logfiles Datafiles -> gegevens, na OPEN Redo log files -> voor recovery
Low-level -> high livel DBMS beheert data zoveel mogelijk zelf DB Tablespace ~ aantal bestanden <- segment... <- block (parameter) extent extent
Tablespaces SYSTEM altijd beschikbaar vanaf OPEN data dictionary ROLLBACK bevat rollback segmenten ipv tabellen before image voor consistent lezen of rollback TEMP, TOOLS, USERS DBA kan bijmaken voor gebruikersdata
Schema = gebruiker Bevat tabellen, views, indices Elk object is eigendom van een schema SYS: eigenaar van data dictionary SYSTEM: extra systeeminformatie Andere gemaakt door DBA
Fysische en logische structuur redo log file database control file data file tablespace table block extent segment index rollback