Gegevens in de faseringsitems van Dataflow Gen2

Om de prestaties en betrouwbaarheid te verbeteren, gebruikt Dataflow Gen2 faseringsitems om tussenliggende gegevens op te slaan tijdens gegevenstransformatie. In dit artikel wordt beschreven wat faseringsitems zijn, de ELT-patronen die ze eenmaal via de fase ontgrendelen, verwijzen naar veel modellen en hoe ze de gegevens beheren die ze bevatten.

Wat zijn staging-items?

Faseringsitems zijn tussenliggende locaties voor gegevensopslag die door Dataflow Gen2 worden gebruikt om gegevens op te slaan tijdens gegevenstransformatie. Deze items staan bekend onder de namen 'DataflowsStagingLakehouse' en 'DataflowsStagingWarehouse'. De faseringsitems worden gebruikt om tussenliggende gegevens op te slaan tijdens de gegevenstransformatie om de prestaties te verbeteren. Deze items worden automatisch gemaakt wanneer u uw eerste gegevensstroom maakt en wordt beheerd door Dataflow Gen2. Deze items zijn verborgen voor de gebruiker in de werkruimte, maar zijn mogelijk zichtbaar in andere ervaringen, zoals Gegevens ophalen of de Lakehouse-verkenner. We raden sterk af om de gegevens in de staging items rechtstreeks te openen of te wijzigen, omdat dit tot onverwacht gedrag kan leiden. Het zelf opslaan van gegevens in staging items wordt niet ondersteund en kan leiden tot gegevensverlies.

ELT-patronen: één keer laden, meerdere keren verwijzen

Naast het bieden van tussenliggende opslag ontgrendelt fasering een set ELT-patronen die zijn gebouwd op één basis: één keer fase, verwijst naar veel. Een bronquery wordt gemarkeerd als in voorbereiding, zodat de uitvoer wordt gematerialiseerd in interne voorbereidingsopslag. Downstreamquery's verwijzen vervolgens naar die gefaseerde query in plaats van de bron opnieuw te lezen. Fast Copy is een optionele accelerator die ervoor zorgt dat de gefaseerde query sneller wordt uitgevoerd, maar het is niet wat het patroon bepaalt.

Het patroon is van belang omdat wanneer gegevens zijn gefaseerd, downstreamquery's het volgende kunnen doen:

  • Uitvoeren op een geïndexeerde, doorzoekbare kopie zonder de bron opnieuw te raken.
  • Vouw filters, joins en aggregaties terug naar het faserings-SQL-eindpunt in plaats van uit te voeren in de mashup-engine.
  • Vertak naar meerdere parallelle transformaties of bestemmingen vanuit één geïnitialiseerd resultaat.

Veelvoorkomende gebruiksvoorbeelden

De volgende patronen worden meestal gelaagd bovenop een gefaseerde bronquery.

Gebruiksituatie Description
Gefaseerde gegevens vormgeven in analysemodellen In gerefeerde query's worden gefaseerde gegevens in feiten- en dimensietabellen, samenvattingen, rollups of KPI's gevormd via deduplicatie, groeperen op en sleutelgeneratie.
Pushdown voor rekenkracht invouwen Query's die geschreven zijn tegen gefaseerde gegevens vouwen hun joins, filters en group-by-operaties naar het staging SQL-eindpunt, waarbij de rekenkracht naar de warehouse-engine wordt gepusht in plaats van de mashup-engine. Dit is vaak de grootste enkele prestatieverbetering die door middel van staging wordt bereikt.
Gegevenskwaliteit en auditafdeling Gerefereerde query's valideren of controleren tussentijdse gegevens (null-controles, beperkingsvalidatie, aantal rijen) zonder de bron opnieuw door te nemen.
Verspreiden naar meerdere bestemmingen Meerdere query's waarnaar wordt verwezen, laden elk een andere bestemming dan dezelfde gefaseerde bron (bijvoorbeeld één Lakehouse en één magazijn).
Stage-then-merge Elke bron wordt gerangschikt in een eigen query, en vervolgens wordt een downstream query samengevoegd of gecombineerd met de gerangschikte resultaten, waarbij de join wordt teruggevouwen naar het staging-SQL-eindpunt.

Wanneer de stagingomgeving niet geschikt is

