Architektury a technika databázových systémů Jiří Zechmeister 1., 2. přednáška

Slides:



Advertisements
Podobné prezentace
Architektury a techniky databázových systémů 30. září 2013
Advertisements

Architektura databáze Oracle
2.1 Pevný disk Fyzická struktura  plotny  záznamový materiál  č/z hlavičky  prachotěsný obal  motorky otáčení ploten  plotny na jedné hřídely.
Hotel Tatra, Velké Karlovice 23. – 25. dubna 2007 S4U – Seminář o Univerzitním informačním systému 1 Osobní management Tomáš Procházka.
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Kateřina Raichová. Materiál je publikován pod licencí Creative Commons. ze sady:3tematický.
Projekt Informační a vzdělávací portál Libereckého kraje I CZ.1.07/1.1.00/ I Školení pro uživatele portálu.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Inf Používání a tvorba databází. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT.
Rekvalifikace a veřejné zakázky v oblasti zaměstnanosti Mgr. Eva Friedrichová vedoucí oddělení poradenství Úřad práce v Liberci Projekt: Podpora dalšího.
BEZPEČNOSTNÍ TECHNOLOGIE I Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ )
Počítačové sítě 8. Využití sítí © Milan Keršlágerhttp:// Obsah: ● sdílení v sítích.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Využití informačních technologií při řízení obchodního řetězce Interspar © Ing. Jan Weiser.
POČÍTAČOVÉ VIRY A ANTIVIROVÉ PROGRAMY. Viry a antivirové programy VIR program, který se dokáže sám šířit bez vědomí uživatele. pro množení se vkládá do.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Prostředí internetu Číslo DUM: III/2/VT/2/2/27 Vzdělávací předmět: Výpočetní technika Tematická oblast:
Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační.
Globální adresace na Internetu Vazební síťové prostředky (uzly) Směrování Adresný plán.
Systém správy dokumentace akreditované zkušební laboratoře Bc. Jan Randl, 4912.
Název školyZákladní škola praktická Rožnov pod Radhoštěm Číslo projektuCZ / / Číslo materiáluVY_32_INOVACE_225 AutorMgr. Romana Rybiařová.
Prostředí pro provoz IS Vývoj informačních systémů.
Management počítačových sítí Počítačové sítě VUT v Brně Fakulta podnikatelská Lekce 4 – Management síťové vrstvyIng. Viktor Ondrák, Ph.D.strana 1 Lekce.
Bc. David Gešvindr MCT | MSP | MCTS | MCITP | MCPD.
Principy Základních registrů Ing. Ondřej Felix, CSc.
Síťové operační systémy OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
Postup modelování Kateřina Růžičková. Postup modelování Rozhodnutí modelovat Definice problému Existence modelu, pro daný problém Identifikace modelu.
OPERAČNÍ SYSTÉMY Část 5 – souborové systémy
Software =je v informatice sada všech počítačových programů používaných v počítači, které provádějí nějakou činnost. - Software je protiklad k hardwaru,
Dopravní modely v SUMP Jitka Ondráčková
Databáze © Mgr. Petr Loskot
Úvod do databází MS Access (1).
Základy automatického řízení 1
PROJEKT OP LZZ „IMPLEMENTACE AGE MANAGEMENTU V ČR“ CZ /5. 1
Výukový materiál zpracován v rámci projektu
Systémové databáze v SQL Serveru
Internet.
Vytvořil: Robert Döring
Software počítače – opakování
Matematika 3 – Statistika Kapitola 4: Diskrétní náhodná veličina
Evaluace předmětů studenty (Anketky)
Batové dávky Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Vojtěch Mrózek. Dostupné z Metodického portálu ISSN: ,
ORGANIZACE DAT V POČÍTAČI
Programování v jazyce C++
Přístupový systém aneb kontrola vstupů
Databáze MS ACCESS 2010.
Financováno z ESF a státního rozpočtu ČR.
Souběh Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Poměr v základním tvaru.
1. ročník oboru Mechanik opravář motorových vozidel
Databázové systémy, datové modelování
Informatika pro ekonomy přednáška 8
Microsoft Office Access
Programovatelné automaty (Programmable logic controllers – PLC)
Dotazovací jazyk SQL I.
Technická Evidence Zdravotnických Prostředků 1
Materiál byl vytvořen v rámci projektu
Remote login.
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Název školy: Autor: Název: Číslo projektu: Název projektu:
INFORMACE TAJEMNÍKA PROFESNÍCH UNIÍ
A5M33IZS – Informační a znalostní systémy
Přednášky z Distribuovaných systémů
Poměr v základním tvaru.
Analýza informačního systému
Klíčové aktivity projektu
Informatika pro ekonomy přednáška 8
Informační systém základních registrů
Relační databáze na příkladu aplikace Microsoft Access
Digitální učební materiál
SQL Server 2017: Automatic tuning
Transkript prezentace:

