Wskazówki dotyczące dostrajania wydajności dla bezserwerowej puli SQL usługi Azure Synapse Analytics
Dotyczy: Azure Synapse Analytics
Ten artykuł pomaga zwiększyć wydajność bezserwerowej puli SQL usługi Azure Synapse Analytics.
Uwaga 16.
Przejrzyj listę znanych problemów, które są obecnie aktywne lub ostatnio rozwiązane w usłudze Azure Synapse Analytics.
Zapoznaj się z kilkoma kolejnymi sekcjami, aby uzyskać informacje na temat uzyskiwania optymalnej wydajności i zapobiegania awariom związanym z ograniczeniami zasobów w bezserwerowych pulach SQL usługi Azure Synapse Analytics.
Najlepsze rozwiązania i przewodniki rozwiązywania problemów
Informacje i strategie przedstawione w poniższych artykułach mogą pomóc uzyskać najlepszą wydajność z bezserwerowej puli SQL. Zalecamy używanie tych artykułów do przeglądania przypadków użycia i rozwiązywania typowych problemów.
- Najlepsze rozwiązania dotyczące bezserwerowych pul SQL w usłudze Azure Synapse Analytics
- Rozwiązywanie problemów z bezserwerową pulą SQL w usłudze Azure Synapse Analytics
Omówienie skalowania w bezserwerowej puli SQL
Bezserwerowe pule SQL nie wymagają ręcznego wybierania odpowiedniego rozmiaru. System automatycznie dostosowuje rozmiar na podstawie wymagań dotyczących zapytań, a tym samym zarządza infrastrukturą i wybiera odpowiedni rozmiar rozwiązania.
Wskazówki dotyczące dostrajania wydajności dla plików usługi Delta Lake
Aby uzyskać więcej informacji na temat dostrajania wydajności plików usługi Delta Lake, zobacz następujące zasoby:
- Strona dokumentacji usługi Delta Lake.
- Co to jest usługa Delta Lake
- Wykonywanie zapytań względem plików usługi Delta Lake przy użyciu bezserwerowej puli SQL w usłudze Azure Synapse Analytics
Wskazówki dotyczące dostrajania wydajności dla plików CSV
Podczas wykonywania zapytań dotyczących plików CSV w bezserwerowej puli SQL najważniejsze zadanie, aby zapewnić wysoką wydajność, jest utworzenie statystyk dotyczących tabel zewnętrznych. Chociaż statystyki są tworzone automatycznie w plikach Parquet i CSV i uzyskiwane przy użyciu metody , odczytywanie plików CSV przy OPENQUERY()
użyciu tabel zewnętrznych wymaga ręcznego utworzenia statystyk.
Aby uzyskać bardziej szczegółowe informacje na temat roli statystyk podczas wykonywania zapytań dotyczących plików CSV w bezserwerowych pulach SQL, zobacz następujące artykuły:
- Wykonywanie zapytań dotyczących plików CSV
- Statystyki w bezserwerowej puli SQL
- Ręczne tworzenie statystyk dla plików CSV
- Upłynął limit czasu zapytania
Zalecenia dotyczące korzystania z usługi Power BI i innych narzędzi do raportowania
W przypadku korzystania z usługi Power BI i innych narzędzi do raportowania zalecamy następujące najlepsze rozwiązania:
- Zawsze sprawdzaj lokalizację dzierżawy.
- Skonfiguruj pamięć podręczną, aby zapewnić lepsze środowisko użytkownika.
- Unikaj zwracania milionów rekordów do pulpitu nawigacyjnego.
- Użyj zaplanowanych odświeżeń, aby uniknąć równoległych wykonań zapytań, które opróżniają zasoby puli bezserwerowej SQL.
- Użyj platformy Spark do wstępnego agregowania typowych zapytań analitycznych. Takie podejście "zapis jednokrotny/odczyt wielu" może uniknąć dużych zapytań, które są uruchamiane w sposób ciągły.
- W przypadku sprzężeń między różnymi magazynami danych: użyj filtrów, aby uniknąć woluminów danych big data, które zostały przeniesione przez infrastrukturę platformy Azure.
- Użyj
Latin1_General_100_BIN2_UTF8
sortowania dla typów danych znaków. To sortowanie pozwala uniknąć przesyłania wszystkich danych z magazynu do bezserwerowej puli SQL, wypychając filtry, gdy narzędzia odczytują z magazynu. - Użyj najbardziej optymalnego rozmiaru, jeśli rzutujesz lub konwertujesz dane na
char
lubvarchar
podczas uruchamiania zapytania. Jeśli to możliwe, unikaj korzystania z typuVARCHAR(MAX)
. - Automatyczne wnioskowanie konwertuje typy danych na format, który może nie być optymalny. Optymalizuj typy danych za pomocą klauzuli
WITH
. - Zasoby puli bezserwerowej usługi Azure Synapse SQL mają limity. Jednoczesne uruchamianie zapytań spowoduje zużycie zasobów. Pulpity nawigacyjne usługi Power BI (PBI) często docierają do limitów zasobów, gdy wiele odświeżeń odbywa się równolegle. Zaplanowane odświeżanie i testowanie obciążenia mogą pomóc uniknąć tego problemu. Ponadto korzystanie z wielu obszarów roboczych usługi Azure Synapse może spełniać większe wymagania dotyczące współbieżności.
- Możesz uruchomić zapytanie
sys.columns
lub użyćsp_describe_first_result_set
polecenia iselect top 0 from <view>
sprawdzić typy danych po utworzeniu widoku. Takie podejście jest szybsze i mniej kosztowne niż użycie metodySELECT * FROM...
. - Za pomocą generatora instrukcji automatycznie utwórz optymalne formaty kolumn dla zapytania.
OPENJSON
Użyj funkcji , aby uwidocznić zagnieżdżone dane JSON jako kolumny. Jeśli jednak używaszAS JSON
również polecenia , typ kolumny musi mieć wartośćNVARCHAR(MAX)
. Takie podejście nie jest idealne do wydajności. Najlepszą opcją jest użycie klauzuliWITH
w celu uwidocznienia zagnieżdżonych tablic jako kolumn.- Klucz partycji magazynu transakcyjnego usługi Cosmos DB nie jest używany w magazynie analitycznym. W usłudze Azure Synapse Link możesz teraz modelować dane transakcyjne, aby optymalizować pozyskiwanie danych i odczyty punktowe.
Dodatkowe wskazówki i najlepsze rozwiązania
Kategoria | Zalecane działania i dokumentacja |
---|---|
Eksploracja danych | Magazyn platformy Azure Przechowywanie wyników zapytań w usłudze Azure Storage Logiczny magazyn danych |
Funkcja OPENROWSET i tabele zewnętrzne | Funkcja OPENROWSET Tabele zewnętrzne Procedury składowane Widoki Przekształcenia danych |
Funkcje języka T-SQL dostępne w bezserwerowych pulach SQL | Funkcje języka T-SQL w pulach usługi Azure Synapse |
Zastrzeżenie dotyczące innych firm
Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.