Met fasering worden opslagkosten en extra schrijfbewerkingen toegevoegd voordat downstreamquery's worden uitgevoerd. Overweeg deze over te slaan wanneer:

  • Uw transformatie loopt al van begin tot eind naar het bronsysteem, zonder berekening in de mashup-engine.
  • De gegevensstroom heeft één uitvoer en geen downstream-vertakking, validatie of 'fan-out'.
  • Bronlatentie is het knelpunt en de bron kan niet worden geparallelliseerd via fasering.

Zie Best practices voor het verkrijgen van de beste prestaties met Dataflow Gen2 voor meer informatie over het in- of uitschakelen van fasering.

Gegevens in voorbereidingsitems

Staging-elementen zijn niet ontworpen voor directe toegang door gebruikers. Dataflow Gen2 beheert de gegevens in de staging-objecten en zorgt ervoor dat de gegevens in een consistente toestand zijn. Het rechtstreeks openen van gegevens in faseringsitems wordt niet toegestaan, omdat niet kan worden gegarandeerd dat de gegevens zich in een consistente toestand bevinden. Als u toegang nodig hebt tot gegevens in stagingitems, kunt u de gegevensstroomconnector gebruiken in Power BI, Excel of andere dataflows.

Belangrijk

De interne API die gefaseerde gegevens levert aan downstreamgebruikers (zoals semantische modellen of andere gegevensstromen met behulp van de connector Gegevensstromen) kan onregelmatige time-outs ervaren. Deze time-outs kunnen leiden tot verversingsfouten bij het gebruik van items, die vaak verschijnen als de fout 'De sleutel komt niet overeen met rijen in de tabel'. Deze fout duidt niet op een probleem met de gegevens. Dit betekent dat de back-end de gefaseerde resultaten niet tijdig kan ophalen.

Aanbevolen tijdelijke oplossing: Configureer een gegevensbestemming (Lakehouse of Warehouse) voor uw gegevensstroom en werk downstreamitems bij om rechtstreeks vanuit die bestemming te lezen met behulp van de Lakehouse- of Warehouse-connector. Hierdoor wordt de interne faserings-API overgeslagen en wordt de betrouwbaarheid van het vernieuwen verbeterd.

Zie Data Factory-beperkingen voor meer informatie.

Het verwijderen van gegevens uit de faseringsitems kan worden geforceerd door een van de volgende acties:

  • Schakel het stagingproces in de gegevensstroom uit en vernieuw (na 30 dagen wordt de data opgeschoond).
  • Verwijder de gegevensstroom (verwijdert de gegevens rechtstreeks).
  • Verwijder de werkruimte (verwijdert het StagingLakehouse en StagingWarehouse rechtstreeks).

Gevolgen voor kosten van fasering

In het staging Lakehouse en staging Warehouse worden tussentijdse gegevens opgeslagen als onderdeel van de verwerking van uw gegevensflow. De opslag die door deze faseringsitems wordt verbruikt, wordt gefactureerd als onderdeel van uw OneLake-opslag. Dit betekent dat de gegevens die zijn opgeslagen in de faseringsitems, worden meegeteld voor het totale OneLake-opslagverbruik en de bijbehorende kosten.

Opslagkosten effectief beheren:

  • Faseringsopslaggebruik bewaken: houd er rekening mee dat faseringsgegevens worden verzameld bij elke gegevensstroomvernieuwing totdat het afval wordt verzameld of expliciet wordt verwijderd.
  • Schakel fasering uit wanneer dat niet nodig is: als uw transformaties naar het bronsysteem worden gevouwen, hoeft u fasering mogelijk niet in te schakelen. Het uitschakelen van fasering vermindert het opslagverbruik.
  • Ongebruikte gegevensstromen opschonen: als u gegevensstromen verwijdert die niet meer nodig zijn, worden de bijbehorende faseringsgegevens onmiddellijk verwijderd.
  • Overweeg vernieuwingsfrequentie: frequente vernieuwingen waarvoor fasering is ingeschakeld, kunnen leiden tot een hoger opslagverbruik. Balans tussen prestatievoordelen ten opzichte van opslagkosten.

Zie Microsoft Fabric prijzen voor meer informatie over OneLake-opslagprijzen.