Architektury a technika databázových systémů Jiří Zechmeister 1., 2. přednáška

Organizace předmětu Zápočet Detailní informace v rámci cvičení Zkouška Ústní Připomínky, dotazy, náměty Formou ové komunikace Osobně na přednáškách, resp. Cvičeních Pokyny, informace, zajímavosti, etc.

Obsah předmětu

Cíl předmětu Rozšířit znalosti tvorby databázových systémů Vývojářský versus databázový pohled na IS Seznámit posluchače s praktickými zkušenostmi Zvládnout pokročilé metody práce s SQL databázemi

Co nás čeká Seznámení s databází Oracle (dnes) Architektura databáze Oracle (taky dnes ) Integrita dat Databázové indexy Zpracování SQL Tvorba efektivních dotazů Execution plan Wait interface a sql trace Transakční zpracování Zabezpečení a ochrana dat Porovnání Oracle s MS SQL Serverem Praktické zkušenosti „Jak to nedělat“ ;)

Úvod do architektury DB

Datová vrstva jako základ IS Základním úkolem IS je zpracování dat vytváření nových čtení a modifikace existujících Kde ukládat data In-memory – typicky operační paměť s objekty Flat file – File system, výměna mezi systémy Structured file – typicky XML Databáze

Datová vrstva jako základ IS II Třívrstvá architektura Úzká interakce s business logikou Problém soudržnosti logiky

Požadavky na databázi Způsob zpracování a množství dat závisí na typu IS OLTP (On-line Transaction Processing) Interaktivní zpracování dat, vyznačující se velkým množstvím přístupů (včetně paralelních), které ale pracují jen s relativně malým množstvím souvisejících dat (typicky může jít o zpracování údajů uživatelem ve formuláři), z typů operací převažuje čtení OLAP (On-line Analytical Processing) Zpracování může sice probíhat jen na části databáze, ale protože se jedná o interaktivní proces, nelze předpovídat, ke kterým datům bude přistupováno, navíc jich je velké množství, protože z nich typicky vznikají statistiky K datům je přistupováno v módu pouze pro čtení

DBMS DB realizovány pomocí Specifického softwarového systému tzv. DBMS (Database Management System) česky - možná nepěkně – SŘBD, Systém řízení bází dat Obecný DBMS se skládá definice modelu dat – relační, hierarchický, objektový, …, určuje typ databáze definice formátů dat na disku - tzv. metadat, katalogu typů záznamů struktur pro uložení vlastních dat - fyzická implementace, zápis/čtení do souborů dotazovacího a manipulačního jazyka nad daty - poskytujícího abstrakci od fyzického uložení mechanizmu pro podporu transakcí pro zajištění konzistence bezpečnostní politiky uživatelské účty oprávnění pro přístupy k datům nástrojů pro podporu správy databází

Typy databází – model dat

Hierarchický a síťový model Data strukturována hierarchicky Vztah reprezentován jako rodič a potomek Potomek vždy přiřazen jednomu rodiči Nejjednodušší si představit na příkladu fungování souborového systému v letech popsán také síťový model odstranil omezení na pouze jediného předka pro každý záznam v praxi se příliš nerozšířil Výhody rychlost zapracovaná referenční integrita Nevýhody problém se vztahy N:M

