Jan Trčka Dne: 8.4.2013. Obsah Zadání Pojmy Replikace databází Verzování Reconciling, reconcile Posting, post Scénáře při verzování v ArcSDE PostgreSQL.

Slides:



Advertisements
Podobné prezentace
Senior IT operations manager
Advertisements

1IT PVY Klasifikace programového vybavení Ing. Jiří Šilhán.
Základy databázových systémů
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Aplikační a programové vybavení
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Přednáška č. 5 Proces návrhu databáze
Souborové systémy.
Operační systémy. OPERAČNÍ SYSTÉMY pomoc operátorovi, podpora vlastností reálného času, víceuživatelských a více úlohových systémů.
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Přínosy a druhy počítačových sítí. Jednou z nejvýznamnějších technologií používaných v oblasti výpočetních systémů jsou již řadu let počítačové sítě.
Úvod do databází Databáze.
Databáze Jiří Kalousek.
ÚČEL AUTOMATIZACE (c) Tralvex Yeap. All Rights Reserved.
Projekt – úkoly, zdroje, vazby úkolů, náklady Ing. Jiří Šilhán.
Proces řízení projektu
Databázové systémy Mgr. Lenka Švancarová. Úvod Doposud jsme uvažovali jen o modelu databázového systému, kde jsou veškerá data a systém řízení báze dat.
D ATOVÉ MODELY Ing. Jiří Šilhán. D ATABÁZOVÉ SYSTÉMY Patří vedle textových editorů a tabulkových kalkulátorů k nejrozšířenějším představitelům programového.
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Modely konzistentnosti Ladislav Kotal PDS 2008Ladislav Kotal2 Konzistentnost Konzistentní = soudržný, neporušený, pevný Konzistenční model = dohoda.
Relační databáze.
Vypracoval: Ondřej Dvorský Třída: VIII.A
Výrok „Počítač je pouze tak inteligentní jako jeho uživatel.“ (Radek Lochman, dnes)
TEXTOVÝ EDITOR.
Databázové systémy. Práce s daty Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace.
Databázové systémy Architektury DBS.
Základní pojmy Systém je abstrakce, kterou si lidé vytvářejí v procesu poznávání jako nástroj zkoumání reálných objektů.
Modelování a simulace MAS_02
Databázové systémy II Přednáška č. X Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky
Katedra elektrotechniky a automatizace Technická fakulta, ČZU Praha Roboty a manipulátory - - přednášky.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.6 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze - formulář Typ: DUM - kombinovaný Předmět:
2 Ing. Jan Keprt Centrální správa uživatelů 3 Jak to bylo dosud Bylo třeba nastavení uživatelů provést zvlášť, v každém modulu samostatně. Uživatel si.
Lokální počítačové sítě Novell Netware Ing. Zdeněk Votruba Technická fakulta ČZU Laboratoř výpočetních aplikací.
Práce se šablonami v MS Word 2007
Databázové systémy II Přednáška č. 9. Transakce je logická jednotka práce sestávající z jednoho nebo více SQL příkazů, které jsou atomické z hlediska.
Transakční zpracování v SQL P. Částek. Transakce Transakce = logická jednotka práce Podaří-li se všechny části transakce, potvrdíme je. COMMIT Jestliže.
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Přednáška č. 1 Proces návrhu databáze
Databázové modelování
Access Vysvětlení pojmu databáze - 01
Zablokování (deadlock, smrtelné objetí, uváznutí)
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Databázové systémy Informatika pro ekonomy, př. 18.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Přístup do IS z mobilních zařízení Tomáš Tureček Katedra Informatiky FEI VŠB-TU Ostrava.
Databázové systémy Přednáška č. 5 Datové typy a Fyzická organizace dat.
ECM – Enterprise Content Management
IEC 61850: Soubor norem pro komunikaci v energetice
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
E- MAIL Ing. Jiří Šilhán. E LEKTRONICKÁ POŠTA NEBOLI vývoj od počátku sítí – původní návrh pouze pro přenos krátkých textových zpráv (ASCII) základní.
24 Používání relačních databází (základní pojmy a principy z oblasti relačních databází, struktura databáze,oblasti použití relačních databází, vkládání.
Diskový oddíl. Diskové oddíly (partition) slouží k rozdělení fyzického disku na logické oddíly, se kterými je možné nezávisle manipulovat jeden disk se.
Úvod do databází zkrácená verze.
Optimistic and pessimistic offline lock. Naivní přístup:  Uživatel A načte data  Uživatel B načte (stejná) data  Uživatel A upraví data a uloží je.
Základní škola T. G. Masaryka a Mateřská škola Poříčany, okr. Kolín VY_32_INOVACE_ICT_04 ORGANIZACE DAT V PC Zpracovala: Mgr. Květoslava Štikovcová Číslo.
SOFTWAROVÁ PODPORA PRO VYTVÁŘENÍ FUZZY MODELŮ Knihovna fuzzy procedur Ing. Petr Želasko, VŠB-TU Ostrava.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Vypracoval / Roman Málek
Unix a Internet 9. SQL server
Operační systémy - úvod
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Budování Integrovaného informačního systému Národního památkového ústavu Petr Volfík, NPÚ ÚP
1. ročník oboru Mechanik opravář motorových vozidel
Servisní aplikace přístupového systému
1. ročník oboru Mechanik opravář motorových vozidel
Správa disků
Přednášky z distribuovaných systémů
Přednáška 9 Triggery.
Transkript prezentace:

Jan Trčka Dne:

Obsah Zadání Pojmy Replikace databází Verzování Reconciling, reconcile Posting, post Scénáře při verzování v ArcSDE PostgreSQL – uzamykání Deadlock Závěr Literatura

Zadání Popsat mechanizmy pro správu víceuživatelského přístupu a pro dlouhé transakce. Popsat víceuživatelské přístupy v rámci ArcSDE (verzování a replikování). Jak se řeší víceuživatelské přístupy v různých technologiích, zaměřit se především na prostorová data.

Pojmy Databáze – jedná se o uspořádanou množinu informací uloženou na paměťovém médiu. Můžeme ji definovat jako souhrn vázaných dat, které jsou ukládány bez tzv. redundance. Databáze obsahuje 4 základní části: hardware, software, datové prvky a uživatelé. Vkládání, mazání a změny dat jsou prováděny centrálně. Redundance – častý jev v databázích, kdy může dojít k duplicitě dat = zbytečně rozsáhlé databáze. Databázový systém – je tvořen databází a systémem řízení báze dat. Obsahuje 4 základní části: hardware, software, datové prvky a uživatelé. Transakce – jedná se o skupinu příkazů, které převedou databázi z jednoho konzistentního stavu do druhého. Z pohledu uživatele je to realizace jedné ucelené operace, která charakterizuje posloupnost operací nad prvky databáze.

Pojmy Dlouhá transakce – jedná se o proces transakce trvající několik desítek minut až hodin. Verzování – umožňuje vytváření více stálých reprezentací databáze bez zdvojení a omezujícího zamykání dat. Hlavním účelem verzování je zjednodušit proces editace dlouhých transakcí. Replikace – replikuji se především data, ke kterým je potřebný rychlý přístup a která jsou často aktualizována, případně mají vyšší stupeň důležitosti. Replikace databází můžeme chápat jako vytvoření a udržování více kopií stejné databáze. Zámky - můžeme označit jako synchronizační primitiva pro zajištění výhradního přístupu k systémovým prostředkům ve víceúlohovém prostředí, kde tak brání souběhu. Zámky jsou používány jak v případě, že dochází k cyklickém u přepínání mezi běžícími úlohami, tak při skutečně paralelním běhu úloh ve víceprocesorových systémech.

Replikace databází Replikace databází může být využita v mnoha systémech řízení báze dat, obvykle vazba mezi originálem a kopiemi bývá typu master/slave. Master zaznamenává změny, které poté posílá do slavu. Slave zpět oznámí zprávou, že update úspěšně přijal, čímž umožní odeslání (a případné opětovné posílání až do chvíle než je úspěšně aplikován) následujících updatů. Replikace zvyšuje výkon při operaci SELECT, snižuje výkon pro operaci UPDATE, DELETE, INSERT.

Replikace databází Master/Slave replikaci podporuje jeden hlavní server, který přijímá požadavky na zápis a čtení, a několik podřízených serverů, které umožňují pouze čtení (SELECT). Nejrozšířenějším volně dostupným řešením tohoto typu je Slony-l. Multi-master replikaci podporuje existenci několika serverů s povoleným zápisem na více replikovaných serverech. Toto řešení zvyšuje zátěž serverů, protože je nutná synchronizace serverů. Nejrozšířenějším volně dostupným řešením je PGCluste.

Verzování je jedna z funkcí prostorové databáze ArcSDE od společnosti ESRI. Hlavním účelem verzování je zjednodušit proces editace dlouhých transakcí. Pojem verzování se tedy týká pouze jediného produktu, ale to neznamená, že podobnou strategii není možné využít i v jiných prostorových nadstavbách klasických databází.

Reconciling, reconcile proces, který začlení změny z nadřazené (rodičovské) verze do verze, která je editována. reconciling je náročná operace, která automaticky vloží, smaže a aktualizuje mnoho prvků editované verze. Odtud plyne možnost vzniku konfliktů, úkolem reconcile je všechny tyto konflikty vyřešit. reconcile provádíme na editované verzi vzhledem k její libovolné nadřazené verzi, nemůže být provedena vzhledem k verzi na stejné nebo nižší úrovni. Jako jiné operace může být vrácena do původního stavu, tzn. existuje zpětná operace.

Posting, post proces, který posílá změny z následníka na předka. operaci post musí bezprostředně předcházet operace reconcile ke stejné cílové verzi. Pokud mezi operací reconcile a post jiný uživatel změní cílovou verzi databáze, musí být proces reconcile proveden znovu. Díky tomuto opatření během procesu posting nemůže dojít k žádnému konfliktu (vše vyřeší reconcile). Změny provedené operací post jsou nevratné.

Operace reconcile a post

Verzování v ArcSDE přímé editování standardní databáze: každý uživatel edituje automaticky vytvořenou, nepojmenovanou, dočasnou verzi - nemusí zvlášť vytvářet verzi vlastní. Po dokončení editace nebo po uložení změn jsou na dočasné verzi automaticky provedeny operace reconcile a post vzhledem k DEFAULT verzi. když nastane konflikt, editor musí rozhodnout, které změny uloží. Přímé editování verze DEFAULT se uplatní tam, kde jednotlivé transakce nejsou časově náročné.

Verzování v ArcSDE dvouvrstvá verze: odděluje práce spojené s jedním konkrétním projektem. je vhodný pro dlouhé transakce - po dobu editování se změny ukládají do vlastní vytvořené verze databáze, která znamená novou dlouhou transakci, na které může pracovat více uživatelů. Když je projekt dokončen provedou se operace reconcile a post vzhledem k DEFAULT verzi. Po té může být verze projekt smazána nebo uchována pro archivaci.

Verzování v ArcSDE dvouvrstvá verze: v tomto přístupu jsou uživatelská práva k hlavní databázi omezena pouze na čtení, což donutí editory založit si vlastní verzi databáze. Výhodou dvouvrstvého verzování je logické uspořádání prací na projektu a větší ochrana hlavní databáze. Každý editor může vyvinout vlastní návrh bez ovlivnění původní databáze.

Verzování v ArcSDE náhradník verze DEFAULT: v tomto přístupu jsou uživatelská práva k hlavní databázi omezena pouze na čtení, což donutí editory založit si vlastní verzi databáze. výhodou je logické uspořádání prací na projektu a větší ochrana hlavní databáze. Každý editor může vyvinout vlastní návrh bez ovlivnění původní databáze.

Verzování v ArcSDE vícevrstvá verze: použití u složitějších projektů komplexnější projekt zahrnuje mnoho editorů často pracujících v různých týmech na samostatných úkolech. Efektní způsob organizace práce za takovýchto podmínek spočívá v tom, že týmy pracující na různých částech projektu si vytvoří vlastní verzi, do které editují změny. Po dokončení projektu je verze operacemi reconcile a post aktualizována do hlavní databáze.

Verzování v ArcSDE cyklická verze: každá dlouhá transakce z předchozích scénářů může být rozdělena podle fází pracovního procesu. Například návrh, schválení a realizace představují tři fáze jednoho projektu a zároveň tři verze databáze. nová verze je vytvořena po dokončení předchozí a obsahuje všechny její změny. Operace reconcile a post proto stačí provést jen na poslední verzi v pracovním schématu. Tím se výrazně šetří čas, který by byl nutný, pokud by proces reconcile a post probíhal po skončení každé fáze. Při archivaci jednotlivých vývojových částí projektu můžeme snadno zjistit, co bylo navrhnuto, co schváleno a co realizováno.

Verzování v ArcSDE cyklická verze:

Verzování v ArcSDE správa historických verzí: klíčovým požadavkem mnoha projektů je zachycení historie vývoje v čase pro archivaci a pozdější kontrolu. je možné využít verzování a zaznamenat tak časové změny Uchovávání historických verzí je založeno na událostech při změně databáze (change events). Událost je vyvolána po každé změně stavu databáze. Na základě požadavků projektu nastavíme, v jakých intervalech se mají vytvářet nové verze. takovýto přístup podporuje dotazy typu: "Jaký byl stav databáze v určitý čas?", "Jak se změnil určitý objekt během daného období?". Přesnost odpovědi závisí na frekvenci ukládání verzí. U složitějších projektů je tak ukládáno velké množství informací.

Verzování v ArcSDE správa historických verzí:

PostgreSQL - uzamykání PgSQL server při transakčním zpracování dat provádí automatické zamykání řádků a tabulek, což napomáhá k integritě, především v případě, kdy několik transakcí požaduje přístup k jednomu zdroji. Nastartovaná transakce zamkne řádky tabulek, na nichž probíhají aktivní operace, jako například UPDATE a DELETE, po dobu svého trvání, aby dvě se konkurenční operace nepokoušely měnit data v tabulce, přičemž jedna z nich by aktualizovala data, která již nejsou platná.

PostgreSQL - uzamykání u zamykání máme několik módů, které se liší tím, co dovolují a co nikoliv, klíčovými slovy jsou: EXCLUSIVE - Výlučný zámek, který nedovoluje zamknout kterékoliv jiné transakci, jinému příkazu, tabulku, nebo řádek. Tento mód zámku je dafaultní, tzn. není li uvedeno EXCLUSIVE, nebo SHARE, je použit tento druh zámku. SHARE - Další příkazy/transakce mohou sdílet tento zámek. Je-li tabulka/řádek zamknuta tímto zámkem, není možné jej "přebít" pomocí zámku EXCLUSIVE. ROW - Uzamčení řádk(u/ů) tabulky. TABLE - Uzamčení celé tabulky, nejvíce restriktivní, pokud jej PostgreSQL serveru nepřikážeme explicitně, tak ta jej použije jen velmi vyjímečně. ACCESS - Zamčení schématu tabulky, tzn. že není možné měnit její strukturu

Deadlock V případě velkého provozu na databázi (například při souběžném připojení velikého počtu klientských aplikací) lze narazit na stav, kdy dvě transakce budou vzájemně čekat na výsledek té druhé (1. transakce ke svému dokončení potřebuje výsledek z první a naopak), který se označuje jako Deadlock. Systém automaticky jednu z těchto transakcí vrátí (ROLLBACK), protože tyto by jinak mohli čekat do nekonečna. Tomuto stavu lze předejít díky zámkům. PgSQL server má většinu zámků u konkurenčních databází konfliktních, což znamená, že zamkne-li se z aplikace tabulka, nebo řádek, a z jiného klienta je použit zámek, který je konfliktní s tím současným, je tato transakce odmítnuta. Pouhým pohledem do tabulky módů zámků lze najít autokonfliktní zámky (tj. jsou v konfliktu sami se sebou), což znamená, že je výhodné je použít. Pokud není možné použít zamčení na stejný typ zámků, bylo by výhodné zajistit, aby nejdříve byly uplatněny ty nejpřísnější zámky z požadovaných.

Závěr Práce popisuje problematiku víceuživatelských přístupů. Analyzuje především přístup k databázím v programu ArcSDE a PostgreSQL.

Literatura Replikace databází, Wikipedie, [online]. [cit ]. Dostupné na WWW: Replikace v PostgreSQL. CSPUG, Praha [online]. [cit ] Dostupné na WWW: Šilhavý, J., Versioning a víceuživatelská editace databáze. Západočeská univerzitav Plzni, FAV. [online]. [cit ] Dostupné na WWW: < Manual Oracle [online]. [cit ]. Dostupné na WWW: PostgreSQL:Documentations:Manuals:Concurrency Control [online]. [cit ]. Dostupné na: PostgreSQL [online]. [cit ]. Dostupné na:

Děkuji za pozornost