Synapse SQL-erőforrás-használat

Ez a cikk a Synapse SQL erőforrás-használati modelljeit ismerteti.

Kiszolgáló nélküli SQL-készlet

A kiszolgáló nélküli SQL-készlet egy lekérdezési szolgáltatásonkénti fizetés, amely nem igényli a megfelelő méret kiválasztását. A rendszer automatikusan igazodik az Ön igényeihez, így nem kell az infrastruktúrát kezelnie és nem kell kiválasztania a megoldáshoz megfelelő méretet.

Dedikált SQL-készlet – Data Warehouse egységek (DWU-k) és számítási Data Warehouse egységek (cDWU-k)

Javaslatok az adattárházegységek (DWU-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.

Adattárházegységek

A Synapse SQL-készlet az üzembe helyezés alatt álló elemzési erőforrások gyűjteményét jelöli. Az elemzési erőforrások a processzor, a memória és az I/O kombinációjaként vannak definiálva. Ez a három erőforrás a Data Warehouse Units (DWU) 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. Ez a módosítás 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 alábbi metrikáin alapul:

  • A szabványos adattárház-lekérdezések milyen gyorsan képesek 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 az adattárház adatokat betöltésre az Azure Storage-blobokból vagy az Azure Data Lake-ből. Ez a művelet hálózat- é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álatokhoz, aggregációkhoz és CTAS-utasításokhoz
  • A PolyBase-terhelési műveletek olvasóinak és íróinak számának növelése
  • Növeli az egyidejű lekérdezések és egyidejűségi pontok maximális számát.

Service Level Objective

A szolgáltatási szint célkitűzése (SLO) az adattárház költség- és teljesítményszintjét meghatározó méretezhetőségi beállítás. A Gen2 szolgáltatási szintjei számítási adatraktár-egységekben (cDWU) vannak mérve, például DW2000c. Az 1. generációs szolgáltatási szintek dWU-kban vannak mérve, például DW2000.

A szolgáltatási szint célkitűzése (SLO) az adattárház 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 szolgáltatási szintjei az adattárházegységekben (DWU) vannak mérve, például DW2000c.

Megjegyzés

Azure Synapse Analytics Gen2 a közelmúltban további méretezési képességeket adott hozzá a 100 cDWU-s számítási szintek támogatásához. Az 1. generációs meglévő adattárházak, amelyek alacsonyabb számítási szinteket igényelnek, mostantól további költségek nélkül frissíthetnek Gen2-re azokban a régiókban, amelyek jelenleg elérhetők. 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 szolgáltatási szintjét és teljesítményszintét.

CREATE DATABASE mySQLDW
(Edition = 'Datawarehouse'
 ,SERVICE_OBJECTIVE = 'DW1000c'
)
;

Teljesítményszintek és Data Warehouse egysé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 Data Warehouse egységekben (DWU-kban) mérik.
  • A Gen2-adattárházak számítási Data Warehouse egységekben (cDWU-kban) vannak mérve.

A DWU-k és a cDWU-k egyaránt támogatják a számítási kapacitás 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. Amikor skálázza vagy szünetelteti a rendszert, a rendszer érvényteleníti a gyorsítótárat, 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.

Az adattárházegységek növelésével lineárisan növeli a számítási erőforrásokat. A Gen2 a legjobb lekérdezési teljesítményt és a legnagyobb skálázást biztosítja. A Gen2 rendszerek a gyorsítótárat is a legtöbbet használják.

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 engedélyez. További információkért lásd a számítási feladatok kezelési kapacitásának korlátait.

A szükséges adattárházegységek számának felmérése

Az adattárházegységek ideális száma nagymértékben függ a számítási feladattól és a rendszerbe betöltött adatok mennyiségétől.

A számítási feladathoz legmegfelelőbb DWU megkeresésének lépései:

  1. Először válasszon ki egy kisebb DWU-t.
  2. Monitorozza az alkalmazás teljesítményét, miközben teszteli az adatok betöltését a rendszerbe, megfigyelve a kiválasztott DWU-k számát a megfigyelt teljesítményhez képest.
  3. Azonosítsa az időszakos csúcsidőszakokra vonatkozó további követelményeket. Előfordulhat, hogy gyakran kell skálázni azokat a számítási feladatokat, amelyek jelentős csúcsokat és mélyedéseket mutatnak a tevékenységben.

Az SQL-készlet egy horizontális felskálázási rendszer, amely nagy mennyiségű számítási és lekérdezési nagy mennyiségű adatot képes kiépíteni. Ha szeretné megtekinteni a skálázás valódi képességeit, különösen a nagyobb DWU-k esetében, javasoljuk, hogy méretezé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.

Megjegyzés

A lekérdezési teljesítmény csak akkor nő párhuzamosítással, 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ásával kapcsolatos útmutatásért lásd: Felhasználói lekérdezések kezelése.

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 a SQL Server közreműködő módosíthatják a DWU beállításait.

Az aktuális DWU-beállítások megtekintése

Az aktuális DWU-beállítás megtekintése:

  1. Nyissa meg a SQL Server Object Explorer a Visual Studióban.
  2. Csatlakozzon 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. Például:
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 a Azure Portal, nyissa meg az adatbázist, és válassza a Méretezés lehetőséget.

  2. A Méretezés területen 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. Válassza az igen lehetőséget a megerősítéshez, vagy nemet a lemondáshoz.

PowerShell

Megjegyzés

Javasoljuk, hogy az Azure Az PowerShell-modult használja az Azure-ral való kommunikációhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. 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 myServer kiszolgálón üzemeltetett MySQLDW adatbázis szolgáltatásiszint-célkitűzését DW1000 értékre állítja.

Set-AzSqlDatabase -DatabaseName "MySQLDW" -ServerName "MyServer" -RequestedServiceObjectiveName "DW1000c"

További információ: PowerShell-parancsmagok Azure Synapse Analyticshez

T-SQL

A T-SQL használatával megtekintheti az aktuális DWUsettings értékeket, módosíthatja a beállításokat, és ellenőrizheti az előrehaladást.

A DWU-k módosítása:

  1. Csatlakozzon a kiszolgálóhoz társított főadatbázishoz.
  2. Használja az ALTER DATABASE TSQL utasítást. Az alábbi példa A mySQLDW adatbázis szolgáltatásiszint-célkitűzését DW1000c értékre állítja.
ALTER DATABASE MySQLDW
MODIFY (SERVICE_OBJECTIVE = 'DW1000c')
;

REST API-k

A DWU-k módosításához használja az Adatbázis létrehozása vagy frissítése REST API-t. Az alábbi példa A myServer kiszolgálón üzemeltetett MySQLDW adatbázis szolgáltatásiszint-célkitűzését DW1000c értékre á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": DW1000
    }
}

További REST API-példákért lásd: REST API-k Azure Synapse Analyticshez.

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áról, de nem teszi lehetővé az állapot programozott ellenőrzését.

A Azure Portal nem ellenőrizheti az adatbázis állapotát a felskálázási műveletekhez.

A DWU-módosítások állapotának ellenőrzése:

  1. Csatlakozzon 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.databases
;
  1. Küldje el a következő lekérdezést a művelet á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 információkat ad vissza a dedikált SQL-készlet 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 az összes nyitott munkamenetet leálltatja, é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 újracsatlakozik 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 iktatja újra 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 lásd: Erőforrásosztályok a számítási feladatok kezeléséhez , memória- és egyidejűségi korlátok.