Wysoka dostępność według warstwy usługi

Ukończone

Aby zrozumieć opcje dostępności i możliwości w usłudze Azure SQL, należy poznać warstwy usług. Wybrana warstwa usług określi podstawową architekturę wdrożonej bazy danych lub wystąpienia zarządzanego.

Istnieją dwa modele zakupów, które należy wziąć pod uwagę: jednostki DTU i rdzenie wirtualne. W tej lekcji skupimy się na warstwach usług rdzeni wirtualnych i ich architekturach przeznaczonych do zapewniania wysokiej dostępności. Warstwy Podstawowa i Standardowa modelu DTU można porównać do warstwy Ogólnego przeznaczenia, a jego warstwy Premium do warstwy Krytyczne dla działania firmy.

Ogólnego przeznaczenia

Bazy danych i wystąpienia zarządzane w warstwie usług Ogólnego przeznaczenia mają tę samą architekturę dostępności. Korzystając z poniższej ilustracji jako przewodnika, najpierw rozważmy elementy aplikacja i pierścień kontroli. Aplikacja łączy się z nazwą serwera, która następnie łączy się z bramą (GW), która wskazuje połączenie aplikacji z poprawnym serwerem uruchomionym na maszynie wirtualnej. W przypadku warstwy Ogólnego przeznaczenia replika podstawowa używa lokalnie dołączonych dysków SSD dla programu tempdb. Pliki danych i dziennika są przechowywane w usłudze Azure Premium Storage, czyli w magazynie lokalnie nadmiarowym (wiele kopii w jednym regionie). Pliki kopii zapasowej są przechowywane w usłudze Azure Standard Storage, która jest domyślnie uznawana za magazyn geograficznie nadmiarowy z dostępem do odczytu. MAGAZYN RA-GRS jest magazynem globalnie nadmiarowym z kopiami w wielu regionach.

Jak opisano we wcześniejszym module w tej ścieżce szkoleniowej, cała usługa Azure SQL jest oparta na platformie Azure Service Fabric, która służy jako szkielet platformy Azure. Jeśli platforma Azure Service Fabric ustali, że wymagane jest przejście do trybu failover, tryb failover będzie podobny do tego, który ma miejsce w przypadku wystąpienia klastra trybu failover (FCI). Sieć szkieletowa usługi wyszuka węzeł z zapasową pojemnością i uruchomi nowe wystąpienie programu SQL Server. Pliki bazy danych zostaną następnie dołączone, zostanie uruchomione odzyskiwanie, a bramy zostaną zaktualizowane tak, aby wskazywały aplikacje na nowy węzeł. Nie jest wymagana żadna sieć wirtualna, odbiornik ani aktualizacje. Ta funkcja jest wbudowana.

Zrzut ekranu przedstawiający architekturę warstwy Ogólnego przeznaczenia

Krytyczne dla działania firmy

Kolejną warstwą usług, którą należy wziąć pod uwagę, jest warstwa Krytyczne dla działania firmy, która ogólnie zapewnia najwyższą wydajność i dostępność spośród wszystkich warstw usługi Azure SQL (Ogólnego przeznaczenia, Hiperskala, Krytyczne dla działania firmy). Warstwa Krytyczne dla działania firmy jest przeznaczona dla aplikacji o kluczowym znaczeniu, które wymagają małych opóźnień i minimalnych przestojów.

Zrzut ekranu przedstawiający architekturę warstwy Krytyczne dla działania firmy

Używanie warstwy Krytyczne dla działania firmy za kulisami przypomina wdrażanie zawsze włączonych grup dostępności. W przeciwieństwie do warstwy Ogólnego przeznaczenia pliki danych i dziennika w Krytyczne dla działania firmy są uruchomione na bezpośrednich dyskach SSD, co znacznie zmniejsza opóźnienie sieci. (Ogólnego przeznaczenia używa magazynu zdalnego). W tej grupy dostępności istnieją trzy repliki pomocnicze. Możesz użyć jednego z nich jako punktu końcowego tylko do odczytu (bez dodatkowych opłat). Transakcja może wykonać zatwierdzenie, gdy co najmniej jedna z replik pomocniczych ma zmianę o podwyższonym poziomie w dzienniku transakcji.

