Moderné systémy na správu databázsa používajú v mnohých objektoch, ale nie každý vie, čo to je a ako možno použiť funkcie DBMS. Takéto nástroje majú obrovské množstvo možností, takže na ich plné využitie musíte pochopiť, čo dokážu a ako sú pre používateľa užitočné.
Správa údajov
Po prvé, funkcie DBMS zahŕňajú spracovanieinformácií v externej pamäti a táto funkcia predstavuje poskytovanie základných štruktúr VP, ktoré sú potrebné nielen na ukladanie informácií priamo obsiahnutých v databáze, ale aj na vykonávanie rôznych servisných úloh, ako je napríklad získanie zrýchleného prístupu k ľubovoľným súborom v rôznych prípadoch. Niektoré modifikácie aktívne využívajú možnosti rôznych súborových systémov, zatiaľ čo iné zabezpečujú prácu aj na úrovni externých pamäťových zariadení. V tomto prípade však stojí za zmienku, že vo vysoko rozvinutých funkciách DBMS používateľ v žiadnom prípade nie je informovaný o tom, či sa používa nejaký systém, a ak áno, ako sú súbory usporiadané. Systém predovšetkým udržiava svoje vlastné poradie pomenovania objektov zahrnutých v databáze.
Správa vyrovnávacej pamäte RAM
V drvivej väčšine prípadov funkcieDBMS sa zvyčajne používajú v pomerne veľkých databázach a táto veľkosť je prinajmenšom často oveľa väčšia ako dostupné množstvo pamäte RAM. Samozrejme, ak je každý dátový prvok sprístupnený a vymieňaný s externou pamäťou, rýchlosť externej pamäte bude zodpovedať rýchlosti samotného systému, takže prakticky jedinou možnosťou, ako ju skutočne zvýšiť, je uložiť informácie do pamäte RAM. Avšak aj keď operačný systém vykonáva ukladanie do vyrovnávacej pamäte v celom systéme, napríklad v systéme UNIX, nebude to stačiť na poskytnutie účelu a základných funkcií systému DBMS, pretože má oveľa väčšie množstvo údajov o užitočných vlastnostiach vyrovnávacej pamäte pre každý konkrétnu časť použitej databázy. Vďaka tomu si vyvinuté systémy zachovávajú svoju vlastnú sadu vyrovnávacích pamätí, ako aj jedinečnú disciplínu na ich nahradenie.
Za zmienku stojí skutočnosť, že existuje samostatnásmer riadiacich systémov, zameraný na nepretržitú prítomnosť celej databázy v RAM. Toto smerovanie vychádza z predpokladu, že v blízkej budúcnosti sa objem operačnej pamäte počítača dokáže natoľko zväčšiť, že sa už nebudú starať o žiadne ukladanie do vyrovnávacej pamäte a tu prídu vhod základné funkcie DBMS tohto typu. V súčasnosti zostáva všetka táto práca v štádiu testovania.
Správa transakcií
Transakcia je postupnosť operáciís použitou databázou, ktorú riadiaci systém považuje za jeden celok. Ak je transakcia úplne úspešne vykonaná, systém zaznamená vykonané zmeny do externej pamäte, prípadne sa žiadna z týchto zmien neprejaví v stave databázy. Táto operácia je potrebná na zabezpečenie podpory logickej integrity používanej databázy. Stojí za zmienku, že zachovanie správneho toku transakčného mechanizmu je nevyhnutným predpokladom aj pri použití jednoužívateľských DBMS, ktorých účel a funkcie sa výrazne líšia od iných typov systémov.
Vlastnosť, ktorou začína každá transakcialen s integritou databázy a zároveň ponechaním v rovnakom stave po ukončení procedúry, robí jej použitie ako jednotky činnosti týkajúcej sa databázy mimoriadne pohodlné. Pri správnom riadení súbežných transakcií systémom riadenia sa v zásade môže každý jednotlivý používateľ cítiť ako súčasť celku. Je to však do určitej miery idealizovaná predstava, pretože v mnohých pracovných situáciách ľudia budú stále cítiť prítomnosť svojich kolegov, ak používajú systém pre viacerých používateľov, ale v skutočnosti to znamená samotný koncept DBMS. Funkcie viacužívateľského DBMS sú tiež spojené s riadením transakcií takými konceptmi, ako je plán sériového vykonávania a serializácia.
Čo si myslia?
Serializácia súbežných transakciízabezpečuje vytvorenie špeciálneho plánu pre ich prácu, v ktorom je celkový dosiahnutý účinok zmesi ekvivalentný výsledku získanému v dôsledku ich postupného vykonávania.
Plán sériového vykonávania ješpecifická štruktúra akcií, ktorá vedie k serializácii. Samozrejme, ak systém dokáže poskytnúť skutočne sériové vykonávanie zmesi transakcií, potom pre každého používateľa, ktorý vytvorí transakciu, bude prítomnosť ostatných úplne neviditeľná, okrem toho, že bude fungovať o niečo pomalšie v porovnaní s režimom pre jedného používateľa. .
Existuje niekoľko základných serializačných algoritmov.V centralizovaných systémoch sú dnes najpopulárnejšie algoritmy, ktoré sú založené na synchronizovanom zachytávaní rôznych databázových objektov. Ak sa použijú akékoľvek serializačné algoritmy, môže dôjsť ku konfliktom medzi dvoma alebo viacerými transakciami na prístup k určitým databázovým objektom. V takejto situácii, aby ste zabezpečili podporu pre tento postup, musíte vykonať návrat, to znamená odstrániť všetky zmeny vykonané v databáze prostredníctvom jedného alebo viacerých procesov. Toto je len jedna zo situácií, kedy človek cíti prítomnosť ostatných vo viacužívateľskom systéme.
Vedenie denníka
Jedna z hlavných požiadaviek na modernésystémov je zabezpečiť spoľahlivosť ukladania informácií do externej pamäte. Konkrétne to znamená, že medzi hlavné funkcie DBMS patrí schopnosť obnoviť posledný konzistentný stav databázy po výskyte akýchkoľvek softvérových alebo hardvérových porúch. Vo veľkej väčšine prípadov je obvyklé zvážiť dve možnosti zlyhania hardvéru:
- soft, čo možno interpretovať ako neočakávané zastavenie počítača (najčastejším prípadom je výpadok prúdu);
- tvrdé, ktoré sa vyznačujú čiastočnou alebo úplnou stratou dát uložených na externých médiách.
Príklady zlyhania softvéru zahŕňajú:spôsobiť núdzové vypnutie systému pri pokuse o použitie akejkoľvek funkcie, ktorá nepatrí medzi hlavné funkcie DBMS, alebo núdzové vypnutie ľubovoľnej používateľskej utility, v dôsledku čoho nebola dokončená určitá transakcia. Prvú situáciu možno považovať za špeciálny typ mäkkého zlyhania, zatiaľ čo druhá si vyžaduje zotavenie z jedinej transakcie.
Samozrejme, v každom prípade za normálneAk chcete obnoviť databázu, musíte mať určité množstvo dodatočných informácií. Inými slovami, pre správne zachovanie spoľahlivosti uloženia údajov v databáze je potrebné zabezpečiť redundanciu ukladania informácií a obzvlášť starostlivo chrániť časť údajov použitých pri obnove. Najbežnejšou metódou na udržiavanie takýchto nadbytočných údajov je udržiavanie denníka zmien.
Čo to je a ako sa používa?
Časopis je špeciálnou súčasťou databázydáta, ku ktorým prístup nie je súčasťou funkcií DBMS a je podporovaný obzvlášť starostlivo. V niektorých situáciách je dokonca možné podporovať dve kópie časopisu súčasne, umiestnené na rôznych fyzických médiách. Tieto úložiská dostávajú informácie o akýchkoľvek zmenách, ktoré sa vyskytnú v hlavnej časti databázy, a v rôznych riadiacich systémoch možno zmeny zaznamenávať na rôznych úrovniach. V niektorých situáciách záznam protokolu plne zodpovedá špecifickej operácii logickej zmeny, v iných zodpovedá minimálnej vnútornej operácii spojenej s úpravou stránky externej pamäte, zatiaľ čo niektoré DBMS umožňujú použitie kombinácie týchto dvoch prístupov.
V každom prípade tzv„stratégiu zápisu vopred“ do denníka. Keď sa používa, záznam označujúci zmenu v ľubovoľných databázových objektoch vstúpi do externej protokolovej pamäte pred zmenou objektu. Je známe, že ak funkcie Access DBMS zabezpečujú normálnu zhodu s týmto protokolom, všetky problémy spojené s obnovením databázy, ak sa vyskytnú nejaké zlyhania, sa vyriešia pomocou protokolu.
Vrátenie zmien
Najjednoduchšia situácia obnovyje vrátenie jednotlivých transakcií. Pre tento postup nie je potrebné používať protokol zmien v celom systéme a úplne postačuje použiť lokálny protokol zmien pre každú transakciu a potom transakcie vrátiť späť vykonaním spätných operácií, počnúc od konca každého z záznamy. Štruktúra funkcie DBMS často umožňuje použitie práve takejto štruktúry, ale vo väčšine prípadov stále nie sú podporované miestne protokoly a individuálne vrátenie, dokonca aj pre jednotlivé transakcie, sa vykonáva podľa celosystémovej štruktúry a napr. na tento účel sa všetky záznamy o každej transakcii kombinujú so spätným zoznamom.
Keď dôjde k mäkkému zlyhaniu, externá pamäťdatabáza môže obsahovať rôzne objekty, ktoré boli zmenené transakciami, ktoré neboli dokončené v čase zlyhania, a tiež môžu chýbať rôzne objekty, ktoré boli aktualizované tými, ktoré boli úspešne dokončené pred zlyhaním kvôli použitiu vyrovnávacej pamäte RAM, obsah ktoré úplne zmiznú, keď sa takéto zlyhanie vyskytnú problémy. Pri dodržaní protokolu používania lokálnych protokolov určite v externej pamäti zostanú záznamy, ktoré súvisia s úpravou akýchkoľvek takýchto objektov.
Hlavným cieľom postupu obnovy poVýskyt mäkkých zlyhaní je stav externej pamäte hlavnej databázy, ktorý by nastal, ak by sa v VI vykonali zmeny akýchkoľvek dokončených transakcií a neobsahoval by stopy nedokončených procedúr. Na dosiahnutie tohto efektu sú hlavnými funkciami DBMS v tomto prípade vrátiť späť neúplné transakcie a prehrať tie operácie, ktorých výsledky sa nakoniec nezobrazili v externej pamäti. Tento proces zahŕňa pomerne veľké množstvo jemností, ktoré sa týkajú najmä organizácie správy protokolov a vyrovnávacej pamäte.
Ťažké zrážky
V prípade potreby obnovte databázuPo ťažkých zlyhaniach sa používa nielen protokol, ale aj archivovaná kópia databázy. Ten je úplnou kópiou databázy v čase, keď sa denník začne plniť. Samozrejme, na vykonanie normálneho postupu obnovy je potrebná bezpečnosť denníka, preto, ako už bolo spomenuté, sú na jeho bezpečnosť v externej pamäti kladené mimoriadne vážne požiadavky. V tomto prípade obnova databázy pozostáva z reprodukovania všetkých dokončených transakcií, ktoré boli dokončené v čase zlyhania, na základe archívnej kópie. V prípade potreby môže dokonca reprodukovať operáciu nedokončených transakcií a pokračovať v ich normálnej prevádzke po ukončení procedúry obnovy, ale vo väčšine reálnych systémov sa takáto procedúra nevykonáva z dôvodu, že samotná obnova po ťažkých zlyhaniach je dosť zdĺhavá. postup.
Jazyková podpora
Pre prácu s modernými databázamipoužívajú sa rôzne jazyky a skoré DBMS, ktorých účel, funkcie a ďalšie vlastnosti sa výrazne líšili od moderných systémov, poskytovali podporu pre niekoľko vysoko špecializovaných jazykov. Išlo najmä o SDL a DML, určené na definovanie databázovej schémy a manipuláciu s údajmi, resp.
Na určenie bola použitá SDLlogickú štruktúru databázy, to znamená rozpoznať špecifickú štruktúru databázy, ktorá je prezentovaná používateľom. DML zahŕňal celý súbor operátorov manipulácie s informáciami, ktoré umožňovali vkladať informácie do databázy, ako aj mazať, upravovať alebo používať existujúce údaje.
Funkcie DBMS zahŕňajú rôzne typy podporyjednotný integrovaný jazyk, ktorý zabezpečuje dostupnosť akýchkoľvek nástrojov potrebných na normálnu prácu s databázami, počnúc ich prvotným vytvorením a poskytuje štandardné používateľské rozhranie. SQL sa používa ako štandardný jazyk, ktorý poskytuje základné funkcie DBMS najbežnejších relačných systémov súčasnosti.
Aký je?
V prvom rade tento jazyk spájahlavné funkcie DML a SDL, to znamená, že poskytuje možnosť definovať špecifickú sémantiku relačnej databázy a manipulovať s potrebnými informáciami. Zároveň je podporované pomenovanie rôznych databázových objektov priamo na jazykovej úrovni v tom zmysle, že kompilátor prevádza názvy objektov na ich interné identifikátory na základe špeciálne podporovaných tabuliek katalógu služieb. Jadro riadiacich systémov v zásade nijako neinteraguje s tabuľkami alebo ich jednotlivými stĺpcami.
Jazyk SQL obsahuje celý zoznamšpeciálne nástroje, ktoré vám umožňujú určiť obmedzenia integrity databázy. Všetky takéto obmedzenia sú opäť zahrnuté v špeciálnych katalógových tabuľkách a kontrola integrity sa vykonáva priamo na jazykovej úrovni, teda v procese čítania jednotlivých príkazov na úpravu databázy, kompilátor na základe obmedzení integrity dostupných v databáze, vygeneruje príslušný programový kód.