Sposoby określania rozmiaru, skalowania i kolejkowania w magazynie SQL
W tym artykule wyjaśniono zachowanie określania rozmiaru, kolejkowania i automatycznego skalowania klastra w magazynach SQL.
Ustalanie rozmiaru bezserwerowego magazynu SQL Warehouse
Zawsze zacznij od większego rozmiaru koszulki dla bezserwerowego magazynu SQL Warehouse, niż uważasz, że będziesz potrzebować i rozmiaru w dół podczas testowania. Nie zaczynaj od małego rozmiaru koszulki dla bezserwerowego magazynu SQL Warehouse i przejdź w górę. Ogólnie rzecz biorąc, zacznij od pojedynczego bezserwerowego magazynu SQL Warehouse i polegaj na usłudze Azure Databricks w celu odpowiedniego rozmiaru klastrów bezserwerowych, określania priorytetów obciążeń i szybkiego odczytu danych. Zobacz Skalowanie automatyczne bezserwerowe i kolejkowanie zapytań.
- Aby zmniejszyć opóźnienie zapytań dla danego bezserwerowego magazynu SQL Warehouse:
- Jeśli zapytania rozlewają się na dysk, zwiększ rozmiar koszulki.
- Jeśli zapytania są wysoce równoległe, zwiększ rozmiar koszulki.
- Jeśli jednocześnie uruchamiasz wiele zapytań, dodaj więcej klastrów na potrzeby skalowania automatycznego.
- Aby zmniejszyć koszty, spróbuj zmniejszyć rozmiar koszulki bez rozlania na dysk lub znacznego zwiększenia opóźnienia.
- Aby pomóc w odpowiednim rozmiarze bezserwerowego magazynu SQL Warehouse, użyj następujących narzędzi:
- Strona monitorowania: przyjrzyj się liczbie zapytań szczytowych. Jeśli szczytowa kolejka jest często wyższa niż jedna, dodaj klastry. Maksymalna liczba zapytań w kolejce dla wszystkich typów usługi SQL Warehouse wynosi 1000. Zobacz Monitorowanie usługi SQL Warehouse.
- Historia zapytań. Zobacz Historia zapytań.
- Profile zapytań (poszukaj bajtów rozlanych na dysk powyżej 1). Zobacz Profil zapytania.
Uwaga
W przypadku bezserwerowych magazynów SQL rozmiary klastrów mogą w niektórych przypadkach używać różnych typów wystąpień niż wymienione w dokumentacji dla magazynów pro i klasycznych magazynów SQL dla równoważnego rozmiaru klastra. Ogólnie rzecz biorąc, stosunek cen/wydajności rozmiarów klastrów dla bezserwerowych magazynów SQL jest podobny do tych w przypadku magazynów pro i klasycznych usług SQL Warehouse.
Skalowanie automatyczne bezserwerowe i kolejkowanie zapytań
Inteligentne zarządzanie obciążeniami (IWM) to zestaw funkcji, które zwiększają możliwości bezserwerowych magazynów SQL do szybkiego i ekonomicznego przetwarzania dużej liczby zapytań. Dynamicznie zarządza obciążeniami przy użyciu modeli uczenia maszynowego w celu przewidywania zapotrzebowania na zasoby zapytań przychodzących podczas monitorowania dostępnej pojemności obliczeniowej magazynu w czasie rzeczywistym. Śledzenie tych i innych sygnałów w magazynie umożliwia usłudze IWM reagowanie na zmiany zapotrzebowania na obciążenia.
To dynamiczne zarządzanie umożliwia usłudze IWM wykonywanie następujących czynności:
- Szybkie skalowanie zasobów obliczeniowych w celu utrzymania małych opóźnień.
- Podaj możliwość udzielania zapytań w szybkościach bliżej ograniczenia sprzętu.
- Szybkie obniżanie skali w celu zminimalizowania kosztów, gdy zapotrzebowanie jest niskie.
Gdy zapytanie dociera do magazynu, program IWM przewiduje jego koszt. Jednocześnie usługa IWM monitoruje dostępną pojemność obliczeniową magazynu w czasie rzeczywistym. Następnie, korzystając z modeli uczenia maszynowego, IWM przewiduje, czy przychodzące zapytanie ma niezbędne zasoby obliczeniowe dostępne dla istniejących zasobów obliczeniowych. Jeśli nie ma potrzebnych zasobów obliczeniowych, zapytanie zostanie dodane do kolejki. Jeśli zasoby obliczeniowe są potrzebne, zapytanie zaczyna działać natychmiast.
Usługa IWM monitoruje kolejkę co około 10 sekund. Jeśli kolejka nie zmniejsza się wystarczająco szybko, skalowanie automatyczne rozpoczyna się, aby szybko uzyskać więcej obliczeń. Po dodaniu nowej pojemności zapytania w kolejce są dopuszczone do nowych zasobów obliczeniowych. W przypadku bezserwerowych magazynów SQL można szybko dodać nowe zasoby obliczeniowe. Maksymalna liczba zapytań w kolejce dla wszystkich typów usługi SQL Warehouse wynosi 1000.
Rozmiary klastrów dla magazynów pro i klasycznych usług SQL Warehouse
Tabela w tej sekcji mapuje rozmiary klastra usługi SQL Warehouse na rozmiar sterownika klastra usługi Azure Databricks i liczbę procesów roboczych. Rozmiar sterownika dotyczy tylko magazynów pro i klasycznych usług SQL Warehouse.
Rozmiar klastra | Typ wystąpienia sterownika (dotyczy tylko magazynów pro i klasycznych) | Liczba procesów roboczych |
---|---|---|
2X-small | Standard_E8ds_v4 | 1 x Standard_E8ds_v4 |
X-Small | Standard_E8ds_v4 | 2 x Standard_E8ds_v4 |
Mały | Standard_E16ds_v4 | 4 x Standard_E8ds_v4 |
Śred. | Standard_E32ds_v4 | 8 x Standard_E8ds_v4 |
Duży | Standard_E32ds_v4 | 16 x Standard_E8ds_v4 |
X-Large | Standard_E64ds_v4 | 32 x Standard_E8ds_v4 |
Duży rozmiar 2X | Standard_E64ds_v4 | 64 x Standard_E8ds_v4 |
Duży rozmiar 3X | Standard_E64ds_v4 | 128 x Standard_E8ds_v4 |
Duży rozmiar 4X | Standard_E64ds_v4 | 256 x Standard_E8ds_v4 |
Rozmiar wystąpienia wszystkich procesów roboczych jest Standard_E8ds_v4.
Każdy sterownik i proces roboczy mają dołączone osiem dysków zarządzanych LRS w warstwie Standardowa 128 GB. Opłaty za dołączone dyski są naliczane godzinowo.
Wymagany limit przydziału procesorów wirtualnych platformy Azure dla magazynów klasycznych i pro SQL
Aby uruchomić klasyczny lub pro sql warehouse, musisz mieć odpowiedni limit przydziału procesorów wirtualnych platformy Azure dla wystąpień Standard_E8ds_v4 na koncie platformy Azure. Skorzystaj z poniższych wskazówek, aby określić wymagany limit przydziału procesorów wirtualnych:
- Jeśli masz tylko jeden lub dwa magazyny SQL, upewnij się, że masz 8 procesorów wirtualnych platformy Azure dostępnych dla każdego rdzenia w klastrze. Gwarantuje to, że masz odpowiedni procesor wirtualny platformy Azure, aby uwzględnić ponowne aprowizowanie magazynu, które odbywa się mniej więcej co 24 godziny. Jeśli magazyny SQL używają automatycznego skalowania lub równoważenia obciążenia w wielu klastrach, może być konieczne zwiększenie mnożnika.
- Wraz ze wzrostem liczby magazynów SQL umożliwia korzystanie z procesorów wirtualnych platformy Azure z zakresu od 4 do 8 dla każdego rdzenia w klastrze. Usługa Databricks zaleca rozpoczęcie od większej liczby i monitorowanie stabilności.
- Procesory wirtualne platformy Azure używane przez magazyny SQL są dodatkiem do procesorów wirtualnych platformy Azure używanych przez klastry używane przez Nauka o danych i inżynierię lub obciążenia inne niż databricks.
Aby zażądać dodatkowego limitu przydziału procesorów wirtualnych platformy Azure, zobacz Standardowy limit przydziału: Zwiększanie limitów według serii maszyn wirtualnych w dokumentacji platformy Azure.
Uwaga
Informacje w tej tabeli mogą się różnić w zależności od dostępności produktu lub regionu i typu obszaru roboczego.
Kolejkowanie i skalowanie automatyczne dla magazynów pro i klasycznych usług SQL Warehouse
Usługa Azure Databricks ogranicza liczbę zapytań w klastrze przypisanym do usługi SQL Warehouse na podstawie kosztów obliczania wyników. Skalowanie klastrów na magazyn jest oparte na przepływności zapytań, szybkości zapytań przychodzących i rozmiarze kolejki. Usługa Azure Databricks zaleca klaster dla każdego 10 współbieżnych zapytań. Maksymalna liczba zapytań w kolejce dla wszystkich typów usługi SQL Warehouse wynosi 1000.
Usługa Azure Databricks dodaje klastry na podstawie czasu przetwarzania wszystkich aktualnie uruchomionych zapytań, wszystkich zapytań w kolejce i przychodzących zapytań oczekiwanych w ciągu najbliższych dwóch minut.
- Jeśli wartość jest mniejsza niż 2 minuty, nie skaluj ich w górę.
- Jeśli 2 do 6 minut dodaj klaster 1.
- Jeśli 6 do 12 minut dodaj 2 klastry.
- Jeśli 12 do 22 minut dodaj 3 klastry.
W przeciwnym razie usługa Azure Databricks dodaje 3 klastry i 1 klaster co dodatkowe 15 minut oczekiwanego ładowania zapytań.
Ponadto magazyn jest zawsze rozbudowany, jeśli zapytanie czeka 5 minut w kolejce.
Jeśli obciążenie jest niskie przez 15 minut, usługa Azure Databricks w dół skaluje magazyn SQL Warehouse. Utrzymuje wystarczającą liczbę klastrów do obsługi szczytowego obciążenia w ciągu ostatnich 15 minut. Jeśli na przykład szczytowe obciążenie miało 25 współbieżnych zapytań, usługa Azure Databricks przechowuje 3 klastry.
Kolejkowanie zapytań dla magazynów pro i klasycznych usług SQL Warehouse
Usługa Azure Databricks kolejkuje zapytania, gdy wszystkie klastry przypisane do magazynu wykonują zapytania w pełnej pojemności lub gdy magazyn jest w STARTING
stanie. Maksymalna liczba zapytań w kolejce dla wszystkich typów usługi SQL Warehouse wynosi 1000.
Zapytania metadanych (na przykład DESCRIBE <table>
) i zapytania modyfikujące stan (na przykład SET
) nigdy nie są kolejkowane, chyba że magazyn jest w STARTING
stanie .