SQL Server a vysoká dostupnost – I.

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í

  • Database Mirroring
  • Log Shipping
  • Failover Clustering
  • Replikace
  • AlwaysOn (od verze 2012)

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 (2 nody)

Ano (nody dle OS)

MultiSubnet Cluster

   

Ano

Mirroring

Ano (Pouze Full Safety)

Ano (Pouze Full Safety)

Ano

Log Shipping

Ano

Ano

Ano

Change tracking

Ano

Ano

Ano

Merge replication

Ano

Ano

Ano

Transactional replication

Ano

Ano

Ano

Peer to Peer

   

Ano

AlwaysOn

   

Ano

Database Snapshot

   

Ano

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

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ří

  • Automatické přesměrování klientů na pasivní nod v případě výpadku
  • Automatická detekce výpadku a přesměrování služeb
  • Jednoduchá konfigurace
  • Podpora více nodů (jen enterprise edice)
Database Mirroring

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ří

  • Ochrana jednotlivých databází
  • Automatická detekce a failover
  • Minimalizované šance dataloss
  • Automatické přesměrování klientů
  • Možnosti opravy datových stránek z mirror kopie
  • Jednoduchá konfigurace

 

m01

Log Shipping

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ě.

ls03

Hlavní výhody Log Shipping

  • Jednoduchá konfigurace
  • Podpora Workgroup edice
  • Částečný přístup ke stand-by databázi pro čtení
  • Podpora bulk-logged režimu

 

ls01

Replikace

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

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.

ag05

Mezi hlavní výhody AlwaysOn patří

  • Jednoduchá konfigurace
  • Více replik
  • Databáze dostupné pro čtení
  • Backup na replice
  • Podpora pro filestream
Závěrem

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.