Vysoká dostupnost a Disaster Recovery (HA a DR) jsou u mnoha produktů často zaměňovány a často nesprávně požadovány při nasazení jednotlivých funkcí systému. Zatímco vysoká dostupnost se spíše zaměřuje na výpadky systému a služby, Disaster Recovery je využitá v mnohem širším spektru problémů. V případě využití SQL Server se mezi HA možnosti, které jsou nabízeny, řadí:
Jednotlivé technologie pro vysokou dostupnost a jejich možnosti jsou odlišné v závislosti na použité edici SQL Serveru, zejména pro AlwaysOn je nutná edice Enterprise.
Technologie
Standard Edice
BI Edice
Enterprise Edice
Clustering
Ano (2 nody)
Ano (nody dle OS)
MultiSubnet Cluster
Ano
Mirroring
Ano (Pouze Full Safety)
Log Shipping
Change tracking
Merge replication
Transactional replication
Peer to Peer
AlwaysOn
Database Snapshot
Při porovnání DR již není rozdíl mezi edicemi tak patrný, např. díky posunutí možnosti pro komprimovaný backup do všech hlavních edicí (tj. Std, BI, Ent), který dokáže významně zmenšit velikost zálohy a také zkrátit čas potřebný pro její vytvoření. Z hlavních enterprise funkcí u DR jmenujme např. Online page and file restore nebo Mirrored Backup.
Failover clustering (dále jen FC) slouží jako ochrana pro celou instanci, a spoléhá se na službu Windows Failover Cluster. Nejčastěji bývá porovnáván s Mirroring technologií, která slouží pro ochranu vždy jedné konkrétní databáze. Od verze SQL Server 2012 je služba Windows Failover Cluster použita i pro AlwaysOn technologii, která ale pracuje jiným způsobem než klasický SQL Failover Cluster. Princip práce SQL Clusteru je založen na sdílené databázi (resp. Sdíleném datovém úložišti – nejčastěji SAN), které je také jedním ze zranitelných míst celého řešení. Každý cluster je složen z několika nodů, kdy vždy jeden je aktivní, a další jsou pasivní. U SQL se občasně můžeme setkat i s pojmem active/active cluster, což je ale řešení pro více instancí. Při jedné instanci pracuje SQL vždy v kombinaci active/passive.
Mezi hlavní přednosti SQL Clusteringu patří:
Mirroring nabízí poměrně bohatou konfiguraci a široké spektrum využití. Pracuje na úrovni jednotlivých databází, kdy každá databáze má svou kopii na jiném serveru (nebo instanci). Bohužel tato kopie je v databázovém režimu restoring a tudíž není určená pro běžnou práci uživatelů. Toho lze docílit až v případě AlwaysOn nebo částečně použitím snapshotu. Při konfiguraci mirroringu máme na výběr, zda-li bude využit synchronní režim nebo asynchronní režim, a také zda chceme využít automatický či manuální failover. Mezi hlavní výhody mirroringu patří
Log Shipping se v mnohém podobá Database Mirroringu, protože také chrání jednotlivé databáze a používá k tomu podobný princip. Podstata Log Shippingu spočívá v pravidelné (a často poměrně frekventované) záloze transakčního logu, která je následně zkopírována na partnerské servery, kde je tato záloha obnovena. Na rozdíl od předchozích technologií Log Shipping nenabízí automatický failover a pro přepnutí databáze ze stand-by režimu je nutné provést několik kroků ručně.
Hlavní výhody Log Shipping:
Replikace mají mnoho možností využítí díky mnoha topologiím a různým možnostem nastavení – transakční, snapshot, merge, peer2peer atd. Replikace jsou postavené nad modelem publisher/subscriber. U publisher serveru volíme jaká data mají být v rámci replikace dostupná, u subscriber naopak vybíráme ze kterých publisher serverů budou data replikována. Do celé topologie patří i distributor role, která nejčastěji bývá spojena s rolí Publisher. U replikací je výhodou možnost využití propojení na databáze Oracle, a také dostupnost i u Express edice (pouze jako subscriber).
AlwaysOn byla do sady technologií pro vysokou dostupnost dodána až v poslední verzi SQL Serveru 2012, a to pouze v Enterprise edici. AlwaysOn je svým způsobem kombinací mezi Database Mirroringem a Log Shippingem. AlwaysOn je možné nasadit v několika kombinacích, stejně jako u Mirroringu máme k dispozici synchronní a asynchronní režim, a podobně jako v Log Shippingu je možné databáze replikovat na vícero serverů. Jednou z velkých výhod těchto replik je jejich dostupnost pro čtení, která je dokonce doplněna o tzv. read-only routing.
Mezi hlavní výhody AlwaysOn patří:
SQL Server nabízí administrátorům mnoho technologií pro zajištění vysoké dostupnosti instancí a databází. Záleží na konkrétních požadavcích a také na podpoře dané aplikace. V dalších dílech tohoto seriálu si představíme jednotlivé technologie více do hloubky včetně ukázek konfigurace.
- Marek Chmel