Vysoká dostupnosť služieb
Kritické podnikové systémy si vyžadujú maximálnu dostupnosť poskytovaných služieb. Systémy preto nasadzujeme na centrálnych klastroch aplikačných a databázových serverov, čím sa zvyšuje výkonnosť systému rozdeľovaním záťaže medzi jednotlivé servery a zároveň zabezpečuje dostupnosť systému aj pri výpadkoch jednotlivých aplikácii alebo databázových serverov. Samozrejmosťou je neustály monitoring stavu serverov, aby bolo možné v čo najkratšom možnom čase odstrániť akýkoľvek vzniknutý alebo avizovaný problém.
Pre najkritickejšie systémy s vysokým počtom pripojených klientov využívame samostatné, geograficky oddelené dátové centrá s mechanizmom distribuovanej replikácie databáz. V prípade výpadku alebo nedostupnosti celého primárneho dátového centra sa požiadavky na systém presmerujú na záložné dátové centrum, pričom klient sa o výpadku centra nemusí vôbec dozvedieť.
Databáza a vysoká dostupnosť systému
Vytváranie vysoko dostupných aplikácií s veľkými objemami údajov je veľkou výzvou. Aplikácia musí byť odolná voči zlyhaniu akéhokoľvek systémového komponentu. Jedným z najkritickejších prvkov je v tomto prípade databáza, ktorá uchováva všetky údaje potrebné pre aplikáciu. V prípade, že nie sú dostupné, funkcionalita celého systému je narušená.
Zlyhanie databázy alebo jej komponentov môže mať fatálne následky na dostupnosť systému. Kritickým zlyhaním je hlavne poškodenie údajov. Každá databáza má samozrejme svoj záložný / opravný plán, aby sa údaje nestratili navždy. Každopádne obnovenie veľkých objemov údajov zaberá viac času, ako je prijateľné pri vysokej dostupnosti systému. Aj tie najmenšie výpadky systému spôsobené zlyhaním databázového servera sú nepríjemné. Zlyhania databázového servera sa môžu vyskytovať pomerne často a systém by mal byť schopný ich zvládnuť bez ovplyvnenia konečných používateľov.
Naša spoločnosť vyvíja a dodáva svojim zákazníkom vysoko dostupné systémy. Na dosiahnutie vysokej dostupnosti sú databázy svojich systémov založené na funkciách databázy Oracle. Možné zlyhania databázového systému môžu byť spôsobené napríklad zlyhaním akéhokoľvek komponentu databázového hardvéru (server, úložné miesto, sieť ...), poškodením uložených súborov alebo ľudskou chybou.
Problémové situácie
Zlyhanie databázového servera
Oracle vlastnosť Real Application Cluster umožňuje fungovanie databázy na viac ako jednom sieťovom uzli. Ak zlyhá jeden uzol, zvyšné uzly preberú spracovávanie žiadostí. Nie je potrebný žiadny manuálny zásah a nenastáva časový výpadok (hoci na veľmi krátky čas systém nereaguje kvôli automatickej rekonfigurácii).
Poškodenie uložených údajov
Databázy našich systémov obsahujú veľké množstvo údajov, preto sú z dôvodu urýchlenia obnovy v prípade ich poškodenia alebo straty rozdeľované do partícií podľa ich dôležitosti s použitím funkcie databázy Partitioning. Každá časť údajov je uložená v priradenom súbore a v prípade poškodenia obnovujeme súbory s najdôležitejšími údajmi ako prvé. Takéto obnovenia trvajú niekoľko minút a následne sú naše systémy schopné poskytnúť dôležitú funkcionalitu, pričom obnovenie menej dôležitých údajov prebieha paralelne s už bežiacim systémom.
Pád produkčného systému
Zlyhania celých systémov sa nevyskytujú často, avšak je dôležité rátať aj s takýmto scenárom. V prípade, že sa chyba vyskytne na mieste, kde systém odoláva, neexistuje spôsob, ako na tomto mieste systém rýchlo obnoviť. Riešením je mať sekundárne miesto obsahujúce rovnaký systém, kde je možné produkčné operácie presmerovať. V tomto prípade je výzvou synchronizácia údajov uložených v databáze medzi primárnym (produkčným) a sekundárnym (standby) miestom. Počas normálnych operácií sú údaje na primárnom mieste menené kontinuálne, preto je potrebné tieto zmeny prenášať na sekundárne miesto. Riešením je funkcia databázy DataGuard, ktorá na základe konfigurácie zaručuje minimálnu, prípadne nulovú stratu v prípade pádu primárneho miesta.
Ľudské chyby
Funkcia DataGuard nám tiež pomáha v prípade ľudských chýb. Aplikácia vektorov zmeny je odložená na sekundárne miesto. Produkcia môže byť na sekundárne miesto presmerovaná s minimálnou stratou údajov. Naše systémy využívajú vyššie spomenuté technológie na dosiahnutie vysokej dostupnosti databázových systémov (a mnohých iných). Náš systém chránime vytvorením viacerých sekundárnych miest, pričom niektoré z nich sú uložené na primárnom mieste, kde poskytujú alternatívu k obnoveniu poškodených súborov, iné slúžia ako oprava v prípade možných ľudských chýb. Geograficky distribuované sekundárne miesta sú pripravené na prebratie práce v prípade zlyhania primárnych miest.
Stiahnuť pdf