Dnes je: 21. května 2012

Ostatní

Autor knihy

Oracle Database 11g - Hotová řešení

Kdo je online

Právě připojeni - hostů: 18 

Přihlásit se




Definice výkonu databáze

Pokud pracuje jako Oracle DBA (nebo databázový administrátor jiného produktu), je velice pravděpodobné že řešíte otázky výkonu databáze, jednou za čas, ne-li rovnou denně. Ale už jste se někdy na chvíli zastavili a snažili se definovat, co vlastně znamená výkon datbáze? Pokud tak učiníte, může to být užitečné cvičení, i kdyby jste si jen zorganizovali své myšlenky na toto téma ..

Zamyslete se nad tím, nepotřebujeme snad náhodou nějaou definici výkonu databáze před tím, než se pustíme do vlastního ladění?

Jeden ze způsobů, jak pohlížet na výkon databáze, je vlastně rychlost s jakou nám dokáže databáze vrátit výsledky dotazu nebo požadavků které ji předáme.
Ale pojďme se ponořit trochu hlouběji. Existuje pět faktorů, které ovlivňují výkon databáze: zatížení, propustnost, zdroje, optimalizace, a kolize.

Zátěž,

která je vyžadována v DBMS v závislosti na vyřiřování požadavků.. Jedná se o kombinaci online transakcí, dávkových úloh, ad hoc dotazů, BI dotazů a analýz, utilit a systémových příkazů spouštěných v DBMS v daném okamžiku. Zátěž může kolísat drasticky ze dne na den, z hodiny na hodinu, z minuty na minutu, a ano, dokonce i z vteřiny na vteřinu. Někdy lze zátěž předvídat např. každý měsíc před zpracováním mezd je zátěž vysoká naproti tomu na konci pracovního dne nízká, ale jindy je to nepředvídatelné. Celková pracovní zátěž může mít významný dopad na výkon databáze.

Propustnost

definuje celkové schopnosti počítače pro zpracování dat. Je složen z I / O rychlosti, rychlosti procesoru, paralelní možnosti stroje a efektivity operačního systému a  softwaru. A není určována jen základními předpoklady (např. MHz pro Wintel krabice, MSU a MIPS pro sálové počítače). Možná, že jste nainstalovali hard nebo soft omezení na box, což může mít dopad na výkon. A nezapomeňte na ty speciální procesory (zIIPs a zAAPs), pokud jste mainframe DBA.

Zdroje

Veškeré tyto nástroje jsou znýmy jako systémové prostředky neboli zdroje. Mezi ně patří diky, paměti, cache, řadiče atd..

Optimalizace

Čtvrtým prvkem definujícím výkon databáze je optimalizace. Všechny typy systémů mohou být optimalizovány, ale relační databázové systémy jsou unikátní v tom, že každý dotaz musí být optimalizován v první řadě uvnitř databáze. Musíte zajistit, že veškeré statistiky jsou aktualizované a přesné, neboť tyto statistiky nám zajištují nejlepší-optimální vykonání konkrétního dotazu v databázi. Mějte na paměti, že existují i další faktory, které je třeba optimalizovat (databázové parametry, systémové parametry, atd.) k tomu, aby optimalizátor vytvořil optimální exekucní plán. A to jsou aspekty optimalizace, které jsou mimo působnost a kontrolu relační optimalizátoru,(cost based optimizer). Jako další je potřeba optimalizovat dotazy samotné, jejich složení a syntaxi a tak dále.

Kolize

Když je poptávka po konkrétním zdroji vysoká, mohou vznikat kolize. Nejčastěji se kolize projevují jako určité typy wait eventu, čekáni na zdroje. Kolize je stav, ve kterém dva nebo více procesů přistupuje k jednomu zdroji a je jendo jestli se jedna o zdroje systémové nebo objekty v databázi. Například aktualizace jednoho záznamu ze dvou různých připojeni (sessions). Abychom zajistili integritu dat neboli čisotu dat, je každý záznam, který má být změněn, uzamčen pro ostatní uživatele. Tím pádem ostatní uživatele musí čekat, dokud se data opět neuvolními jinému uživateli. Používá se metoda zámků. V databázi jsou různé typy zámků jak v paměti tzv. latche nebo nad objekty locks. Čím víze takových zámků bude vznikat, tím více uživatelů nebo procesů musí čekat a tím pádem se nám snižuje propustnost.

Takže sloučením těchto všech aspektů dostanete celkový výkon databáze. Lze tedy říci, že výkon databáze je určen optimalním využítí zdrojů pro zvýšení propustnosti a minimalizací počtu kolizí, což umožňuje co největší propustnost databáze.

Kromě toho, databázové aplikace pravidelně komunikují s ostatními systémovými aplikacemi. Kde se vzájemná komunikace může promítnout do cekového výkonu. Jak vidět, je zde mnoho faktorů, které ovlivnují celkový výkon databázového systému. Například aplikační servery, sít jako jaková, atd.

Sečteno podtrženo
K tomu, abyste mohli ladit výkon vaší databáze, musíte rozumět, co se vlastně pojmem "database performance" míní. Pakliže tak je, stane se vyladění databáze dosažitelným úkolem i kdzž ladění databáze je nikdy nekončící činnost.

Volný překlad a doplnění článku od Craig S. Mullins (se svolením autora)

 

Certifikát Oracle Certifikát Oracle Certifikát Oracle Certifikát Oracle Certifikát Oracle Certifikát Oracle

Partnerské internetové stránky:
www.oracledba.cz www.asktom.cz www.tomas-solar.cz