Werklastbeheer
Van toepassing op:✅ SQL Analytics-eindpunt en -magazijn in Microsoft Fabric
In dit artikel worden de architectuur en het workloadbeheer achter datawarehousing in Microsoft Fabric beschreven.
Gegevensverwerking
Het eindpunt van Warehouse en SQL Analytics delen dezelfde onderliggende verwerkingsarchitectuur. Wanneer gegevens worden opgehaald of opgenomen, maakt deze gebruik van een gedistribueerde engine die is gebouwd voor zowel kleine als grootschalige gegevens- en rekenfuncties.
Het verwerkingssysteem is serverloos in die back-end rekencapaciteit schaalt autonoom omhoog en omlaag om te voldoen aan de workloadvereisten.
Wanneer een query wordt verzonden, voert de SQL-front-end (FE) queryoptimalisatie uit om het beste plan te bepalen op basis van de gegevensgrootte en complexiteit. Zodra het plan is gegenereerd, wordt het gegeven aan de DQP-engine (Distributed Query Processing). De DQP organiseert gedistribueerde uitvoering van de query door deze op te splitsen in kleinere query's die worden uitgevoerd op back-end-rekenknooppunten. Elke kleine query wordt een taak genoemd en vertegenwoordigt een gedistribueerde uitvoeringseenheid. Het leest bestand(en) uit OneLake, voegt resultaten toe van andere taken, groepen of orders die zijn opgehaald uit andere taken. Voor opnametaken worden ook gegevens naar de juiste doeltabellen geschreven.
Wanneer gegevens worden verwerkt, worden resultaten geretourneerd naar de SQL-front-end voor het terugsturen naar de gebruiker of aanroepende toepassing.
Elasticiteit en tolerantie
De rekencapaciteit van de back-end profiteert van een snelle inrichtingsarchitectuur. Hoewel er geen SLA is voor resourcetoewijzing, worden doorgaans binnen een paar seconden nieuwe knooppunten verkregen. Naarmate de vraag naar resources toeneemt, maken nieuwe workloads gebruik van de uitgeschaalde capaciteit. Schalen is een onlinebewerking en het verwerken van query's verloopt ononderbroken.
Het systeem is fouttolerant en als een knooppunt beschadigd raakt, worden bewerkingen die op het knooppunt worden uitgevoerd, opnieuw gedistribueerd naar gezonde knooppunten voor voltooiing.
Het eindpunt voor warehouse- en SQL-analyse biedt burstable capaciteit waarmee workloads meer resources kunnen gebruiken om betere prestaties te bereiken en het gebruik van smoothing om klanten die plotselinge pieken maken tijdens hun piektijden te bieden, terwijl ze veel niet-gebruikte capaciteit hebben. Het soepeler maken vereenvoudigt het capaciteitsbeheer door de evaluatie van rekenkracht te spreiden om ervoor te zorgen dat klanttaken soepel en efficiënt worden uitgevoerd.
Planning en bronnen
De scheduler voor gedistribueerde queryverwerking werkt op taakniveau . Query's worden weergegeven voor de scheduler als een gerichte acyclische grafiek (DAG) van taken. Dit concept is bekend voor Spark-gebruikers. Met een DAG kunnen parallellisme en gelijktijdigheid worden uitgevoerd als taken die niet van elkaar afhankelijk zijn, tegelijkertijd of buiten de volgorde kunnen worden uitgevoerd.
Wanneer query's binnenkomen, worden hun taken gepland op basis van fifo-principes (first-in-first-out). Als er niet-actieve capaciteit is, kan de scheduler een 'best passende' methode gebruiken om gelijktijdigheid te optimaliseren.
Wanneer de scheduler de brondruk identificeert, wordt er een schaalbewerking aangeroepen. Schaalaanpassing wordt autonoom beheerd en de back-endtopologie groeit naarmate de gelijktijdigheid toeneemt. Omdat het een paar seconden duurt om knooppunten te verkrijgen, is het systeem niet geoptimaliseerd voor consistente prestaties van subseconden van query's waarvoor gedistribueerde verwerking is vereist.
Wanneer de druk afvalt, wordt de back-endtopologie omlaag geschaald en wordt de resource teruggezet naar de regio.
Isolatie van opname
Van toepassing op:✅ Warehouse in Microsoft Fabric
In de back-end-rekengroep van Warehouse in Microsoft Fabric worden laadactiviteiten voorzien van resource-isolatie van analytische workloads. Dit verbetert de prestaties en betrouwbaarheid, omdat opnametaken kunnen worden uitgevoerd op toegewezen knooppunten die zijn geoptimaliseerd voor ETL en die niet concurreren met andere query's of toepassingen voor resources.
Sessies
Het eindpunt voor warehouse- en SQL-analyse heeft een gebruikerssessielimiet van 724 per werkruimte. Wanneer deze limiet is bereikt, wordt een fout geretourneerd: The user session limit for the workspace is 724 and has been reached
.
Notitie
Omdat Microsoft Fabric een SaaS-platform is, zijn er veel systeemverbindingen die worden uitgevoerd om de omgeving continu te optimaliseren. DMV's tonen zowel systeem- als gebruikerssessies. Zie Monitor met DMV's voor meer informatie.
Aanbevolen procedures
De Microsoft Fabric-werkruimte biedt een natuurlijke isolatiegrens van het gedistribueerde rekensysteem. Workloads kunnen profiteren van deze grens om zowel kosten als prestaties te beheren.
OneLake-snelkoppelingen kunnen worden gebruikt om alleen-lezen replica's van tabellen in andere werkruimten te maken om de belasting over meerdere SQL-engines te verdelen, waardoor een isolatiegrens ontstaat. Dit kan het maximum aantal sessies dat alleen-lezenquery's uitvoert, verhogen.