Számítási erőforrások kezelése dedikált SQL-készlethez

Tip

Microsoft Fabric Data Warehouse egy nagyvállalati szintű relációs raktár egy Data Lake-alaprendszeren, jövőre kész architektúrával, beépített AI-vel és új funkciókkal. Ha még nem ismerkedik adattárházzal, kezdje a Fabric Data Warehouse. A meglévő dedikált SQL-készlet számítási feladatai frissíthetők Fabric az adatelemzés, a valós idejű elemzés és a jelentéskészítés új képességeinek eléréséhez.

Ez a cikk bemutatja, hogyan kezelheti a dedikált SQL-készlet (korábbi nevén SQL DW) számítási erőforrásait az Azure Synapse Analyticsben. Csökkentheti a költségeket a dedikált SQL-készlet szüneteltetésével, vagy a dedikált SQL-készlet skálázásával a teljesítményigények kielégítése érdekében.

Mi az a számításkezelés?

A dedikált SQL-készlet architektúrája elkülöníti a tárolást és számítást, így lehetővé teszi a kettő egymástól független skálázását. Ennek eredményeképp az adattárolástól függetlenül megfelelhet a számítási méretezés teljesítményigényeinek. Emellett szüneteltetheti és folytathatja a számítási erőforrásokat.

Az architektúra természetes következménye, hogy a számítási és tárolási díjszabás külön van. Ha egy ideig nincs szüksége a dedikált SQL-készletre, a számítás szüneteltetésével számítási költségeket takaríthat meg.

Számítás skálázása

A dedikált SQL-készlet adatraktár-egységeinek (DWU-k) beállításának módosításával skálázhatja vagy skálázhatja vissza a számítást. A betöltési és lekérdezési teljesítmény lineárisan növekedhet, miközben további DWU-kat ad hozzá.

A vertikális felskálázás lépéseit az Azure Portal, a PowerShell vagy a T-SQL rövid útmutatóiban találja. A vertikális felskálázási műveleteket REST API-val is végrehajthatja.

Skálázási művelet végrehajtásához a dedikált SQL-készlet először az összes bejövő lekérdezést megöli, majd visszaállítja a tranzakciókat a konzisztens állapot biztosítása érdekében. A méretezés csak akkor kezdődik, amikor a tranzakció visszavonása befejeződik. Skálázási művelet esetén a rendszer leválasztja a tárolási réteget a számítási csomópontokról, hozzáadja a számítási csomópontokat, majd újrafogalmazza a tárolási réteget a számítási réteghez.

Minden dedikált SQL-készlet 60 disztribúcióként van tárolva, amelyek egyenletesen oszlanak el a számítási csomópontokon. További számítási csomópontok hozzáadása nagyobb számítási teljesítményt ad hozzá. A számítási csomópontok számának növekedésével a számítási csomópontonkénti eloszlások száma csökken, ami nagyobb számítási teljesítményt biztosít a lekérdezésekhez. Hasonlóképpen, a DWU-k csökkentése csökkenti a számítási csomópontok számát, ami csökkenti a lekérdezések számítási erőforrásait.

Az alábbi táblázat bemutatja, hogyan változik a számítási csomópontonkénti eloszlások száma a DWU-k változásakor. A DW30000c 60 számítási csomópontot biztosít, és sokkal nagyobb lekérdezési teljesítményt biztosít, mint a DW100c.

Adattárházegységek Számítási csomópontok száma Csomópontonkénti eloszlások száma
DW100c 1 60
DW200c 1 60
DW300c 1 60
DW400c 1 60
DW500c 1 60
DW1000c 2 30
DW1500c 3 20
DW2000c 4 15
DW2500c 5 12
DW3000c 6 10
DW5000c 10 6
DW6000c 12 5
DW7500c 15 4
DW10000c 20 3
DW15000c 30 2
DW30000c 60 1

Az adattárházegységek megfelelő méretének megkeresése

A horizontális felskálázás teljesítménybeli előnyeinek megtekintéséhez, különösen a nagyobb adattárház-egységek esetében, legalább egy 1 TB-os adatkészletet szeretne használni. A dedikált SQL-készlethez leginkább megfelelő DWU-k megtalálásához próbálkozzon a skálázással fel- vagy lefelé. Futtasson néhány lekérdezést különböző számú DWU-kal az adatok betöltése után. Mivel a skálázás gyors, a különböző teljesítményszinteket egy vagy kevesebb órán belül kipróbálhatja.

Javaslatok a DWU-k legjobb számának megkereséséhez:

  • A fejlesztés alatt álló dedikált SQL-készlethez először válasszon kisebb számú DWU-t. Jó kiindulópont a DW400c vagy DW200c.
  • Figyelje meg az alkalmazás teljesítményét, és figyelje meg a kiválasztott DWU-k számát a megfigyelt teljesítményhez képest.
  • Tételezzük fel a lineáris skálázást, és állapítsuk meg, hogy mennyi szükséges a DWU-k növeléséhez vagy csökkentéséhez.
  • Folytassa a módosításokat, amíg el nem éri az üzleti követelményeknek megfelelő optimális teljesítményszintet.

Mikor kell vertikális felskálázást végezni?

A DWU-k horizontális felskálázása hatással van a teljesítmény ezen aspektusaira:

  • Lineárisan javítja a rendszer teljesítményét a vizsgálatok, aggregációk és CTAS-utasítások esetében
  • Az adatok betöltéséhez szükséges olvasók és írók számának növelése
  • Egyidejű lekérdezések és egyidejűségi pontok maximális száma

