Możliwości wydajności
Zacznijmy od przejrzenia niektórych możliwości wydajności usługi Azure SQL w porównaniu do programu SQL Server.
Ponieważ usługi Azure SQL Database i Azure SQL Managed Instance opierają się na aparacie bazy danych programu SQL Server, większość możliwości dostępnych w programie SQL Server jest również dostępna w usłudze Azure SQL. Istnieje kilka możliwości, które mają wpływ na wydajność baz danych, które należy wziąć pod uwagę podczas wdrażania i konfigurowania usługi Azure SQL. Obejmują one maksymalne pojemności, indeksy, OLTP w pamięci, partycje, ulepszenia programu SQL Server i inteligentne możliwości wydajności.
Pojemność pamięci, procesora CPU i operacji we/wy
Wybór właściwego wdrożenia i warstwy usługi dla usługi Azure SQL Database lub SQL Managed Instance może być istotny pod względem wydajności. W drugim module przedstawiono różne opcje wdrożenia usługi Azure SQL. W ramach wdrożenia należy wziąć pod uwagę te ważne maksymalne pojemności:
- Usługa Azure SQL Database może obsługiwać do 128 rdzeni wirtualnych, 4 TB pamięci i bazę danych o rozmiarze do 4 TB.
- Opcja wdrożenia hiperskalowania obsługuje bazy danych o rozmiarze maksymalnie 100 TB.
- Usługa Azure SQL Managed Instance może obsługiwać do 80 rdzeni wirtualnych, 400 GB pamięci i bazę danych o rozmiarze do 8 TB.
- Liczba rdzeni wirtualnych i warstwa usługi również wpływają na inne pojemności zasobów, takie jak maksymalna szybkość rejestrowania transakcji, liczba operacji we/wy na sekundę, opóźnienie we/wy i pamięć.
- Obiekty zadań systemu Windows są używane do obsługi określonych limitów zasobów, takich jak pamięć. Użyj elementu sys.dm_os_job_object, aby znaleźć rzeczywiste pojemności wdrożenia.
Indeksy
Indeksy często mają kluczowe znaczenie dla wydajności zapytań zarówno programu SQL Server, jak i usługi Azure SQL. Poniżej znajdują się istotne kwestie, które należy wziąć pod uwagę w przypadku indeksów i usługi Azure SQL:
- Wszystkie typy indeksów, klastrowane i nieklastrowane, są obsługiwane w usłudze Azure SQL.
- Indeksy online i z możliwością wznowienia są w pełni obsługiwane. Indeksy online i z możliwością wznowienia mogą mieć kluczowe znaczenie dla maksymalnej dostępności.
- Indeksy magazynu kolumn są dostępne w prawie wszystkich warstwach usług. Zapoznaj się z dokumentacją pod kątem wyjątków.
Przetwarzanie OLTP danych w pamięci
Ważnym czynnikiem charakteryzującym przetwarzanie transakcji online (OLTP) jest aplikacja, która odczytuje i zapisuje dane z wieloma równoczesnymi transakcjami w czasie rzeczywistym. Przetwarzanie OLTP danych w pamięci jest możliwością dla aplikacji zależnych od opóźnienia transakcji, takich jak aplikacje, które obejmują dużą liczbę równoczesnych użytkowników modyfikujących dane. Poniżej przedstawiono ważne kwestie związane z przetwarzaniem OLTP danych w pamięci i usługą Azure SQL:
- Tabele zoptymalizowane pod kątem pamięci są dostępne tylko w warstwach Krytyczne dla działania firmy.
- Grupa FILEGROUP zoptymalizowana pod kątem pamięci jest wstępnie tworzona w usługach Azure SQL Database i SQL Managed Instance podczas tworzenia bazy danych (nawet w warstwach ogólnego przeznaczenia).
- Ilość pamięci dla tabel zoptymalizowanych pod kątem pamięci jest procentem limitu pamięci zależnej od rdzeni wirtualnych.
Partycje
W programie SQL Server często używasz partycji dla tabel z dużą liczbą wierszy, aby zwiększyć wydajność przez dzielenie danych podrzędnych według kolumny w tabeli. Korzystając z partycji w usłudze Azure SQL, należy pamiętać o następujących kwestiach:
- Partycje są obsługiwane przez usługi Azure SQL Database i SQL Managed Instance.
- Grupy plików można używać tylko z partycjami w usłudze SQL Managed Instance.
Najnowsze ulepszenia wydajności programu SQL Server
Wiele funkcji wydajności wprowadzonych od programu SQL Server 2019, takich jak inteligentne przetwarzanie zapytań (IQP), jest również dostępnych w usługach Azure SQL Database i Azure SQL Managed Instance. Istnieją jednak pewne wyjątki. Na przykład tempdb
optymalizacja metadanych nie jest jeszcze dostępna dla usługi Azure SQL. Aby uzyskać ostateczną listę obsługi funkcji IQP, zapoznaj się z tematem Inteligentne funkcje przetwarzania zapytań.
Inteligentna wydajność
Funkcje inteligentnej wydajności w usłudze Azure SQL obejmują inteligentne przetwarzanie zapytań, automatyczną korektę planu i automatyczne dostrajanie (w tym indeksy). Więcej informacji na temat tych funkcji znajdziesz w kolejnej lekcji.