Databázové systémy
Přednáška č. 6
Architektura databázových systémů,
Zálohování dat v databázi
Architektura databázových systémů
Typ architektury databázového systému by měl odpovídat:
• účelu a typu databáze
• technologickým a finančním možnostem
• počtu uživatelů sdílejících informace v databázi
• typu zpracovávaných informací
Základní dělení architektury databází je:
• Jednovrstvá centralizovaná architektura
• Dvouvrstvá architektura (Klient-Server, File-Server)
• Vícevrstvá architektura
Architektura databázových systémůJednovrstvá centralizovaná architektura
Architektura s použitím centrálního počítače Báze dat a systém řízení báze dat jsou společně na
centrálním počítači
Architektura databázových systémůJednovrstvá centralizovaná architektura
Ke zpracování požadavků a vstupních dat dochází na centrálním počítači.
Terminál pouze zajišťuje komunikaci uživatele s centrálním počítačem a zobrazení výsledků požadavků.
Architektura databázových systémůJednovrstvá centralizovaná architektura
Výhoda: Podpora víceuživatelského přístupu k datům. Nevýhoda: Vlivem centrálního zpracování dat a
víceuživatelského přístupu dochází ke zpracování více úloh najednou na úkor delší časové odezvy.
Architektura databázových systémůJednovrstvá architektura s lokální databází
V případě, že databázový systém poběží bez použití sdílení informací mezi více uživateli, pak lze použít jednovrstvou architekturu s lokální databází.
Výhody: Rychlost Není potřeba DB Server Není potřeba počítačová síť
Nevýhody: Omezené množství dat Omezený počet uživatelů
Architektura databázových systémůDvouvrstvá architektura
Rozdělení do dvou skupin:
Architektura File-Server
výkon spojený s aplikačními službami je na straně klienta
Architektura Klient-Server
výkon spojený s aplikačními službami je na straně serveru
Architektura databázových systémůDvouvrstvá architektura – File-Server
Databáze s daty je umístěna na serveru Poskytování a sdílení dat prostřednictvím sítě a SŘBD na
počítačích uživatelů Je nutné zajistit ochranu používaných záznamů z důvodu
současného přístupu více uživatelských SŘBD najednou
Architektura databázových systémůDvouvrstvá architektura – File-Server
Průběh komunikace mezi serverem a počítačem: uživatel vytvoří dotaz, SŘBD zpracuje dotaz a odešle konkrétní datový
požadavek na DB, File-Server odešle bloky dat na lokální uživatelský
počítač, kde SŘBD data dále zpracuje výsledky se uloží na PC, zobrazí na monitoru nebo
se vytisknou jako sestava.
Nevýhoda:
- velké nároky na kapacitu datových přenosů
Architektura databázových systémůDvouvrstvá architektura – Klient-Server
SŘBD běží na serveru, kde je umístěna i databáze Na počítačích uživatelů běží aplikace pro předávání
požadavků a zobrazení výsledků
Architektura databázových systémůDvouvrstvá architektura – Klient-Server
Průběh komunikace mezi serverem a počítačem: aplikace na počítači formuluje dotaz nebo
požadavek na data pomocí strukturovaného jazyka (SQL dotazu) a odešle jej na server,
server zpracuje dotaz, výsledek dotazu posléze odešle do počítače aplikace převede výsledek do výstupní podoby.
Architektura databázových systémůDvouvrstvá architektura – Klient-Server
K uživateli jsou přesunuty pouze uživatelské služby a získává pouze požadované informace.
Aplikační a datové služby probíhají na straně serveru.
Výhody: snížení množství dat pohybujících se v síti, minimální zatížení sítě, vysoká pružnost aplikací, rozdělení zpracování záznamů.
Architektura databázových systémůVícevrstvá architektura
Výkon spojený s aplikačními službami soustředěn na serveru a uživatel pracuje pouze s uživatelským rozhraním
Datové a aplikační služby jsou rozděleny do samostatných logických celků
Architektura databázových systémůVícevrstvá architektura
Výhoda: Zisk vyšší úrovně stability vlivem rozložení provozní
zátěže na dva nebo více serverů
Architektura databázových systémůArchitektura distribuovaných DBS
Data a databáze jsou rozděleny do několika částí a následně rozloženy v několika počítačích
Uživatelsky se databáze jeví jako celistvá
Architektura databázových systémůArchitektura distribuovaných DBS
Základní vlastnosti distribuované architektury:
Transparentnost - z pohledu klienta se zdá, že všechna data jsou zpracovávána na jednom serveru v lokální databázi.
Autonomnost - s každou lokální bází dat zapojenou do distribuované databáze je možno pracovat nezávisle na ostatních databázích.
Nezávislost na typu sítě - architektura podporuje různé typy sítí
Architektura databázových systémůArchitektura distribuovaných DBS
Architektura musí obsahovat Globální a Lokální SŘBD. Globální SŘBD eviduje umístění všech dat, zajišťuje
převod požadavků, referenční integritu a řízení sdíleného přístupu k datům.
Lokální SŘBD – vytváří exportní schéma, které definuje data sdílená s jinými uživateli
Kopie globálního SŘBD je umístěna na každé stanici pod názvem Distribuovaný SŘBD.
Architektura databázových systémůArchitektura distribuovaných DBS
Výhody: zvýšená spolehlivost a míra dostupnosti dat místní řízení báze dat a snazší růst systému snazší implementaci dalších lokálních databází menší nároky a náklady na komunikaci rychlejší odezvy
Nevýhoda: méně snadná kontrola referenční integrity dat nebezpečí pomalé odezvy, pokud jsou data nevhodně
distribuována
Zálohování dat v databázi
je životně důležité pro minimalizaci rizika ztráty dat jde o denní, týdenní nebo měsíční uchování dat,
informací a vědomostí za účelem jejich obnovy provádí se na přepisovatelná média v určitých
intervalech stanovených zálohovací strategií
Jako zálohovací médium jsou používány:
• pásky,
• magneto-optický disk
• CD medium apod.
Zálohování dat v databázi
Nejčastější problémy, které mohou vést k výpadku:
• výpadek elektrického proudu
• chybně fungující nebo špatně nastavený záložní zdroj
• neregulerní chování jiného programu běžícího na serveru
• vadná součást počítače (paměť, pevný disk, nestabilní OS)
• chyba v aplikaci, která se projeví např. při nějaké velmi netypické konstelaci dat, se kterou vývojáři nepočítali apod.
Zálohování dat v databázi
Pro zálohování by mělo platit, že:zálohování je prováděno dostatečně často – 1x denně, zálohování probíhá v době nejmenšího provozu – v noci, záloha se vytváří na jiném počítači (externím disku), než na
kterém je provozován databázový server,zálohy databáze jsou uchovávány po určitou dobu a to:
•v rámci posledního týdne jsou uchovány zálohy každého dne
•v rámci posledního měsíce je uchována jedna záloha z každého týdne.
•v rámci posledního roku je uchována jedna záloha z každého měsíce.
Zálohování dat v databáziTechnologie zálohování – DAS (Direct Attach Storage)
disky či zálohovací zařízení jsou součástí datového případně zálohovacího serveru
není možné fyzicky oddělit data od samotného serveru potíže při migraci dat na jiný server - omezená kapacita disku nelze zajistit architekturu bez kritických subsystémů
Zálohování dat v databáziTechnologie zálohování – SAN (Storage Area Network)
Je vytvořena oddělená datová síť, která slouží pro připojení externích zařízení k serverům (disková pole, páskové knihovny apod.)
Zálohování dat v databáziTechnologie zálohování – SAN (Storage Area Network)
Výhody:
• fyzické oddělení dat a serverů
• sdílení zdrojů mezi jednotlivými servery
• vyšší propustnost
• umožnění definice redundantních cest ke zdrojům
• podpora pro architekturu "no single point of failure"
Zálohování dat v databáziOn-line zálohování
Zálohování serverů probíhá za pomoci tzv. zálohovacích agentů.
Agenti zálohují logické a žurnálové soubory spolu s daty a zajišťují tím integritu dat.
Zálohovat a obnovovat je možné také pouze vybrané databázové objekty.
Obnova poškozených databází nebo objektů může probíhat bez zastavení databázového serveru.
Zálohování dat v databáziOn-line zálohování
On-line zálohy jsou trojího typu:
• Úplná záloha – zálohují se všechny bloky databázového souboru
• Inkrementální záloha – zálohují se jen bloky, které byly změněny od poslední zálohy libovolného typu
• Kumulativní inkrementální záloha – zálohují se všechny bloky, které byly změněny od poslední úplné zálohy.
Zálohování dat v databáziŽurnálování – žurnálový soubor
Je velmi důležité pro zajištění logické integrity databáze.
Jde o binární soubor, ve kterém se ukládají informace o transakcích (např. zápis a čtení na disku, ukládání, aktualizace a vymazávání informací z databáze apod.)
je nutný kvůli chybám, které mohou nastat během výpadku serveru
Zálohování dat v databáziMetoda stínování
Stínování aktualizuje kopii databáze po každém zakončení transakce.
Při výpadku hlavního serveru, je možné přepnout se na databázi na záložním (tzv. stínovacím) serveru a pokračovat v práci do vyřešení problému na hlavním serveru.
Tato metoda nepracuje v realtime režimu a data se na stínovaný server dostávají s malým zpožděním.
Metoda stínování nezajistí integritu dat v případě výpadku.
Zálohování dat v databáziMetoda zrcadlení
Metoda je založena na udržování identických kopií dat na dvou či více discích – hovoříme o tzv. zastupitelnosti disků.
V případě kolize jednoho disku je databáze schopna pracovat s ostatními disky.
Po následné výměně za nový je provedena automatická synchronizace dat na discích
Časový interval, kdy jsou data nedostupná je téměř nulový.
Výhoda: rychlejší čtení (řadič může střídat požadavky mezi disky, “rozdávat práci”),
Nevýhoda: pomalejší zápis (zapisuje se 2x).
Zálohování dat v databáziStrategie zálohování
Individuální pracovní stanice Celý systém se zálohuje jednou za měsíc nebo před
instalací většího softwarového produktu.
Malá síť Je vhodné provádět měsíční zálohy celého systému
a týdenní kumulativní inkrementální zálohy. Je doporučeno měsíční zálohy uchovávat po celý
rok. Týdenní zálohy uchovávat měsíc.
Zálohování dat v databáziStrategie zálohování
Velká síť Jsou zde nutné aktuální a úplné zálohy, které je
možno okamžitě použít. Používá se síť, speciální disky a metoda zrcadlení Každý večer by se měl obsah celého disku zrcadlit
na vzdálené disky na jiném místě. Při výpadku hlavního systému, může naběhnout
systém vzdálený.