Konsolidácia databáz – ako na to?

Autor: Ľuboš Saloky | 16.5.2011 o 9:20 | Karma článku: 2,62 | Prečítané:  767x

Decentralizované prostredie nespĺňa požiadavky ľahkej manažovateľnosti, škálovateľnosti a nákladovej efektívnosti. Sťažuje optimalizáciu výdavkov na licencie. Konsolidácia vo všeobecnosti znamená spájanie jednotlivých častí do väčších celkov. V prípade databáz ide o migráciu z množstva menej výkonných serverov na menší počet výkonnejších serverov. Konsolidáciu by malo sprevádzať zníženie nákladov vďaka efektívnejšie využívaným hardvérovým zdrojom, štandardizácia a zjednodušenie správy infraštruktúry. K aktuálnym trendom patrí aj „zelené IT" zameriavajúce sa na redukciu spotreby energie v dátových centrách.

Databázy sú súčasťou mnohých aplikácií. Vývojári a implementátori aplikácií si pridávajú do infraštruktúry nové databázy slúžiace len pre vyriešenie svojich špecifických potrieb. IT oddelenia ľahko strácajú kontrolu nad množstvom databáz, ktoré musia byť udržiavané a spravované.

Napriek všeobecne zvolenej téme  bude navrhnutý rozsah možností uvedený pre Microsoft SQL Server. Ku konsolidácii databázových systémov od iných výrobcov sa neviem vyjadriť, aj keď očakávam približne totožný manévrovací priestor.

Aké sú postupy?

Máme k dispozícii tri možnosti:

  1. Presun databáz do virtualizovaného prostredia: môže ísť o použitie malého počtu výkonných serverov na ktorých sú prevádzkované virtuálne servery, alebo o riešenie z oblasti cloud-computingu.
  2. Presun databáz na malý počet výkonných serverov, pričom na každom serveri by bolo prevádzkovaných niekoľko inštancií SQL Servera a v rámci každej inštancie jedna databáza (alebo niekoľko databáz pre jednu aplikáciu).
  3. Presun databáz na malý počet výkonných serverov, pričom na každom serveri by bola prevádzkovaná len jedna inštancia SQL Servera a v nej niekoľko databáz.

Aké sú rozdiely medzi týmito alternatívami a ako si vybrať riešenie vhodné do konkrétneho prostredia?

Každá alternatíva obsahuje určitý stupeň izolácie databázy od iných databáz, ktoré sú využívané inými aplikáciami. Konfiguračné nastavenia na úrovni inštancie majú dopad na všetky databázy v nej prevádzkované, takisto serverovské nastavenia ovplyvňujú všetky databázy v rámci servra. Vyššia miera izolácie teda umožňuje vyššiu flexibilitu v nastaveniach. Nižšia miera izolácie znižuje náklady a zjednodušuje správu.  Môže však viesť k tomu, že niektoré globálne nastavenia nebudeme môcť použiť a zvyšuje sa riziko zahltenia inštancie alebo servera. V prostredí nižšej miery izolácie sa databázy delia o spoločné výpočtové zdroje, čiže jedna výpočtovo náročná databáza môže znížiť rýchlosť odozvy u ostatných. SQL Server 2008 R2 ponúka viacero možností pre monitorovanie výkonugarantovanie výpočtových zdrojov pre jednotlivé databázy.

Pri alternatíve 1) - virtualizácia - aplikácie a ich databázy prechádzajú zo svojho pôvodného prostredia do virtualizovanej infraštruktúry. Ide o najjednoduchší spôsob migrácie, virtuálne servery sú plne izolované od ostatných.

Pri alternatíve 2) - viacero inštancií, každá aplikácia má svoju - dochádza k izolácii na úrovni bináriek SQL servera, čo umožňuje napríklad rôzne verzie service packov na rôznych inštanciách. Na druhej strane, niektoré systémové zdroje sú zdieľané.

Pri alternatíve 3) - databázy rôznych aplikácií v rámci jednej inštancie - dochádza k zdieľaniu  objektov ako tempdb alebo servisný účet pod ktorým je prevádzkovaný SQL Server servis, ďalej všetky databázy zdieľajú rovnaký patch level (service pack + cumulative update).

Ako si vybrať?

Potrebujeme zvážiť nasledovné: bezpečnosť, vysokú dostupnosť a manažovateľnosť.

Bezpečnosť: ak potrebujeme prevádzkovať databázu pod špecifickým servisným účtom, zakazovať prístup k súborom s databázou na úrovni operačného systému alebo kryptovať súbory s databázou,  použiť IPSEC pre šifrovanie sieťovej komunikácie a podobne, budeme musieť zvoliť vyššiu mieru izolácie. Vo všeobecnosti teda zrejme dôjde k separácii databáz s rôznymi úrovňami požiadaviek na bezpečnosť.

Dostupnosť: pri virtualizácii máme k dispozícii funkcionalitu hypervízora, pri ostatných metódach konsolidácie vieme využiť Database Mirroring alebo Log Shipping. Služba Windows Cluster umožňuje vytvoriť cluster na úrovni inštancie. Budeme teda separovať databázy s rôznymi požiadavkami na dostupnosť, kde kľúčové databázy budú prevádzkované samostatne za pomoci niektorej z menovaných technológií pre vysokú dostupnosť.

Manažovateľnosť: čím menšia miera izolácie, tým jednoduchšia je správa. Inštalácia záplat, nastavenia na úrovni operačného systému, pridávanie výpočtových zdrojov. Redukuje sa počet inštalácií operačného systému a samotného SQL Servera. Na druhej strane, databázy zdieľajú výpočtové zdroje a tempdb. Z hľadiska jednoduchej manažovateľnosti sa teda budeme sa snažiť o čo najvyššiu mieru konsolidácie, ak v tom nebránia požiadavky na bezpečnosť, dostupnosť alebo nutnosť mať pre konkrétnu databázu oddelené systémové zdroje.

Záver

Počet aplikácií bude neustále rásť. Do určitej miery, konsolidácia je nekonečný proces. Cieľom nie je len dosahovanie krátkodobých cieľov ako napríklad redukcia nákladov, ale aj vytvorenie dynamickej a škálovateľnej IT infraštruktúry, ktorá podporuje rast organizácie.

Páčil sa Vám tento článok? Pridajte si blogera medzi obľúbených a my Vám pošleme email keď napíše ďalší článok
Pridaj k obľúbeným

Hlavné správy

DOMOV

Minúta po minúte: Fico bude opäť kandidovať na šéfa Smeru, s Kaliňákom útočili na médiá

Vo funkcii podpredsedov skončia Čaplovič a Paška. Kandiduje aj Kaliňák.

DOMOV

Odhalila kauzu predsedníctva. Odkiaľ prišla Zuzana Hlávková?

Gymnázium, ktoré navštevovala, jej plánuje vyjadriť verejnú podporu.

KULTÚRA

Milan Lasica: Už nemôžem umrieť predčasne

Keby som mohol, správal by som sa úplne inak, tvrdí.


Už ste čítali?