Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer-
Tijdens het opnameproces in de wachtrij optimaliseert de service voor doorvoer door kleine gegevenssegmenten voor inkomend verkeer samen te batcheren voordat ze worden opgenomen. Batchverwerking vermindert de resources die worden gebruikt door het opnameproces in de wachtrij en vereist geen postopnamebronnen om de kleine gegevenshards te optimaliseren die worden geproduceerd door niet-batchgewijze opname.
Het nadeel van batchverwerking voordat opname wordt gedaan, is de geforceerde vertraging. Daarom is de end-to-end-tijd van het aanvragen van de gegevensopname totdat de gegevens die gereed zijn voor query groter zijn.
Wanneer u het IngestionBatching beleid definieert, moet u een balans vinden tussen optimaliseren voor doorvoer en tijdsvertraging. Dit beleid is van toepassing op opname in de wachtrij. Hiermee definieert u de maximale geforceerde vertraging die is toegestaan bij het samenvoegen van kleine blobs. Zie voor meer informatie over het gebruik van batchverwerkingsbeleidsopdrachten en het optimaliseren van doorvoer:
- Opdrachtverwijzing voor batchverwerkingsbeleid voor opname
- Aanbevolen procedures voor opname: optimaliseren voor doorvoer
Een batch verzegelen
Er is een optimale grootte van ongeveer 1 GB aan niet-gecomprimeerde gegevens voor bulkopname. Opname van blobs met veel minder gegevens is suboptimaal, dus bij opname in de wachtrij worden kleine blobs samen gebatcheerd.
In de volgende lijst ziet u de triggers voor het basisbatchbeleid om een batch te verzegelen. Een batch wordt verzegeld en opgenomen wanneer aan de eerste voorwaarde wordt voldaan:
-
Size: Limiet voor batchgrootte bereikt of overschreden -
Count: Limiet voor batchbestandsnummers bereikt -
Time: Batchtijd is verlopen -
FlushImmediatly: Een blob met 'FlushImmediately' -indicatie heeft ertoe geleid dat een batch is verzegeld
Het IngestionBatching beleid kan worden ingesteld voor databases of tabellen. Standaardwaarden zijn als volgt: maximale vertragingstijd van 5 minuten , 500 items, totale grootte van 1 GB.
Belangrijk
De impact van het instellen van dit beleid op zeer kleine waarden is een toename van de COGS (kosten van verkochte goederen) en verminderde prestaties. Bovendien kan het verminderen van batchbeleidswaarden leiden tot een verhoogde effectieve end-to-end opnamelatentie, vanwege de overhead van het gelijktijdig beheren van meerdere opnameprocessen.
De volgende lijst bevat voorwaarden voor het verzegelen van batches met betrekking tot één blobopname. Een batch wordt verzegeld en opgenomen wanneer aan de voorwaarden wordt voldaan:
-
SingleBlob_FlushImmediately: Afgeschaft! Eén blob opnemen omdat FlushImmediately is ingesteld -
SingleBlob_IngestIfNotExists: Eén blob opnemen omdat 'IngestIfNotExists' is ingesteld -
SingleBlob_IngestByTag: Een enkele blob opnemen omdat 'opname-by' is ingesteld -
SingleBlob_SizeUnknown: Een enkele blob opnemen omdat de blobgrootte onbekend is
Als de SystemFlush voorwaarde is ingesteld, wordt een batch verzegeld wanneer een systeemspoeling wordt geactiveerd. Met de SystemFlush parameterset worden de gegevens door het systeem leeggemaakt, bijvoorbeeld vanwege het schalen van databases of het interne opnieuw instellen van systeemonderdelen.
Standaardwaarden en limieten
| Typologie | Vastgoed | Verstek | Instelling lage latentie | Minimumwaarde | Maximumwaarde |
|---|---|---|---|---|---|
| Aantal artikelen | MaximumNumberOfItems | 500 | 500 | 1 | 25,000 |
| Gegevensgrootte (MB) | MaximumRawDataSizeMB | 1024 | 1024 | 100 | 4096 |
| Tijd (Tijdspanne) | MaximumBatchingTimeSpan | 00:05:00 | 00:00:20 - 00:00:30 | 00:00:10 | 00:30:00 |
De meest effectieve manier om de end-to-end-latentie te beheren met behulp van opnamebatchbeleid, is door de tijdsgrens op tabel - of databaseniveau te wijzigen, afhankelijk van de hogere latentievereisten. Een beleid op databaseniveau is van invloed op alle tabellen in die database waarvoor geen beleid op tabelniveau is gedefinieerd en een nieuwe tabel.
Belangrijk
Als u de tijdsgrens van het opnamebatchbeleid te laag instelt voor tabellen met weinig inkomend verkeer, kunt u extra reken- en opslagwerkzaamheden uitvoeren wanneer de database probeert de zojuist gemaakte gegevensshards te optimaliseren. Zie de gebieden voor meer informatie over gegevensshards.
Batchgegevensgrootte
De grootte van de batchverwerkingsbeleidsgegevens is ingesteld voor niet-gecomprimeerde gegevens. Voor Parquet-, AVRO- en ORC-bestanden wordt een schatting berekend op basis van de bestandsgrootte. Voor gecomprimeerde gegevens wordt de niet-gecomprimeerde gegevensgrootte als volgt geëvalueerd in aflopende volgorde van nauwkeurigheid:
- Als de niet-gecomprimeerde grootte wordt opgegeven in de opnamebronopties, wordt die waarde gebruikt.
- Bij het opnemen van lokale bestanden met SDK's worden zip-archieven en gzip-streams geïnspecteerd om hun onbewerkte grootte te beoordelen.
- Als eerdere opties geen gegevensgrootte bieden, wordt een factor toegepast op de gecomprimeerde gegevensgrootte om de niet-gecomprimeerde gegevensgrootte te schatten.
Batchverlatenties
Latenties kunnen het gevolg zijn van veel oorzaken die kunnen worden aangepakt met behulp van beleidsinstellingen voor batchverwerking.
| Oorzaak | Solution |
|---|---|
Gegevenslatentie komt overeen met de time instelling, met te weinig gegevens om de size of count limiet te bereiken |
time De limiet beperken |
| Inefficiënte batchverwerking vanwege een groot aantal zeer kleine bestanden | Vergroot de grootte van de bronbestanden. Als u Kafka Sink gebruikt, configureert u deze om gegevens te verzenden in ongeveer 100 kB-segmenten of hoger. Als u veel kleine bestanden hebt, verhoogt u het count (maximaal 2000) in de database- of tabelopnamebeleid. |
| Een grote hoeveelheid niet-gecomprimeerde gegevens batcheren | Dit komt vaak voor bij het opnemen van Parquet-bestanden. Verlaag incrementeel voor het tabel- size of databasebatchbeleid naar 250 MB en controleer op verbetering. |
| Achterstand omdat de database wordt geschaald | Accepteer eventuele suggesties van Azure Advisor om uw database opzij te schalen of omhoog te schalen. U kunt de database ook handmatig schalen om te zien of de achterstand is gesloten. Als deze opties niet werken, neemt u contact op met de ondersteuning voor hulp. |