Javaslatok a DWU-k vertikális felskálázására:

  • Mielőtt nagy mennyiségű adatbetöltési vagy átalakítási műveletet hajt végre, skálázással tegye elérhetővé az adatokat gyorsabban.
  • A csúcsidőszakban vertikális felskálázást hajthat végre, hogy több egyidejű lekérdezést fogadjon.

Ha a horizontális felskálázás nem javítja a teljesítményt, akkor mi történik?

A DWU-k hozzáadása növeli a párhuzamosságot. Ha a munka egyenlően oszlik el a számítási csomópontok között, a további párhuzamosság javítja a lekérdezési teljesítményt. Ha a horizontális felskálázás nem változtatja meg a teljesítményt, ennek több oka is lehet. Előfordulhat, hogy az adatok elmozdulnak a disztribúciók között, vagy a lekérdezések nagy mennyiségű adatáthelyezést vezetnek be. A lekérdezési teljesítménnyel kapcsolatos problémák vizsgálatához tekintse meg a teljesítmény hibaelhárítását.

Számítás szüneteltetése és folytatása

A számítás szüneteltetése miatt a tárolási réteg le lesz választva a számítási csomópontokról. A számítási erőforrásokat a rendszer felszabadítja a fiókjából. A számításért nem kell fizetnie, amíg a számítás szünetel. A számítás folytatása visszacsatlakoztatja a tárhelyet a számítási csomópontokhoz, és újra számítják a számítási költségeket.

Dedikált SQL-készlet szüneteltetésekor:

  • A számítási és memória-erőforrások az adatközpontban elérhető erőforrások készletéhez kerülnek vissza.
  • Az adattárházegységek költségei a szünet alatt nullaak.
  • Az adattárolásra nincs hatással, és az adatok érintetlenek maradnak.
  • Az összes futó vagy várólistás műveletet törlik.
  • A DMV-számlálók alaphelyzetbe állnak.

Amikor újraindít egy dedikált SQL készletet:

  • A dedikált SQL-készlet számítási és memóriaerőforrásokat szerez be a DWUs-beállításokhoz.
  • A DWU-k számítási díjai újra számításra kerülnek.
  • Az adatok elérhetővé válnak.
  • Miután a dedikált SQL-készlet online állapotban van, újra kell indítania a számítási feladat lekérdezéseit.

Ha mindig elérhetővé szeretné tenni a dedikált SQL-készletet, fontolja meg a leskálázást a legkisebb méretre a szüneteltetés helyett.

A szüneteltetéshez és a folytatáshoz tekintse meg az Azure Portal vagy a PowerShell rövid útmutatóit. Használhatja a szüneteltetés REST API-t vagy a folytatás REST API-t is.

Kiürítési tranzakciók a szüneteltetés vagy a skálázás előtt

Javasoljuk, hogy várja meg a meglévő tranzakciók befejezését, mielőtt szüneteltetési vagy skálázási műveletet indítana.

Ha szünetelteti vagy skálázza a dedikált SQL-készletet, a háttérben a lekérdezések megszakadnak, amikor elindítja a szüneteltetést vagy a méretezési kérést. Az egyszerű SELECT-lekérdezések megszakítása gyors művelet, és szinte semmilyen hatással nincs a példány szüneteltetéséhez vagy skálázásához szükséges időre. Előfordulhat azonban, hogy az adatokat vagy az adatok szerkezetét módosító tranzakciós lekérdezések nem fognak tudni gyorsan leállni. A tranzakciós lekérdezéseknek definíciójuk szerint vagy teljesen be kell fejeződniük, vagy vissza kell állítaniuk az általuk végrehajtott módosításokat.

A tranzakciós lekérdezések által elvégzett módosítások visszaállítása ugyanannyi, vagy akár hosszabb ideig is tarthat, mint a lekérdezés által elvégzett eredeti módosítás végrehajtása. Ha például megszakít egy olyan lekérdezést, amely törölte a sorokat, és már egy órája fut, a rendszer egy óráig is eltarthat, amíg visszaszúrja a törölt sorokat. Ha tranzakciók futása közben szüneteltetést vagy skálázást hajt végre, ez sokáig tarthat, mivel a folytatáshoz meg kell várni a visszaállítás befejezését.

További információ: Tranzakciók használata és tranzakciók optimalizálása.

Számításkezelés automatizálása

A számítási felügyeleti műveletek automatizálásához lásd: Az Azure Functions használata a dedikált SQL-készlet számítási erőforrásainak kezeléséhez.

Az átméretezési, szüneteltetési és folytatási műveletek végrehajtása több percet is igénybe vehet. Ha automatikusan skáláz, szüneteltet vagy folytat, javasoljuk a logika alkalmazását annak biztosítására, hogy bizonyos műveletek befejeződjenek, mielőtt bármely másik művelethez kezdenénk. A dedikált SQL-készlet állapotának különböző végpontokon keresztüli ellenőrzése lehetővé teszi az ilyen műveletek automatizálásának megfelelő implementálását.

A dedikált SQL-készlet állapotának ellenőrzéséhez tekintse meg a PowerShell vagy a T-SQL rövid útmutatóit. A dedikált SQL-készlet állapotát REST API-val is ellenőrizheti.

Engedélyek

A dedikált SQL-készlet méretezéséhez az ALTER DATABASE-ben leírt engedélyek szükségesek. A szüneteltetéshez és a folytatáshoz az SQL DB közreműködői szerepköre szükséges, különösen a Microsoft.Sql/servers/databases/action.