Megosztás a következőn keresztül:


Adattárházegységek (DWU-k) dedikált SQL-készlethez (korábban SQL DW) az Azure Synapse Analyticsben

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 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ár és a számítási feladatok költségeinek számlázása külön történik, ezért az adattárházegységek számának 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

Service Level Objective

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.

Feljegyzé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 Standard kiadás RVICE_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ási korlá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 adott 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:

  1. Először válasszon egy kisebb DWU-t.

  2. 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.

  3. 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 vályúit mutató számítási feladatokat gyakran kell skálázni.

A dedikált SQL-készlet (korábbi nevén SQL DW) egy horizontális felskálázási rendszer, amely nagy mennyiségű számítási és lekérdezési méretet képes kiépíteni.

A skálázás valódi képességeinek , különösen a nagyobb DWU-k esetében, javasoljuk, hogy skálázáskor skálázza az adatkészletet, hogy elegendő adat álljon rendelkezésre a processzorok táplálásához. A méretezési teszteléshez legalább 1 TB használatát javasoljuk.

Feljegyzés

A lekérdezési teljesítmény csak akkor nő párhuzamosabbá, 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 DATABA Standard kiadás című cikkben 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:

  1. Nyissa meg az SQL Server Object Explorert a Visual Studióban.
  2. Csatlakozás a logikai SQL-kiszolgálóhoz társított főadatbázishoz.
  3. Válasszon a sys.database_service_objectives dinamikus felügyeleti nézetből. 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 Portal

DWU-k módosítása:

  1. Nyissa meg az Azure Portalt, nyissa meg az adatbázist, és kattintson a Méretezés gombra.

  2. A Méretezés csoportban mozgassa a csúszkát balra vagy jobbra a DWU beállítás módosításához.

  3. Kattintson a Mentés gombra. Ekkor megjelenik egy megerősítő üzenet. Kattintson az igen gombra a megerősítéshez vagy a nem gombra az elvetéshez.

PowerShell

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető 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:

  1. Csatlakozás a kiszolgálóhoz társított főadatbázishoz.
  2. Használja az ALTER DATABA Standard kiadás 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 MySQLDWDW1000c é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:

  1. Csatlakozás a kiszolgálóhoz társított főadatbázishoz.

  2. 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 adatokat ad vissza a dedikált SQL-készlet (korábbi nevén SQL DW) különböző felügyeleti műveleteiről, például a műveletről és a művelet állapotáról, amely IN_PROGRESS vagy 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.

  • Vertikális felská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 újrafogalmazza a tárolási réteget.
  • 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.