Relační model Relační model dat vychází z matematického pojmu relace Sada dvourozměrných tabulek Datové záznamy ukládané do řádků tabulky Každý sloupec představuje jeden atribut záznamu V jedné tabulce jsou uloženy všechny záznamy jednoho typu Typ záznamu je dán seznamem pojmenovaných atributů (sloupců tabulky) datovými typy jednotlivých atributů tzv. integritními omezeními (integrity constraints) Obrovská výhoda v existenci dotazovacího a manipulačního jazyka SQL Představuje společný standard, dodržovaný nejen výrobci relačních databází, ale dokonce i u jiných typů DBMS

Objektový model Místo tabulek jsou uloženy přímo objekty se svými vlastnostmi Není nutné přemýšlet nad strukturami tabulek Nabízí využití možností vícenásobné dědičnosti, zapouzdření a polymorfizmu Implementace Mongo DB db4o Multi-dimenzionální model

Databáze Oracle

Oracle Unikátnost Oracle Způsob zamykání dat Zámky pouze pro měněná data Zámky na úrovni řádků – neexistuje/není potřeba eskalace Všechno je podřízeno bezpečnosti dat – při dodržení všech best practices prakticky nemůže dojít ke ztrátě dat Důraz na výkon v enterprise řešeních Počítá se s nasazením na odpovídajícím HW, na udržovaném OS s kompetentním adminem ;) Není to „malá“ databáze a nikdy nebude Express edititon lze použít i na malé projekty, ale … Do budoucna se bude hlavně prodávat už dohromady s HW Oracle Exadata Oracle technologies

Oracle verzování major.maintenance.application-server.component-specific.(platform- specific.) Např SELECT * FROM PRODUCT_COMPONENT_VERSION; Přehled verzí Oracle9i Database Release 1: – (patchset prosinec 2003) Oracle9i Database Release 2: – (patchset duben 2007) Oracle Database 10g Release 1: – (patchset únor 2006) Oracle Database 10g Release 2: – (patchset duben 2010) Oracle Database 11g Release 1: – (patchset září 2008) Oracle Database 11g Release 2: – (patchset září 2011)

Oracle Edice Enterprise Edition (EE) Licenční politika podle počtu CPU, typicky 4 a více Bez paměťových limitů, Oracle RAC software Standard Edition (SE) Základní sada vlastností, bez paměťových limitů Standard Edition One (SEO) Systémy s 1-2 CPU Express Edition (XE), Volná distribuce Windows a Linux 1 CPU, 4GB paměť, 4GB uživatelská data Oracle Database Lite Mobilní zařízení, synchronizace se serverem Více

Obsah Fyzická architektura Objekty schématu Logická architektura Paměťová architektura – Datový slovník Procesní architektura

FYZICKÁ ARCHITEKTURA

Co je to databáze Kolekce dat na disku uložená v jednom nebo více datových souborech – Jsou zde uložena veškerá data databáze Fyzicky se skládá z – DataFiles – ControlFiles – Redo Log Files – Archive Log Files – Alert and Trace Files – Backup Files

Co je to instance databáze Skládá se z – bloku přidělené paměti, který je vyhrazený v System Global Area (SGA) – z procesů, které běží na pozadí a komunikují s SGA a databázovými soubory na disku

Data File Veškerá data databáze uložena v Data Files – Uložena data logických databázových struktur

Control File Obsahuje metadata – data o fyzické struktuře databáze Například – Název databáze – Jména a místo uložení datafiles a redo logů – Čas vytvoření databáze – … Při změnách struktury je ihned aktualizován

Redo Log File Při každém přidání, odstranění nebo změně dat v tabulce, indexu nebo jiném objektu databáze Oracle je zapsán záznam do aktuálního souboru protokolu Každá databáze Oracle musí mít alespoň dva soubory protokolu – Když je jeden Redo Log zaplněn záznamy, je tento soubor označen jako ACTlVE v případě, kdy je potřebný pro případnou obnovu instance INACTlVE, pokud není potřebný pro obnovu instance – Záznamy se pak začnou zapisovat do dalšího souboru protokolu ze seznamu od začátku souboru a tento soubor je označen jako CURRENT.

