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ázi Technologie 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ázi Technologie 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ázi Technologie 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ázi On-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ázi On-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ázi Metoda 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ázi Metoda 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ázi Strategie 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ázi Strategie 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ý.