Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento dokument obsahuje doporučení k výběru ideálního počtu jednotek datového skladu (DWU) pro vyhrazený fond SQL (dříve SQL DW) pro optimalizaci ceny a výkonu a o tom, jak změnit počet jednotek.
Co jsou jednotky datového skladu
Vyhrazený fond SQL (dříve SQL DW) je kolekcí analytických prostředků, které jsou poskytovány. Analytické prostředky jsou definovány jako kombinace procesoru, paměti a vstupně-výstupních operací.
Tyto tři prostředky jsou spojeny do jednotek výpočetního škálování označovaného jako jednotky datového skladu (DWU). DWU představuje abstraktní normalizovanou míru výpočetních prostředků a výkonu.
Změna úrovně služeb změní počet jednotek DWU, které jsou k dispozici systému, což zase upraví výkon a náklady na váš systém.
Pokud chcete dosáhnout vyššího výkonu, můžete zvýšit počet jednotek datového skladu. Pokud chcete dosáhnout nižšího výkonu, snižte počet jednotek datového skladu. Náklady na úložiště a výpočetní prostředky se účtují samostatně, takže změna jednotek datového skladu nemá vliv na náklady na úložiště.
Výkon jednotek datového skladu je založený na těchto metrikách úloh datového skladu:
- Jak rychle může dotaz ve standardním vyhrazeném fondu SQL (dříve SQL DW) prohledat velký počet řádků a poté provést složitou agregaci. Tato operace je náročná na vstupně-výstupní operace a procesor.
- Jak rychle dokáže vyhrazený fond SQL (dříve SQL DW) přijímat data z blob objektů služby Azure Storage nebo Azure Data Lake. Tato operace je náročná na síť a procesor.
- Jak rychle může příkaz T-SQL
CREATE TABLE AS SELECTzkopírovat tabulku. Tato operace zahrnuje čtení dat z úložiště, jejich distribuci mezi uzly zařízení a opětovné zápis do úložiště. Tato operace je náročná na procesor, vstupně-výstupní operace a síť.
Zvýšení jednotek DWU:
- Lineárně mění výkon systému při skenování, agregacích a výkazech CTAS.
- Zvyšuje počet čtenářů a zapisovatelů pro načítací operace PolyBase.
- Zvýší maximální počet souběžných dotazů a souběžných slotů.
Cíl úrovně služby
Cíl úrovně služby (SLO) je nastavení škálovatelnosti, které určuje úroveň nákladů a výkonu vyhrazeného fondu SQL (dříve SQL DW). Úrovně služeb pro vyhrazený fond SQL Gen2 (dříve SQL DW) se měří v jednotkách datového skladu (DWU), například DW2000c.
Poznámka:
Vyhrazený fond SQL (dříve SQL DW) Gen2 nedávno přidal další možnosti škálování, které podporují výpočetní úrovně od DW100c. Stávající datové sklady aktuálně na Gen1, které vyžadují nižší úrovně výpočetních prostředků, se teď můžou upgradovat na Gen2 v oblastech, které jsou aktuálně dostupné bez dalších nákladů. Pokud vaše oblast ještě není podporovaná, můžete upgradovat na podporovanou oblast. Další informace najdete v tématu Upgrade na Gen2.
V T-SQL určuje nastavení SERVICE_OBJECTIVE úroveň služby a úroveň výkonu pro vyhrazený fond SQL (dříve SQL DW).
CREATE DATABASE mySQLDW
(Edition = 'Datawarehouse'
,SERVICE_OBJECTIVE = 'DW1000c'
)
;
Úrovně výkonu a jednotky datového skladu
Každá úroveň výkonu používá pro jednotky datového skladu mírně odlišnou měrnou jednotku. Tento rozdíl se projeví na faktuře, protože jednotka škálování se přímo překládá na fakturaci.
- Datové sklady Gen1 se měří v jednotkách datového skladu (DWU).
- Datové sklady Gen2 se měří ve výpočetních jednotkách datového skladu (cDWU).
Jednotky DWU i cDWU podporují vertikální navýšení nebo snížení kapacity výpočetních prostředků a pozastavení výpočetních prostředků v případě, že nepotřebujete datový sklad používat. Všechny tyto operace jsou na vyžádání. Gen2 využívá mezipaměť založenou na místním disku na výpočetních uzlech ke zlepšení výkonu. Když systém škálujete nebo pozastavíte, mezipaměť se zneplatní, takže před dosažením optimálního výkonu se vyžaduje období zahřívání mezipaměti.
Limity kapacity
Každý SQL server (například myserver.database.windows.net) má kvótu jednotky databázové transakce (DTU), která umožňuje určitý počet jednotek datového skladu. Další informace najdete v kapacitní omezení správy úloh.
Kolik jednotek datového skladu potřebuji
Ideální počet jednotek datového skladu závisí velmi na vaší úloze a množství dat, která jste načetli do systému.
Postup pro nalezení nejvhodnější jednotky DWU pro vaši úlohu:
Začněte tím, že vyberete menší DWU.
Sledujte výkon aplikace při testování načítání dat do systému a sledujte počet jednotek DWU vybraných v porovnání s výkonem, který sledujete. Proveďte kontrolu pomocí monitorování využití prostředků.
Identifikujte všechny další požadavky pro periodická období aktivity ve špičce. Pracovní zatížení, která vykazují význačné špičky a propady v aktivitě, mohou potřebovat časté škálování.
Vyhrazený fond SQL (dříve SQL DW) je škálovatelný systém, který může zřizovat obrovské množství výpočetního výkonu a zpracovávat velké množství dat.
Pokud chcete vidět jeho skutečné možnosti škálování, zejména u větších JEDNOTek DWU, doporučujeme škálovat sadu dat při škálování, abyste zajistili, že máte dostatek dat pro podávání procesorů. Pro testování škálování doporučujeme použít alespoň 1 TB.
Poznámka:
Výkon dotazů se zvyšuje pouze s větší paralelizací, pokud je možné rozdělit práci mezi výpočetní uzly. Pokud zjistíte, že škálování nemění výkon, možná budete muset vyladit návrh tabulky nebo dotazy. Pokyny k ladění dotazů najdete v tématu Správa uživatelských dotazů.
Dovolení
Změna jednotek datového skladu vyžaduje oprávnění popsaná v ALTER DATABASE.
Předdefinované role Azure, jako je přispěvatel databáze SQL a Přispěvatel SQL Serveru, můžou měnit nastavení DWU.
Zobrazení aktuálního nastavení DWU
Zobrazení aktuálního nastavení DWU:
- Otevřete Průzkumník objektů SQL Serveru v sadě Visual Studio.
- Připojte se k hlavní databázi přidružené k logickému SERVERU SQL.
- Vyberte z dynamického pohledu správy sys.database_service_objectives. Tady je příklad:
SELECT db.name [Database]
, ds.edition [Edition]
, ds.service_objective [Service Objective]
FROM sys.database_service_objectives AS ds
JOIN sys.databases AS db ON ds.database_id = db.database_id
;
Změna jednotek datového skladu
Azure Portal
Pro změnu jednotek DWU:
Otevřete portál Azure, otevřete databázi a klikněte na Škálování.
V části Měřítkopřesuňte posuvník doleva nebo doprava k úpravě nastavení DWU.
Klikněte na Uložit. Zobrazí se potvrzovací zpráva. Kliknutím na ano potvrdíte, nebo ne zrušíte.
PowerShell
Poznámka:
K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Pro změnu jednotek DWU použijte cmdlet PowerShell Set-AzSqlDatabase. Následující příklad nastaví cíl na úrovni služby DW1000 pro databázi MySQLDW hostovanou na serveru MyServer.
Set-AzSqlDatabase -DatabaseName "MySQLDW" -ServerName "MyServer" -RequestedServiceObjectiveName "DW1000c"
Další informace najdete v tématu rutin PowerShellu pro vyhrazený fond SQL (dříve SQL DW)
T-SQL
Pomocí T-SQL můžete zobrazit aktuální nastavení DWUsettings, změnit nastavení a zkontrolovat průběh.
Změna jednotek DWU:
- Připojte se k hlavní databázi přidružené k vašemu serveru.
- Použijte příkaz ALTER DATABASE TSQL. Následující příklad nastaví cíl na úrovni služby dw1000c pro databázi MySQLDW.
ALTER DATABASE MySQLDW
MODIFY (SERVICE_OBJECTIVE = 'DW1000c')
;
API rozhraní REST
Pokud chcete změnit jednotky DWU, použijte rozhraní Create or Update Database REST API. Následující příklad nastaví cíl na úrovni služby DW1000c pro databázi MySQLDW, která je hostovaná na serveru MyServer. Server je ve skupině prostředků Azure s názvem ResourceGroup1.
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}/databases/{database-name}?api-version=2014-04-01-preview HTTP/1.1
Content-Type: application/json; charset=UTF-8
{
"properties": {
"requestedServiceObjectiveName": "DW1000c"
}
}
Další příklady REST API naleznete v části REST API pro vyhrazený fond SQL (dříve SQL DW).
Kontrola stavu změn DWU
Dokončení změn DWU může trvat několik minut. Pokud provádíte automatické škálování, zvažte implementaci logiky, abyste před pokračováním v jiné akci zajistili dokončení určitých operací.
Kontrola stavu databáze prostřednictvím různých koncových bodů umožňuje správně implementovat automatizaci. Portál poskytuje oznámení po dokončení operace a aktuálního stavu databází, ale neumožňuje programovou kontrolu stavu.
Na webu Azure Portal nemůžete zkontrolovat stav databáze pro operace horizontálního navýšení kapacity.
Pro kontrolu stavu změn DWU:
Připojte se k hlavní databázi přidružené k vašemu serveru.
Odešlete následující dotaz a zkontrolujte stav databáze.
SELECT * FROM sys.dm_operation_status WHERE resource_type_desc = 'Database' AND major_resource_id = 'MySQLDW' ;
Toto dynamické zobrazení správy poskytuje informace o různých managementových operacích ve vyhrazeném fondu SQL (dříve známém jako SQL DW), včetně typu operace a stavu operace, což může být buď probíhá, nebo dokončeno.
Pracovní postup škálování
Když spustíte operaci škálování, systém nejprve ukonče všechny otevřené relace a vrátí zpět všechny otevřené transakce, aby byl zajištěn konzistentní stav. U operací škálování dochází ke škálování pouze po dokončení tohoto transakčního návratu zpět k předchozímu stavu.
- V případě operace vertikálního navýšení kapacity systém odpojí všechny výpočetní uzly, zřídí další výpočetní uzly a pak se znovu připojí k vrstvě úložiště.
- V případě operace vertikálního snížení kapacity systém odpojí všechny výpočetní uzly a pak znovu připojí pouze potřebné uzly k vrstvě úložiště.
Další kroky
Další informace o správě výkonu najdete v tématu Třídy prostředků pro správu úloh a Omezení paměti a souběžnosti.