Omówienie elastycznych pul w warstwie Hiperskala w usłudze Azure SQL Database
Dotyczy:Azure SQL Database
Ten artykuł zawiera omówienie elastycznych pul w warstwie Hiperskala w usłudze Azure SQL Database.
Elastyczna pula usługi Azure SQL Database umożliwia deweloperom oprogramowania jako usługi (SaaS) optymalizowanie współczynnika wydajności cen dla grupy baz danych w ramach określonego budżetu przy jednoczesnym zapewnieniu elastyczności wydajności dla każdej bazy danych. Elastyczne pule usługi Azure SQL Database w warstwie Hiperskala wprowadza udostępniony model zasobów dla baz danych w warstwie Hiperskala.
Przykłady tworzenia, skalowania lub przenoszenia baz danych do elastycznej puli hiperskala przy użyciu interfejsu wiersza polecenia platformy Azure lub programu PowerShell można znaleźć w artykule Praca z elastycznymi pulami hiperskala przy użyciu narzędzi wiersza polecenia
Uwaga
Pule elastyczne dla warstwy Hiperskala są obecnie dostępne w wersji zapoznawczej.
Omówienie
Wdróż bazę danych w warstwie Hiperskala w elastycznej puli , aby udostępniać zasoby między bazami danych w puli i zoptymalizować koszt posiadania wielu baz danych z różnymi wzorcami użycia.
Scenariusze użycia elastycznej puli z bazami danych w warstwie Hiperskala:
- W przypadku konieczności skalowania zasobów obliczeniowych przydzielonych do elastycznej puli w górę lub w dół w przewidywalnym czasie, niezależnie od ilości przydzielonego magazynu.
- Jeśli chcesz skalować zasoby obliczeniowe przydzielone do puli elastycznej, dodając co najmniej jedną replikę skalowania do odczytu.
- Jeśli chcesz używać wysokiej przepływności dziennika transakcji dla obciążeń intensywnie korzystających z zapisu, nawet w przypadku mniejszych zasobów obliczeniowych.
Migrowanie baz danych w warstwie innej niż Hiperskala do elastycznej puli w warstwie Hiperskala uaktualnia bazy danych do warstwy usługi Hiperskala.
Architektura
Tradycyjnie architektura autonomicznej bazy danych w warstwie Hiperskala składa się z trzech głównych niezależnych składników: Compute, Storage ("Page Servers") i dziennika ("Log Service"). Podczas tworzenia elastycznej puli dla baz danych w warstwie Hiperskala bazy danych w puli współużytkują zasoby obliczeniowe i zasoby dziennika. Ponadto jeśli zdecydujesz się skonfigurować wysoką dostępność, każda pula wysokiej dostępności zostanie utworzona z równoważnym i niezależnym zestawem zasobów obliczeniowych i dzienników.
Poniżej opisano architekturę elastycznej puli baz danych w warstwie Hiperskala:
- Elastyczna pula hiperskala składa się z puli podstawowej, która hostuje podstawowe bazy danych w warstwie Hiperskala i, jeśli została skonfigurowana, do czterech dodatkowych pul wysokiej dostępności.
- Podstawowe bazy danych hiperskala hostowane w podstawowej elastycznej puli współużytkuje proces obliczeniowy aparatu bazy danych programu SQL Server (sqlservr.exe), rdzenie wirtualne, pamięć i pamięć podręczną SSD.
- Skonfigurowanie wysokiej dostępności dla puli podstawowej powoduje utworzenie dodatkowych pul wysokiej dostępności zawierających repliki bazy danych tylko do odczytu dla baz danych w puli podstawowej. Każda pula podstawowa może mieć maksymalnie cztery pule replik o wysokiej dostępności. Każda pula o wysokiej dostępności współdzieli zasoby obliczeniowe, pamięć podręczną SSD i pamięć dla wszystkich pomocniczych baz danych tylko do odczytu w puli.
- Bazy danych hiperskala w podstawowej elastycznej puli współużytkują tę samą usługę dziennika. Ponieważ bazy danych w pulach wysokiej dostępności nie mają obciążenia zapisu, nie korzystają z usługi dziennika.
- Każda baza danych w warstwie Hiperskala ma własny zestaw serwerów stron, a te serwery stron są współużytkowane przez podstawową bazę danych w puli podstawowej oraz wszystkie pomocnicze bazy danych replik w puli o wysokiej dostępności.
- Pomocnicze pomocnicze bazy danych w warstwie Hiperskala replikowane geograficznie można umieścić w innej elastycznej puli.
- Określenie
ApplicationIntent=ReadOnly
w bazie danych parametry połączenia kieruje cię do bazy danych repliki tylko do odczytu w jednej z pul wysokiej dostępności.
Na poniższym diagramie przedstawiono architekturę elastycznej puli baz danych w warstwie Hiperskala:
Zarządzanie bazami danych elastycznej puli hiperskala
Możesz użyć tych samych poleceń, aby zarządzać bazami danych hiperskala w puli jako bazami danych w puli w innych warstwach usług. Pamiętaj o określeniu Hyperscale
wersji podczas tworzenia elastycznej puli hiperskala.
Jedyną różnicą jest możliwość modyfikowania liczby replik wysokiej dostępności (H/A) dla istniejącej elastycznej puli hiperskala. Aby to zrobić:
HighAvailabilityReplicaCount
Użyj parametru polecenia Set-AzSqlElasticPool programu Azure PowerShell.--ha-replicas
Użyj parametru polecenia interfejsu wiersza polecenia platformy Azure az sql elastic-pool update.
Do zarządzania bazami danych hiperskali w elastycznej puli można użyć następujących narzędzi klienckich:
- Azure PowerShell: Az.Sql.3.11.0 lub nowszy. Moduł AzureRM.Sql programu PowerShell nie jest obsługiwany.
- Interfejs wiersza polecenia platformy Azure: Az w wersji 2.40.0 lub nowszej.
- Język Transact-SQL (T-SQL) rozpoczynający się od: SQL Server Management Studio (SSMS) v18.12.1 lub Azure Data Studio w wersji 1.39.1.
Migrowanie baz danych innych niż Hiperskala do elastycznych pul hiperskala
Podczas migracji bazy danych do warstwy Hiperskala można dodać bazę danych do istniejącej elastycznej puli hiperskala. W przypadku tych migracji elastyczna pula hiperskala musi istnieć na tym samym serwerze logicznym co źródłowa baza danych.
Podczas migrowania baz danych do elastycznych pul hiperskala należy pamiętać o maksymalnej liczbie baz danych na elastyczną pulę hiperskala.
Migrowanie baz danych innych niż Hiperskala do elastycznych pul hiperskala przy użyciu języka T-SQL
Polecenia języka T-SQL umożliwiają migrowanie wielu baz danych ogólnego przeznaczenia i dodawanie ich do istniejącej elastycznej puli hiperskala o nazwie hsep1
:
ALTER DATABASE gpepdb1 MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL(NAME = [hsep1]))
ALTER DATABASE gpepdb2 MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL(NAME = [hsep1]))
ALTER DATABASE gpepdb3 MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL(NAME = [hsep1]))
ALTER DATABASE gpepdb4 MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL(NAME = [hsep1]))
W tym przykładzie niejawnie żądasz migracji z warstwy Ogólnego przeznaczenia do warstwy Hiperskala, określając, że elementem docelowym SERVICE_OBJECTIVE
jest elastyczna pula hiperskala. Każde z powyższych poleceń rozpoczyna migrację odpowiedniej bazy danych ogólnego przeznaczenia do warstwy Hiperskala. Te ALTER DATABASE
polecenia szybko zwracają się i nie czekają na ukończenie migracji. W przedstawionym przykładzie będziesz mieć cztery takie migracje z warstwy Ogólnego przeznaczenia do hiperskala uruchomione równolegle.
Możesz wykonać zapytanie dotyczące dynamicznego widoku zarządzania sys.dm_operation_status , aby monitorować stan tych operacji migracji w tle.
Migrowanie baz danych innych niż Hiperskala do elastycznych pul w warstwie Hiperskala przy użyciu programu PowerShell
Polecenia programu PowerShell umożliwiają migrowanie wielu baz danych ogólnego przeznaczenia i dodawanie ich do istniejącej elastycznej puli hiperskala o nazwie hsep1
. Na przykład następujący przykładowy skrypt wykonuje następujące kroki:
- Użyj polecenia cmdlet Get-AzSqlElasticPoolDatabase, aby wyświetlić listę wszystkich baz danych w elastycznej puli ogólnego przeznaczenia o nazwie
gpep1
. - Polecenie
Where-Object
cmdlet filtruje listę tylko do tych nazw baz danych rozpoczynających się odgpepdb
. - Dla każdej bazy danych polecenie cmdlet Set-AzSqlDatabase uruchamia migrację. W takim przypadku niejawnie żądasz migracji do warstwy usługi Hiperskala, określając docelową elastyczną pulę hiperskala o nazwie
hsep1
.- Parametr
-AsJob
umożliwia równoległe uruchamianie poszczególnychSet-AzSqlDatabase
żądań. Jeśli wolisz uruchomić migracje jeden po jednym, możesz usunąć-AsJob
parametr .
- Parametr
$dbs = Get-AzSqlElasticPoolDatabase -ResourceGroupName "myResourceGroup" -ServerName "mylogicalserver" -ElasticPoolName "gpep1"
$dbs | Where-Object { $_.DatabaseName -like "gpepdb*" } | % { Set-AzSqlDatabase -ResourceGroupName "myResourceGroup" -ServerName "mylogicalserver" -DatabaseName ($_.DatabaseName) -ElasticPoolName "hsep1" -AsJob }
Oprócz dynamicznego widoku zarządzania sys.dm_operation_status można użyć polecenia cmdlet programu PowerShell Get-AzSqlDatabaseActivity , aby monitorować stan tych operacji migracji w tle.
Limity zasobów
Poniżej wymieniono obsługiwane limity pracy z bazami danych w warstwie Hiperskala w pulach elastycznych:
- Obsługiwane generowanie sprzętu: zoptymalizowane pod kątem pamięci serii Standardowa (Gen5), serii Premium i premium.
- Maksymalna liczba rdzeni wirtualnych na pulę: 80 lub 128 rdzeni wirtualnych, w zależności od celu poziomu usługi.
- Maksymalny obsługiwany rozmiar danych na bazę danych: 100 TB.
- Maksymalny obsługiwany całkowity rozmiar danych dla baz danych w puli: 100 TB.
- Maksymalna obsługiwana przepływność dziennika transakcji na bazę danych: 100 MB.
- Maksymalna obsługiwana łączna przepływność dziennika transakcji w bazach danych w puli: 131,25 MB/s.
- Każda elastyczna pula hiperskala może mieć maksymalnie 25 baz danych.
Aby uzyskać więcej szczegółów, zobacz limity zasobów elastycznych pul hiperskala dla standardowa serii, serii Premium i zoptymalizowanych pod kątem pamięci w warstwie Premium.
Uwaga
Profile wydajności, obsługiwane możliwości i opublikowane limity mogą ulec zmianie, gdy funkcja jest dostępna w wersji zapoznawczej. W związku z tym najlepiej zweryfikować przypadek użycia przy użyciu regularnego działania, wydajności i testowania skalowania obciążeń.
Ograniczenia
Rozważ następujące ograniczenia:
- Zmiana istniejącej elastycznej puli innej niż Hiperskala na wersję Hiperskala nie jest obsługiwana. Sekcja migracji zawiera kilka alternatyw, których można użyć.
- Zmiana wersji elastycznej puli hiperskala na wersję inną niż Hiperskala nie jest obsługiwana.
- Aby można było cofnąć migrację kwalifikującej się bazy danych, która znajduje się w elastycznej puli hiperskala, należy najpierw usunąć ją z elastycznej puli Hiperskala. Autonomiczna baza danych w warstwie Hiperskala może następnie zostać zmigrowana do autonomicznej bazy danych ogólnego przeznaczenia.
- W przypadku warstwy usługi Hiperskala obsługę nadmiarowości strefy można określić tylko podczas tworzenia bazy danych lub puli elastycznej i nie można jej modyfikować po aprowizacji zasobu. Aby uzyskać więcej informacji, zobacz Migrowanie usługi Azure SQL Database do obsługi stref dostępności.
- Dodawanie nazwanej repliki do elastycznej puli hiperskala nie jest obsługiwane. Próba dodania nazwanej repliki bazy danych hiperskala do elastycznej puli hiperskala powoduje wystąpienie
UnsupportedReplicationOperation
błędu. Zamiast tego utwórz nazwaną replikę jako pojedynczą bazę danych w warstwie Hiperskala.
Zagadnienia dotyczące strefowo nadmiarowych elastycznych pul
W przypadku strefowo nadmiarowych elastycznych pul należy wziąć pod uwagę następujące kwestie:
Uwaga
Elastyczne pule w warstwie Hiperskala z nadmiarowością stref są dostępne obecnie w wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz wpis w blogu: elastyczne pule hiperskala z nadmiarowością strefy.
- Do elastycznych pul w warstwie Hiperskala można dodawać tylko bazy danych z nadmiarowością magazynu strefowo nadmiarowego (ZRS lub GZRS).
- Autonomiczna baza danych w warstwie Hiperskala musi zostać utworzona z nadmiarowością strefy i strefowo nadmiarowym magazynem kopii zapasowych (ZRS lub GZRS), aby dodać ją do elastycznej puli strefowo nadmiarowej w warstwie Hiperskala. W przypadku baz danych w warstwie Hiperskala bez nadmiarowości strefy wykonaj transfer danych do nowej bazy danych w warstwie Hiperskala z włączoną opcją nadmiarowości strefy. Klon musi zostać utworzony przy użyciu funkcji kopiowania bazy danych, przywracania do punktu w czasie lub repliki geograficznej. Aby uzyskać więcej informacji, zobacz Ponowne wdrażanie (Hiperskala).
- Aby przenieść bazę danych w warstwie Hiperskala z jednej elastycznej puli do innej, ustawienia magazynu kopii zapasowych strefowo nadmiarowe i strefowo nadmiarowe muszą być zgodne.
- Aby przeprowadzić migrację bazy danych z innej warstwy usługi innej niż Hiperskala do elastycznej puli hiperskala z nadmiarowością strefy:
- W witrynie Azure Portal najpierw włącz nadmiarowość strefy i strefowo nadmiarowy magazyn kopii zapasowych (ZRS). Następnie możesz dodać bazę danych do strefowo nadmiarowej elastycznej puli hiperskala.
- Za pomocą programu PowerShell najpierw włącz nadmiarowość strefy. Następnie za pomocą polecenia Set-AzSqlDatabase upewnij się, że
-BackupStorageRedundancy
parametr jest używany do określania strefowo nadmiarowego magazynu kopii zapasowych (ZRS lub GZRS).
Znane problemy
Problem | Zalecenie |
---|---|
W rzadkich przypadkach może wystąpić błąd 45122 - This Hyperscale database cannot be added into an elastic pool at this time. In case of any questions, please contact Microsoft support , podczas próby przeniesienia/przywrócenia/skopiowania bazy danych w warstwie Hiperskala do puli elastycznej. |
To ograniczenie jest spowodowane szczegółami specyficznymi dla implementacji. Jeśli ten błąd blokuje Cię, zgłoś zdarzenie pomocy technicznej i poproś o pomoc. |
Powiązana zawartość
- Praca z elastycznymi pulami hiperskala przy użyciu narzędzi wiersza polecenia
- Ceny puli elastycznej
- Skalowanie zasobów elastycznej puli w usłudze Azure SQL Database
- Monitorowanie i skalowanie elastycznej puli w usłudze Azure SQL Database za pomocą programu PowerShell
- Wielodostępne wzorce dzierżawy bazy danych SaaS
- Wprowadzenie do wielodostępnej aplikacji SaaS korzystającej ze wzorca bazy danych na dzierżawę z usługą Azure SQL Database
- Zarządzanie zasobami w ramach gęstych pul elastycznych
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla