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


Helyreállítható törlés áttekintése

Adatplatformként az Azure Data Explorer támogatja az egyes rekordok törlését. A rekordtörlés általában az alábbi módszerek egyikével érhető el:

  • Ha rendszerszintű rekordokat szeretne törölni, akkor az ezeket a rekordokat tartalmazó tárolóösszetevőket is törölje, használja a .purge
  • Ha ilyen garancia nélkül szeretne rekordokat törölni, használja .delete a jelen cikkben leírtak szerint – ez a parancs töröltként jelöli meg a rekordokat, de nem feltétlenül törli az adatokat a tárolási összetevőkből. Ez a törlési módszer gyorsabb, mint a végleges törlés.

A parancs használatáról további információt a Szintaxis című témakörben talál.

Használati esetek

Ez a törlési módszer csak az egyes rekordok nem tervezett törlésére használható. Ha például azt észleli, hogy egy IoT-eszköz egy ideje sérült telemetriát jelent, érdemes megfontolnia a sérült adatok törlését ezzel a módszerrel.

Ha gyakran kell törölnie rekordokat a deduplikációhoz vagy a frissítésekhez, javasoljuk, hogy materializált nézeteket használjon. Lásd: A materializált nézetek és a helyreállítható törlés közötti választás az adatdeduplikációhoz.

Törlési folyamat

A helyreállítható törlési folyamat a következő lépésekkel történik:

  1. Predikátum lekérdezés futtatása: A rendszer a táblát beolvasva azonosítja a törölni kívánt rekordokat tartalmazó adat kiterjedéseket. Az azonosított mértékek azok, amelyekben a predikátum-lekérdezés egy vagy több rekordot ad vissza.
  2. Extents csere: Az azonosított mértékeket új, az eredeti adatblobokra mutató kiterjedések váltják fel, valamint egy új, rejtett típusú bool oszlopot is, amely rekordonként jelzi, hogy törölték-e vagy sem. Ha a művelet befejeződött, a predikátum lekérdezés nem ad vissza rekordokat, ha újra fut.

Korlátozások és szempontok

  • A törlési folyamat végleges és visszafordíthatatlan. Ezt a folyamatot nem lehet visszavonni vagy helyreállítani a törölt adatokat, annak ellenére, hogy a tárolási összetevők nem feltétlenül törlődnek a művelet után.

  • A helyreállítható törlés natív táblák és materializált nézetek esetében támogatott. Külső táblák esetében nem támogatott.

  • A helyreállítható törlés futtatása előtt ellenőrizze a predikátumot egy lekérdezés futtatásával, és ellenőrizze, hogy az eredmények megfelelnek-e a várt eredménynek. A parancsot whatif módban is futtathatja, amely a várhatóan törölt rekordok számát adja vissza.

  • Ne futtasson több párhuzamos helyreállítható törlési műveletet ugyanazon a táblán, mert ez néhány vagy az összes parancs meghibásodását okozhatja. Azonban több párhuzamos helyreállítható törlési művelet is futtatható különböző táblákon.

  • Ne futtassa párhuzamosan a helyreállítható törlési és törlési parancsokat ugyanazon a táblán. Először várja meg, amíg az egyik parancs befejeződik, és csak ezután futtassa a másik parancsot.

  • A rendszer helyreállítható törlést hajt végre a fürt URI-ján: https://[YourClusterName].[region].kusto.windows.net. A parancshoz adatbázis-rendszergazdai engedélyek szükségesek a megfelelő adatbázishoz.

  • Ha olyan táblából töröl rekordokat, amely egy materializált nézet forrástáblája, az hatással lehet a materializált nézetre. Ha a törölt rekordokat még nem dolgozta fel a materializálási ciklus, ezek a rekordok hiányoznak a nézetben, mivel soha nem lesznek feldolgozva. Hasonlóképpen, a törlés nem lesz hatással a materializált nézetre, ha a rekordokat már feldolgozták.

  • A predikátum korlátozásai:

    • Legalább egy where operátort tartalmaznia kell.
    • Csak arra a táblára hivatkozhat, amelyből a rekordokat törölni szeretné.
    • Csak a következő operátorok engedélyezettek: extend, order, projectés wheretake . A -ben toscalar()az summarize operátor is engedélyezett.

Törlési teljesítmény

A törlési folyamat teljesítményét befolyásoló fő szempontok a következők:

  • Predikátum-lekérdezés futtatása: Ennek a lépésnek a teljesítménye nagyon hasonlít magához a predikátumhoz. Lehet, hogy a predikátumtól függően valamivel gyorsabb vagy lassabb, de a különbség várhatóan jelentéktelen.
  • Mértékek cseréje: A lépés teljesítménye a következőktől függ:
    • Rekordeloszlás a fürt adat-kiterjedései között
    • A fürtben lévő csomópontok száma

A parancstól eltérően .purgea .delete parancs nem veszi át az adatokat. Csak töröltként jelöli meg a predikátum-lekérdezés által visszaadott rekordokat, így sokkal gyorsabb.

Lekérdezési teljesítmény törlés után

A lekérdezési teljesítmény várhatóan nem fog észrevehetően megváltozni a rekordok törlése után.

A teljesítménycsökkenés nem várható, mert a törölt rekordokat kiszűrő összes lekérdezéshez automatikusan hozzáadott szűrő hatékony.

A lekérdezési teljesítmény azonban nem garantáltan javul. Bár bizonyos típusú lekérdezések teljesítménybeli javulást okozhatnak, mások esetében ez nem feltétlenül fordul elő. A lekérdezési teljesítmény javítása érdekében a rendszer rendszeres időközönként tömöríti azokat a mértékeket, amelyekben a legtöbb rekord törölve van, és olyan új mértékekre cseréli őket, amelyek csak a nem törölt rekordokat tartalmazzák.

A COGS-ra gyakorolt hatás (eladott áruk költsége)

A legtöbb esetben a rekordok törlése nem eredményezi a COGS módosítását.

  • Nem lesz csökkenés, mert valójában egyetlen rekord sem törlődik. A rekordok csak töröltként vannak megjelölve egy rejtett típusú booloszlop használatával, amelynek mérete elhanyagolható.
  • A legtöbb esetben nem lesz növekedés, mert a .delete művelethez nincs szükség további erőforrások kiépítésére.
  • Bizonyos esetekben a rekordok többségét időnként tömöríti a rendszer úgy, hogy új, csak a nem törölt rekordokat tartalmazó kiterjesztésekre cseréli őket. Ez a nagy számú törölt rekordot tartalmazó régi tárolóösszetevők törlését okozza. Az új mértékek kisebbek, ezért kevesebb helyet foglalnak el mind a Tárfiókban, mind a gyakori elérésű gyorsítótárban. A legtöbb esetben azonban ennek a COGS-ra gyakorolt hatása elhanyagolható.