330 likes | 511 Views
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
E N D
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ý.