Skalowanie odczytu w poziomie z jedną z replik pomocniczych obsługuje spójność na poziomie sesji, więc jeśli sesja tylko do odczytu ponownie łączy się po błędzie połączenia spowodowanym niedostępnością repliki, może zostać przekierowana do repliki, która nie jest aktualna w replice do odczytu i zapisu. Podobnie jeśli aplikacja zapisuje dane przy użyciu sesji odczytu i zapisu, a natychmiast odczytuje je przy użyciu sesji tylko do odczytu, możliwe jest, że najnowsze aktualizacje nie będą natychmiast widoczne w replice. Opóźnienie jest spowodowane przez asynchroniczną operację ponownego wykonywania w dzienniku transakcji.

Jeśli wystąpi jakikolwiek typ awarii, a sieć szkieletowa usługi ustali, że tryb failover jest potrzebny, przejście w tryb failover do repliki pomocniczej jest szybkie, ponieważ replika już istnieje i ma dołączone do niej dane. W trybie failover nie jest potrzebny odbiornik. Brama przekierowuje połączenie do podstawowego nawet po przejściu w tryb failover. Ten przełącznik odbywa się szybko, a następnie sieć szkieletowa usługi zajmuje się uruchamianiem kolejnej repliki pomocniczej.

Hiperskala

Warstwa usługi Hiperskala jest dostępna tylko w usłudze Azure SQL Database. Ta warstwa usługi ma unikatową architekturę, ponieważ używa warstwowej warstwy pamięci podręcznych i serwerów stron, aby zwiększyć możliwość szybkiego uzyskiwania dostępu do stron bazy danych bez konieczności bezpośredniego uzyskiwania dostępu do pliku danych.

Zrzut ekranu przedstawiający architekturę warstwy Hiperskala.

Ponieważ ta architektura korzysta ze sparowanych serwerów stronicowania, można skalować w poziomie, aby umieścić wszystkie dane w warstwach pamięci podręcznej. Ta nowa architektura umożliwia również warstwie Hiperskala obsługiwanie baz danych o rozmiarze do 100 TB. Dzięki użyciu migawek można wykonywać niemal natychmiastowe kopie zapasowe bazy danych niezależnie od rozmiaru. Przywracanie bazy danych trwa kilka minut, a nie godzin lub dni. Możesz również skalować w górę lub w dół o stałej godzinie w celu dopasowania do obciążeń.

Warto zwrócić uwagę na to, w jaki sposób w tej architekturze została wydobyta usługa dziennika. Usługa dziennika jest używana do przekazywania replik oraz serwerów stronicowania. Transakcje mogą być zatwierdzane, gdy usługa dziennika wzmacnia zabezpieczenia strefy docelowej, więc użycie zmian przez pomocniczą replikę obliczeniową nie jest wymagane do zatwierdzenia. W przeciwieństwie do innych warstw usług, możesz określić, czy chcesz korzystać z replik pomocniczych. Można skonfigurować zero do czterech replik pomocniczych, których można użyć do skalowania odczytu.

Podobnie jak w innych warstwach usług, automatyczne przejście w tryb failover będzie miało miejsce, jeśli usługa Service Fabric określi, że musi, ale czas odzyskiwania będzie zależeć od istnienia replik pomocniczych. Jeśli na przykład nie masz replik i nastąpi przejście w tryb failover, scenariusz będzie podobny do warstwy usługi Ogólnego przeznaczenia: sieć szkieletowa usługi musi najpierw znaleźć wolną pojemność. Jeśli masz co najmniej jedną replikę, odzyskiwanie jest szybsze i bardziej zgodne z warstwą usługi Krytyczne dla działania firmy.

Krytyczne dla działania firmy utrzymuje najwyższą wydajność i dostępność dla obciążeń z małymi zapisami dzienników, które wymagają małych opóźnień, ale warstwa usługi Hiperskala umożliwia uzyskanie wyższej przepływności dziennika w zakresie MB/sekundy, zapewnia największe rozmiary baz danych i zapewnia maksymalnie cztery repliki pomocnicze dla wyższych poziomów skali odczytu. W związku z tym podczas wyboru między nimi należy wziąć pod uwagę obciążenie.

Test wiedzy

1.

Która warstwa usługi umieszcza pliki danych i dziennika w usłudze Azure Premium Storage?

2.

W której warstwie usługi grupa dostępności jest zawsze włączona w tle?