Alert and Trace Log Kompletní audit nad veškerými operacemi – Pokud dojde ke vzniku chyby při běhu databáze, Oracle obvykle zapisuje chybové zprávy do alert logu nebo v případě procesů běžících na pozadí do trace logu – Jsou zde zaznamenány i všechny příkazy alter database i alter system, které provedl správce databáze.

Archive Log Při ARCHIVELOG režimu lze všechny zápisy do Redo Logs automaticky archivovat

LOGICKÁ ARCHITEKTURA

Logická struktura Definuje logické úložné struktury – Datové bloky (Data blocks) – Rozsahy (Extents) – Segmenty (Segments) Toto logické rozdělení úložného prostoru umožňuje účinnější kontrolu nad využitím diskového místa

Logické úložné struktury Tabulkový prostor – tablespace Vztah – Datový blok (Data block) – Rozsah (Extent) – Segment

Datový blok Nejmenší úložnou jednotkou databáze Oracle Velikost bloku – číslo udávající počet bajtů, které blok zabírá v daném tabulkovém prostoru – Často definována jako násobek velikosti bloku, definované operačním systémem

Struktura datového bloku Hlavička (Header) – Základní informace Adresa bloku, typ segmentu Tabulkový rejstřík (Table directory) – Informace tabulce řádků Řádkový rejstřík (Row directory) – Informace o počtu řádků – Adresy řádků Všechny tyto informace tvoří tzv. Overhead

Řízení volného místa PCTFREE – Určuje minimální velikost (%) datového bloku, který musí být rezervován na data

Řízení volného místa PCTUSED – Určuje minimální velikost (%) datového bloku, který muže být použit pro row data a overhead

Extents (Rozsahy) Vyšší úrovní logického seskupování elementů v rámci databáze Sestává z jednoho nebo několika datových bloků V případě, kdy místo v segmentu dojde, Oracle alokuje nový extent

Segment Skládá se z množiny rozsahů V databázi Oracle rozlišujeme čtyři typy segmentů: – Datové segmenty (Data segments) – Indexové segmenty (Index segments) – Dočasné segmenty (Temporary segments) – Návratové segmenty (Undo segments)

Data segment Data segment v Oracle udržuje všechna data pro: – Databázovou tabulku – Partition v partitiované tabulce – Cluster v clusterované tabulce Oracle vytvoří data segment, vždy s novou tabulkou – CREATE TABLE, apod.

Rollback segment Rollback segmenty – V Oracle 11g existuje návratový segment pouze v tabulkovém prostoru SYSTEM Čistě systémový segment – V předchozích verzích byl návratový segment využíván pro ukládání undo informací

Ostatní segmenty Index segment – Každý index je uložen ve svém vlastním indexovém segmentu Temporary segment – V případě, kdy provedení příkazu jazyka SQL vyžaduje pro své dokončení diskový prostor je alokován dočasný segment – Existují pouze po dobu trvání příkazu jazyka SQL

Vztah logické a fyzické architektury

OBJEKTY SCHÉMATU

Základní přehled Tabulky Pohledy Materializované pohledy Sequence Generatory Synonyma Indexy Index-Organized Tabulky Clustery

PAMĚŤOVÁ ARCHITEKTURA

Paměťové struktury V paměti je spustitelný kód, informace o relacích, jednotlivé procesy databáze a informace sdílené mezi procesy Obsahují uživatelské příkazy jazyka SQL a také vyrovnávací paměť, jejíž obsah je dle potřeby ukládán na disk a která obsahuje datové bloky databázových segmentů a informace o dokončených databázových transakcích. Datová oblast vyhrazená pro instanci Oracle se nazývá globální systémová oblast SGA (System Global Area) Pro každý server a proces běžící na pozadí v paměti existuje oblast s názvem globální programová oblast PGA (Program Global Area).

Paměťové struktury

