Vysoká dostupnost podle úrovně služeb

Dokončeno

K porozumění možnostem a funkcím v Azure SQL je potřeba pochopit úrovně služeb. Vybraná úroveň služby určí základní architekturu databáze nebo spravované instance, kterou nasadíte.

Existují dva nákupní modely, které je potřeba vzít v úvahu: DTU a virtuální jádro. V této lekci se soustředíme na úrovně služby na základě virtuálních jader a jejich architektury pro zajištění vysoké dostupnosti. Úrovně Basic a Standard v modelu DTU a úroveň Pro obecné účely jsou shodné, stejně úroveň Premium a úroveň Pro důležité obchodní informace.

Pro obecné účely

Databáze a spravované instance v úrovni služby Pro obecné účely mají stejnou architekturu dostupnosti. Jako vodítko můžeme využít následující obrázek – nejdříve se tedy zamyslete nad částmi Aplikace a Kontrolní okruh. Aplikace se připojí k názvu serveru, který se pak připojí k bráně (GW), která odkazuje připojení aplikace na správný server spuštěný na virtuálním počítači. Při použití pro obecné účely používá primární replika místně připojené disky SSD .tempdb Data a soubory protokolu jsou uložené v Azure Premium Storage, což je místně redundantní úložiště (více kopií v jedné oblasti). Záložní soubory se pak ukládají ve službě Azure Standard Storage, která se ve výchozím nastavení považuje za RA-GRS. RA-GRS je globálně redundantní úložiště s kopiemi ve více oblastech.

Jak je popsáno v jednom z předchozích modulů tohoto studijního programu, všechny služby Azure SQL jsou postavené na službě Azure Service Fabric, která slouží jako základ pro Azure. Pokud Azure Service Fabric zjistí, že se musí provést převzetí služeb při selhání, bude toto převzetí služeb při selhání podobné jako u instance clusteru s podporou převzetí služeb při selhání (FCI). Služba Service Fabric bude hledat uzel s volnou kapacitou a připraví novou instanci SQL Serveru. Soubory databáze se pak připojí, spustí se obnovení a brány se aktualizují tak, aby odkazy aplikací na nový uzel. Není nutná žádná virtuální síť ani naslouchací proces nebo aktualizace. Tato funkce je integrovaná.

Screenshot that shows the General Purpose architecture.

Pro důležité obchodní informace

Další úroveň služeb, kterou je potřeba vzít v úvahu, je Pro důležité obchodní informace, která může obecně dosáhnout nejvyššího výkonu a dostupnosti ze všech úrovní služeb Azure SQL (Pro obecné účely, Hyperscale, Pro důležité obchodní informace). Úroveň Pro důležité obchodní informace je určená pro klíčové aplikace, které vyžadují nízkou latenci a minimální prostoje.

Screenshot that shows the Business Critical architecture.

Použití úrovně Pro důležité obchodní informace se podobá nasazení skupiny dostupnosti AlwaysOn na pozadí. Na rozdíl od úrovně Pro obecné účely jsou soubory dat a protokolů v Pro důležité obchodní informace spuštěné na přímo připojeném disku SSD, což výrazně snižuje latenci sítě. (Pro obecné účely se používá vzdálené úložiště.) V této skupině dostupnosti jsou tři sekundární repliky. Jeden z nich můžete použít jako koncový bod jen pro čtení (bez dalších poplatků). Transakce může dokončit zápis, pokud alespoň jedna ze sekundárních replik stvrdila změnu pro svůj transakční protokol.

Horizontální navýšení kapacity čtení s jednou ze sekundárních replik podporuje konzistenci na úrovni relace, takže pokud se relace jen pro čtení znovu připojí po chybě připojení způsobené nedostupností repliky, může být přesměrována na repliku, která není 100 % aktuální s replikou pro čtení i zápis. Podobně platí, že pokud aplikace zapisuje data pomocí relace čtení i zápisu a hned ji přečte pomocí relace jen pro čtení, je možné, že nejnovější aktualizace nebudou v replice hned viditelné. Latence je způsobena operací opakování asynchronního transakčního protokolu.

Pokud dojde k nějakému typu selhání a Service Fabric zjistí, že je potřeba provést převzetí služeb při selhání, převzetí služeb při selhání sekundární repliky je rychlé, protože replika už existuje a má k ní připojená data. V případě převzetí služeb při selhání nepotřebujete naslouchací proces. Brána přesměruje vaše připojení na primární i po převzetí služeb při selhání. K tomuto přepnutí dojde rychle a service fabric se postará o roztáčení další sekundární repliky.

Hyperškálování

Úroveň služby Hyperscale je dostupná jenom ve službě Azure SQL Database. Tato úroveň služby má jedinečnou architekturu, protože používá vrstvenou vrstvu mezipamětí a stránkových serverů k rozšíření možnosti rychlého přístupu k databázovým stránkám bez přímého přístupu k datovému souboru.

Screenshot that shows the Hyperscale architecture.

Vzhledem k tomu, že tato architektura používá spárované stránkovací servery, můžete škálovat horizontálně a umístit všechna data do vrstev mezipaměti. Tato nová architektura také umožňuje, aby úroveň Hyperscale podporovala databáze až o velikosti 100 TB. Protože používá snímky, mohou probíhat téměř okamžitá zálohování databází bez ohledu na velikost. Obnovení databáze proběhne v řádu minut, nikoli hodin nebo dní. Nepřetržitě můžete také vertikálně navyšovat nebo snižovat kapacitu podle toho, jak vyžadují vaše úlohy.

Všimněte si zajímavého způsobu výběru služby protokolu v této architektuře. Služba protokolu slouží k poskytování replik a stránkovacích serverů. Transakce se můžou potvrdit, když služba protokolu zpevní cílovou zónu, takže pro potvrzení není vyžadována spotřeba změn sekundární výpočetní replikou. Na rozdíl od jiných úrovní služeb můžete určit, jestli sekundární repliky chcete. Můžete nakonfigurovat nula až čtyři sekundární repliky, z nichž všechny můžete použít pro škálování čtení.

Stejně jako u ostatních úrovní služby dojde k automatickému převzetí služeb při selhání, pokud service fabric zjistí, že je potřeba, ale doba obnovení bude záviset na existenci sekundárních replik. Pokud například nemáte repliky a dojde k převzetí služeb při selhání, bude postup podobný jako u úrovně služby Pro obecné účely: Service Fabric musí nejprve najít volnou kapacitu. Pokud máte jednu nebo více replik, je obnovení rychlejší a více se blíží úrovni služby Pro důležité obchodní informace.

Pro důležité obchodní informace udržuje nejvyšší výkon a dostupnost úloh s malými zápisy protokolů, které vyžadují nízkou latenci, ale úroveň služby Hyperscale umožňuje získat vyšší propustnost protokolů z hlediska MB/sekundy, poskytuje největší velikosti databáze a poskytuje až čtyři sekundární repliky pro vyšší úrovně škálování čtení. Proto budete muset při výběru mezi těmito dvěma úlohami vzít v úvahu svoji úlohu.

Prověrka znalostí

1.

Která úroveň služby umísťuje data a soubory protokolů do služby Azure Premium Storage?

2.

Která úroveň služby má na pozadí nasazenou skupinu dostupnosti AlwaysOn?