Zásady dávkování příjmu dat
Přehled
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer
Během procesu příjmu dat ve frontě služba optimalizuje propustnost dávkováním malých bloků dat příchozího přenosu dat před příjmem dat. Dávkování snižuje prostředky spotřebované procesem příjmu dat ve frontě a nevyžaduje prostředky po ingestování, aby optimalizovaly malé horizontální oddíly dat vytvořené nesáhlým příjmem dat.
Nevýhodou při dávkování před příjmem dat je vynucené zpoždění. Koncový čas od vyžádání příjmu dat do doby, než budou data připravená k dotazování větší.
Když zásadu IngestionBatching
definujete, budete muset najít rovnováhu mezi optimalizací propustnosti a časového zpoždění. Tato zásada se vztahuje na příjem dat ve frontě. Definuje maximální povolenou vynucenou prodlevu při dávkování malých objektů blob. Další informace o používání příkazů zásad dávkování a optimalizaci propustnosti najdete tady:
- Referenční informace k příkazům zásad dávkování příjmu dat
- Osvědčené postupy příjmu dat – optimalizace propustnosti
Zapečetění dávky
Pro hromadný příjem dat je optimální velikost přibližně 1 GB nekomprimovaných dat. Příjem objektů blob s mnohem menšími objemy dat je neoptimální, takže ve frontě příjmu dat služba dávková malé objekty blob dohromady.
Následující seznam obsahuje základní aktivační události zásad dávkování pro zapečetění dávky. Dávka se zapečetí a ingestuje při splnění první podmínky:
Size
: Dosažení nebo překročení limitu velikosti dávkyCount
: Bylo dosaženo limitu počtu dávkových souborů.Time
: Vypršela doba dávkování.
Zásady IngestionBatching
je možné nastavit u databází nebo tabulek. Výchozí hodnoty jsou následující: maximální doba zpoždění 5 minut , 500 položek, celková velikost 1 GB.
Důležité
Dopad nastavení této zásady na velmi malé hodnoty je zvýšení COGS (náklady na prodané zboží) a snížení výkonu. Snížení hodnot zásad dávkování navíc může ve skutečnosti vést ke zvýšení efektivní celkové latence příjmu dat kvůli režii při paralelní správě více procesů příjmu dat.
Následující seznam ukazuje podmínky pro zapečetění dávek souvisejících s příjmem jednoho objektu blob. Dávka se zapečetí a ingestuje při splnění podmínek:
SingleBlob_FlushImmediately
: Ingestování jednoho objektu blob, protože byla nastavena vlastnost FlushImmediately .SingleBlob_IngestIfNotExists
: Ingestování jednoho objektu blob, protože byla nastavena hodnota IngestIfNotExists .SingleBlob_IngestByTag
: Ingestování jednoho objektu blob, protože byla nastavena hodnota ingestováníSingleBlob_SizeUnknown
: Ingestování jednoho objektu blob, protože velikost objektu blob je neznámá.
SystemFlush
Pokud je podmínka nastavená, dávka se zapečetí při aktivaci vyprázdnění systému. SystemFlush
V sadě parametrů systém vyprázdní data, například kvůli škálování databáze nebo internímu resetování systémových komponent.
Výchozí hodnoty a limity
Typ | Vlastnost | Výchozí | Nastavení nízké latence | Minimální hodnota | Maximální hodnota |
---|---|---|---|---|---|
Počet položek | MaximumNumberOfItems | 500 | 500 | 0 | 25,000 |
Velikost dat (MB) | MaximumRawDataSizeMB | 1024 | 1024 | 100 | 4096 |
Time (TimeSpan) | MaximumBatchingTimeSpan | 00:05:00 | 00:00:20 - 00:00:30 | 00:00:10 | 00:30:00 |
Nejúčinnějším způsobem řízení celkové latence pomocí zásad dávkování příjmu dat je změna časové hranice na úrovni tabulky nebo databáze podle požadavků na vyšší latenci. Zásady na úrovni databáze ovlivňují všechny tabulky v databázi, které nemají definované zásady na úrovni tabulky, a všechny nově vytvořené tabulky.
Důležité
Pokud nastavíte časové hranice zásad dávkování příjmu dat příliš málo u tabulek s nízkým příchozím přenosem dat, můžete při pokusu o optimalizaci nově vytvořených datových horizontálních oddílů provádět další výpočetní prostředky a úložiště. Další informace o horizontálních oddílech dat najdete v rozsahech.
Velikost dávkových dat
Velikost dat zásad dávkování je nastavená pro nekomprimovaná data. U souborů Parquet, AVRO a ORC se odhad vypočítá na základě velikosti souboru. U komprimovaných dat se nekomprimovaná velikost dat vyhodnotí následujícím způsobem v sestupném pořadí přesnosti:
- Pokud je v možnostech zdroje příjmu dat k dispozici nekomprimovaná velikost, použije se tato hodnota.
- Při ingestování místních souborů pomocí sad SDK se prověřují archivy zip a streamy gzip, aby posoudily jejich nezpracovanou velikost.
- Pokud předchozí možnosti neposkytují velikost dat, použije se faktor na komprimovanou velikost dat k odhadu nekomprimované velikosti dat.
Latence dávkování
Latence můžou mít za následek mnoho příčin, které je možné řešit pomocí nastavení zásad dávkování.
Příčina | Řešení |
---|---|
Latence dat odpovídá time nastavení s příliš malými daty na dosažení nebo count limitusize . |
Snížení limitu time |
Neefektivní dávkování kvůli velkému počtu velmi malých souborů | Zvětšete velikost zdrojových souborů. Pokud používáte jímku Kafka, nakonfigurujte ji tak, aby odesílala data v blocích přibližně 100 KB nebo vyšších. Pokud máte mnoho malých souborů, zvyšte count hodnotu (až 2000) v zásadách databáze nebo příjmu tabulek. |
Dávkování velkého množství nekomprimovaných dat | To je běžné při ingestování souborů Parquet. Přírůstkové snížení size zásad dávkování tabulek nebo databází na 250 MB a kontrola zlepšení. |
Backlog, protože databáze je škálovaná | Přijměte všechny návrhy Azure Advisoru pro horizontální navýšení kapacity nebo vertikální navýšení kapacity databáze. Případně můžete databázi škálovat ručně, abyste zjistili, jestli je backlog zavřený. Pokud tyto možnosti nefungují, požádejte o pomoc podporu. |