Globální systémová oblast SGA Skupina paměťových struktur instance Oracle sdílená uživateli databázové instance Při spuštění instance Oracle je pro oblast SGA vyhrazena paměť v závislosti na hodnotách nastavených v inicializačním souboru parametrů Parametr SGA_MAX_SIZE – celková velikost všech oblastí SGA nesmí překročit hodnotu SGA_MAX_SIZE

Buffer cache Součást SGA Udržuje data načtená z datafiles Všechny uživatelské procesy jsou připojeny – Nevýhoda konkurenčního přístupu

Shared pool Součást SGA Rozděleno na – Vyrovnávací paměť knihoven (Library cache) Vyrovnávací paměť pro SQL (PL/SQL) Prováděcí plány Pozor na poddimenzovanou velikost – Vyrovnávací paměť datového slovníku (Dictionary cache) Informace o tabulkách (struktury tabulek) ve schématu SYS, SYSTEM – Obsahuje metadata databáze Velké čtení v době parsování SQL

Globální programová oblast PGA Oddíl paměti alokovaný pro privátní použití jedním procesem Konfigurace závisí na konfiguraci připojení databáze Oracle – sdílený server (shared server) uživatelé sdílejí připojení k databázi, čímž se minimalizuje využití paměti na serveru informace o uživatelských relacích uloženy v oblasti SGA místo v oblasti PGA ideální pro velký počet současných připojení k databázi s malým množstvím krátce trvajících požadavků – vyhrazený server (dedicated server) V prostředí s vyhrazeným serverem má každý uživatelský proces vlastní připojení k databázi a paměť vyhrazená pro relace je v oblasti PGA Obsahuje také oblast pro řazení – se použije vždy, když uživatelský požadavek vyžaduje provést řazení, popř. Hash join

PROCESNÍ ARCHITEKTURA

Procesy Oracle

Serverové procesy (Server processes) – Obsluha uživatelských požadavků Background procesy – PMON – SMON – DBWn – LGWR – RECO – ARCn

Procesy Oracle Oracle hell ;)

Proces SMON System monitor – V případě pádu systému nebo selhání instance, proces SMON provede obnovu instance aplikováním záznamů z online souboru protokolu na datové soubory – Zabezpečuje čištění dočasných segmentů ve všech tabulkových prostorech (tablespaces) – Jednou z úloh procesu SMON je i pravidelné slučování volného místa v tabulkových prostorech u tabulkových prostorů řízených slovníkem

Proces PMON Process monitor – Pokud je uživatelské připojení přerušeno nebo uživatelský proces selže z jiného důvodu, provede proces PMON, potřebné úklidové práce – Vyčistí vyrovnávací paměť a ostatní prostředky, které uživatelské připojení používalo – Uživatelská relace například mohla provádět aktualizaci některých řádků v tabulce a tím tyto řádky uzamknout Ukázka práce PMON při odpojení relace – Vrátí zpět změny provedené transakcemi, které probíhaly před výpadkem – Označí ve vyrovnávací paměti bloky, použité transakcemi jako volné – Odstraní uzamčení na odpovídajících řádcích tabulky – Odstraní identifikátor odpojeného procesu ze seznamu aktivních procesů

Proces DBWn Databázový zapisovač – Zapisuje nové nebo změněné datové bloky (dirty blocks) z vyrovnávací paměti do datových souborů Až 20 procesů DBW0 – DBW20 – Určován parametrem DB_ WRITER_PROCESSES

Proces LGWR Zapisovač protokolu – řídí správu vyrovnávací paměti protokolu – nejaktivnější proces v instanci s velkou aktivitou příkazů pro manipulaci s daty – transakce není považována za dokončenou, dokud proces LGWR nezapíše úspěšně všechny záznamy, včetně záznamu o operaci commit, do souborů protokolu

Proces RECO Proces obnovy – ošetřuje selhání distribuovaných transakcí

Proces ARCn Proces archivátor – provádí kopírování souborů protokolu na ostatní nadefinovaná umístění vždy, když se soubor protokolu zaplní

Q&A