Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a dokumentum javaslatokat tartalmaz a dedikált SQL-készlet (korábbi nevén SQL DW) adattárházegységeinek (DW-k) ideális számának kiválasztására az ár és a teljesítmény optimalizálásához, valamint az egységek számának módosításához.
Mik azok az adattárházegységek?
A dedikált SQL-készlet (korábbi nevén SQL DW) a kiépített elemzési erőforrások gyűjteményét jelenti. Az elemzési erőforrások a PROCESSZOR, a memória és az IO kombinációjaként vannak definiálva.
Ez a három erőforrás adatraktáregységek (DWU- k) nevű számítási skálázási egységekbe van csomagolva. A DWU a számítási erőforrások és a teljesítmény absztrakt, normalizált mértéke.
A szolgáltatási szint módosítása megváltoztatja a rendszer számára elérhető DWU-k számát, ami viszont módosítja a rendszer teljesítményét és költségeit.
A nagyobb teljesítmény érdekében növelheti az adattárházegységek számát. A kisebb teljesítmény érdekében csökkentse az adattárházegységeket. A tárolási és számítási költségek külön kerülnek számlázásra, így az adattárházegységek módosítása nem befolyásolja a tárolási költségeket.
Az adattárházegységek teljesítménye az adattárház számítási feladatainak metrikáin alapul:
- Egy szabványos dedikált SQL-készlet (korábbi nevén SQL DW) lekérdezése milyen gyorsan képes nagy számú sort beolvasni, majd összetett összesítést végezni. Ez a művelet I/O- és CPU-igényes.
- Milyen gyorsan képes a dedikált SQL-készlet (korábban SQL DW) adatokat beolvasni az Azure Storage-blobokból vagy az Azure Data Lake-ből. Ez a művelet hálózati és processzorigényes.
- Milyen gyorsan másolhat a
CREATE TABLE AS SELECT
T-SQL-parancs egy táblát. Ez a művelet magában foglalja az adatok beolvasását a tárolóból, azokat a berendezés csomópontjai között osztja el, és újra a tárolóba ír. Ez a művelet processzor-, I/O- és hálózatigényes.
DWU-k növelése:
- Lineárisan módosítja a rendszer teljesítményét a vizsgálatok, az összesítések és a CTAS-utasítások esetében
- Növeli a PolyBase-terhelési műveletek olvasóinak és íróinak számát
- Az egyidejű lekérdezések és egyidejűségi pontok maximális számának növelése
Szolgáltatási szint célkitűzése
A szolgáltatásiszint-célkitűzés (SLO) a dedikált SQL-készlet (korábbi nevén SQL DW) költség- és teljesítményszintjét meghatározó méretezhetőségi beállítás. A Gen2 dedikált SQL-készlet (korábbi nevén SQL DW) szolgáltatási szintjei adatraktár-egységekben (DWU) vannak mérve, például DW2000c.
Megjegyzés
A dedikált SQL-készlet (korábbi nevén SQL DW) Gen2 nemrég további méretezési képességeket adott hozzá a számítási szintek támogatásához, akár a DW100c-hez. A gen1-en jelenleg az alacsonyabb számítási szinteket igénylő meglévő adattárházak mostantól a Gen2-re frissíthetnek azokban a régiókban, amelyek jelenleg további költségek nélkül érhetők el. Ha a régiója még nem támogatott, továbbra is frissíthet egy támogatott régióra. További információ: Frissítés Gen2-re.
A T-SQL-ben a SERVICE_OBJECTIVE beállítás határozza meg a dedikált SQL-készlet (korábbi nevén SQL DW) szolgáltatási szintjét és teljesítményszintjét.
CREATE DATABASE mySQLDW
(Edition = 'Datawarehouse'
,SERVICE_OBJECTIVE = 'DW1000c'
)
;
Teljesítményszintek és adattárházegységek
Minden teljesítményszint egy kissé eltérő mértékegységet használ az adattárházegységekhez. Ez a különbség a számlán is tükröződik, mivel a skálázási egység közvetlenül a számlázásra fordítódik.
- Az 1. generációs adattárházakat adatraktár-egységekben (DWU-k) mérik.
- A Gen2-adattárházak számítási adattárházegységekben (cDWU-kban) vannak mérve.
A DWU-k és a cDWU-k egyaránt támogatják a számítási feladatok vertikális fel- vagy leskálázását, és szüneteltetik a számítást, ha nincs szükség az adattárház használatára. Ezek a műveletek mind igény szerintiek. A Gen2 helyi lemezalapú gyorsítótárat használ a számítási csomópontokon a teljesítmény javítása érdekében. Ha skálázza vagy szünetelteti a rendszert, a gyorsítótár érvénytelen lesz, ezért az optimális teljesítmény elérése előtt szükség van egy gyorsítótár-melegítési időszakra.
Kapacitáskorlátok
Minden SQL-kiszolgáló (például myserver.database.windows.net) rendelkezik egy adatbázis-tranzakciós egység (DTU) kvótával, amely meghatározott számú adattárházegységet tesz lehetővé. További információkért tekintse meg a számítási feladatok kezelési kapacitásának korlátait.
Hány adattárházegységre van szükségem
Az adattárházegységek ideális száma nagyban függ a számítási feladattól és a rendszerbe betöltött adatok mennyiségétől.
A legjobb DWU megkeresésének lépései a számítási feladathoz:
Először válasszon egy kisebb DWU-t.
Az alkalmazás teljesítményének monitorozása a rendszerbe történő adatbetöltések tesztelése során, a megfigyelt teljesítményhez képest kiválasztott DWU-k számának megfigyelése. Ellenőrzés az erőforrás-kihasználtság monitorozásával.
Azonosítsa a csúcstevékenység időszakos időszakainak további követelményeit. Előfordulhat, hogy a tevékenység jelentős csúcsait és hullámzásait mutató munkaterheléseket gyakran kell skálázni.
A dedikált SQL-készlet (korábbi nevén SQL DW) egy szélesíthető rendszer, amely képes nagy mennyiségű számítási kapacitást és adatot lekérdezni.
A valódi skálázási képességeit, különösen a nagyobb DWU-kra tekintettel, úgy javasoljuk, hogy méretezéskor igazítsa az adatkészlet méretét, hogy elegendő adat álljon a processzorok rendelkezésére. A méretezési teszteléshez legalább 1 TB használatát javasoljuk.
Megjegyzés
A lekérdezési teljesítmény csak abban az esetben nő a párhuzamosítás növelésével, ha a munka felosztható a számítási csomópontok között. Ha úgy találja, hogy a skálázás nem változtatja meg a teljesítményt, előfordulhat, hogy hangolnia kell a táblatervet és/vagy a lekérdezéseket. A lekérdezés finomhangolási útmutatóját a felhasználói lekérdezések kezelése című témakörben talál.
Engedélyek
Az adattárházegységek módosításához az ALTER DATABASE-ben leírt engedélyek szükségesek.
Az Azure beépített szerepkörei, például az SQL DB-közreműködő és az SQL Server-közreműködő módosíthatják a DWU beállításait.
A DWU aktuális beállításainak megtekintése
Az aktuális DWU-beállítás megtekintése:
- Nyissa meg az SQL Server Object Explorert a Visual Studióban.
- Csatlakozzon a logikai SQL-kiszolgálóhoz társított fő adatbázishoz.
- Válasszon a sys.database_service_objectives dinamikus felügyeleti nézetből. Íme egy példa:
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
;
Adattárházegységek módosítása
Azure portál
DWU-k módosítása:
Nyissa meg az Azure Portalt, nyissa meg az adatbázist, és kattintson a Méretezés gombra.
A Méretezés csoportban mozgassa a csúszkát balra vagy jobbra a DWU beállítás módosításához.
Kattintson a Mentés lehetőségre. Megjelenik egy megerősítést kérő üzenet. Kattintson igen-re a megerősítéshez vagy nem-re a visszavonáshoz.
PowerShell
Megjegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
A DWU-k módosításához használja a Set-AzSqlDatabase PowerShell-parancsmagot. Az alábbi példa a szolgáltatásszint-célkitűzést DW1000 értékre állítja a MyServer kiszolgálón üzemeltetett MySQLDW adatbázishoz.
Set-AzSqlDatabase -DatabaseName "MySQLDW" -ServerName "MyServer" -RequestedServiceObjectiveName "DW1000c"
További információ: PowerShell-parancsmagok dedikált SQL-készlethez (korábban SQL DW)
T-SQL
A T-SQL segítségével megtekintheti az aktuális DWUsettings-beállításokat, módosíthatja a beállításokat, és ellenőrizheti az előrehaladást.
A DWU-k módosítása:
- Csatlakozzon a kiszolgálóhoz társított főadatbázishoz.
- Használja az ALTER DATABASE TSQL utasítást. Az alábbi példa a mySQLDW adatbázishoz DW1000c értékre állítja a szolgáltatásszint-célkitűzést.
ALTER DATABASE MySQLDW
MODIFY (SERVICE_OBJECTIVE = 'DW1000c')
;
REST API-k
A DWU-k módosításához használja a Create or Update Database REST API-t. Az alábbi példa a szolgáltatásszint-célkitűzést a MyServer kiszolgálón üzemeltetett adatbázis MySQLDW
DW1000c értékére állítja. A kiszolgáló egy ResourceGroup1 nevű Azure-erőforráscsoportban található.
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"
}
}
További REST API-példákért tekintse meg a dedikált SQL-készlet (korábbi nevén SQL DW) REST API-jait.
DWU-módosítások állapotának ellenőrzése
A DWU-módosítások végrehajtása több percet is igénybe vehet. Ha automatikusan skáláz, fontolja meg a logika implementálását, hogy bizonyos műveletek befejeződjenek egy másik művelet végrehajtása előtt.
Az adatbázis állapotának különböző végpontokon keresztüli ellenőrzése lehetővé teszi az automatizálás megfelelő implementálását. A portál értesítést küld egy művelet befejezésekor, és az adatbázisok aktuális állapotát, de nem teszi lehetővé az állapot programozott ellenőrzését.
Az Azure Portalon nem ellenőrizheti az adatbázis állapotát a vertikális felskálázási műveletekhez.
A DWU-módosítások állapotának ellenőrzése:
Csatlakozzon a kiszolgálóhoz társított főadatbázishoz.
Küldje el a következő lekérdezést az adatbázis állapotának ellenőrzéséhez.
SELECT * FROM sys.dm_operation_status WHERE resource_type_desc = 'Database' AND major_resource_id = 'MySQLDW' ;
Ez a DMV különböző felügyeleti műveletekről ad vissza információkat a dedikált SQL-készletedhez (korábbi nevén SQL DW), például a műveletekről és azok állapotáról, amely lehet folyamatban (IN_PROGRESS) vagy befejezve (BEFEJEZVE).
A skálázási munkafolyamat
Skálázási művelet indításakor a rendszer először minden nyitott munkamenetet megöl, és visszaállítja a nyitott tranzakciókat a konzisztens állapot biztosítása érdekében. Skálázási műveletek esetén a skálázás csak a tranzakciós visszaállítás befejezése után történik.
- Skálázási művelet esetén a rendszer leválasztja az összes számítási csomópontot, kiépíti a további számítási csomópontokat, majd újra csatlakozik a tárolási réteghez.
- Vertikális leskálázási művelet esetén a rendszer leválasztja az összes számítási csomópontot, majd csak a szükséges csomópontokat helyezi át a tárolási rétegre.
Következő lépések
A teljesítmény kezelésével kapcsolatos további információkért tekintse meg a számítási feladatok kezelésének erőforrásosztályait , valamint a memória- és egyidejűségi korlátokat.