Handleiding voor prestaties en schaalbaarheid van kopieeractiviteit

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Soms wilt u een grootschalige gegevensmigratie uitvoeren van Data Lake of Enterprise Data Warehouse (EDW) naar Azure. Andere keren dat u grote hoeveelheden gegevens wilt opnemen, van verschillende bronnen in Azure, voor analyse van big data. In elk geval is het essentieel om optimale prestaties en schaalbaarheid te bereiken.

Azure Data Factory- en Azure Synapse Analytics-pijplijnen bieden een mechanisme voor het opnemen van gegevens, met de volgende voordelen:

  • Verwerkt grote hoeveelheden gegevens
  • Is zeer goed presterend
  • Is rendabel

Deze voordelen zijn uitstekend geschikt voor data engineers die schaalbare pijplijnen voor gegevensopname willen bouwen die zeer goed presteren.

Na het lezen van dit artikel kunt u de volgende vragen beantwoorden:

  • Welk niveau van prestaties en schaalbaarheid kan ik bereiken met behulp van kopieeractiviteit voor gegevensmigratie- en gegevensopnamescenario's?
  • Welke stappen moet ik uitvoeren om de prestaties van de kopieeractiviteit af te stemmen?
  • Welke prestatieoptimalisaties kan ik gebruiken voor één uitvoering van een kopieeractiviteit?
  • Welke andere externe factoren waarmee u rekening moet houden bij het optimaliseren van de kopieerprestaties?

Notitie

Als u niet bekend bent met de kopieeractiviteit in het algemeen, raadpleegt u het overzicht van de kopieeractiviteit voordat u dit artikel leest.

De prestaties en schaalbaarheid kopiëren die mogelijk zijn met behulp van Azure Data Factory- en Synapse-pijplijnen

Azure Data Factory- en Synapse-pijplijnen bieden een serverloze architectuur die parallellisme op verschillende niveaus toestaat.

Met deze architectuur kunt u pijplijnen ontwikkelen waarmee de doorvoer van gegevensverplaatsing voor uw omgeving wordt gemaximaliseerd. Deze pijplijnen maken volledig gebruik van de volgende resources:

  • Netwerkbandbreedte tussen de bron- en doelgegevensarchieven
  • Invoer-/uitvoerbewerkingen voor bron- of doelgegevensopslag per seconde (IOPS) en bandbreedte

Dit volledige gebruik betekent dat u de totale doorvoer kunt schatten door de minimale doorvoer te meten die beschikbaar is met de volgende resources:

  • Brongegevensarchief
  • Doelgegevensarchief
  • Netwerkbandbreedte tussen de bron- en doelgegevensarchieven

In de onderstaande tabel ziet u de berekening van de duur van de gegevensverplaatsing. De duur in elke cel wordt berekend op basis van een bepaald netwerk en gegevensopslagbandbreedte en een bepaalde grootte van de nettolading van gegevens.

Notitie

De onderstaande duur is bedoeld om haalbare prestaties te vertegenwoordigen in een end-to-end oplossing voor gegevensintegratie met behulp van een of meer technieken voor prestatieoptimalisatie die worden beschreven in functies voor het optimaliseren van kopieerprestaties, waaronder het gebruik van ForEach om meerdere gelijktijdige kopieeractiviteiten te partitioneren en af te zetten. U wordt aangeraden de stappen in de stappen voor het afstemmen van prestaties te volgen om de kopieerprestaties voor uw specifieke gegevensset en systeemconfiguratie te optimaliseren. U moet de getallen gebruiken die zijn verkregen in uw prestatieafstemmingstests voor de planning van de productie-implementatie, capaciteitsplanning en factureringsprojectie.

 

Gegevensgrootte/
bandwidth
50 Mbps 100 Mbps 500 Mbps 1 Gbps 5 Gbps 10 Gbps 50 Gbps
1 GB 2,7 min. 1,4 min. 0,3 min. 0,1 min. 0,03 min. 0,01 min. 0,0 min.
10 GB 27,3 min. 13,7 min. 2,7 min. 1,3 min. 0,3 min. 0,1 min. 0,03 min.
100 GB 4,6 uur 2,3 uur 0,5 uur 0,2 uur 0,05 uur 0,02 uur 0,0 uur
1 TB 46,6 uur 23,3 uur 4,7 uur 2,3 uur 0,5 uur 0,2 uur 0,05 uur
10 TB 19,4 dagen 9,7 dagen 1,9 dagen 0,9 dagen 0,2 dagen 0,1 dagen 0,02 dagen
100 TB 194,2 dagen 97,1 dagen 19,4 dagen 9,7 dagen 1,9 dagen 1 dag 0,2 dagen
1 PB 64,7 mo 32.4 mo 6,5 mo 3.2 mo 0,6 mo 0,3 mo 0.06 mo
10 PB 647.3 mo 323.6 mo 64,7 mo 31,6 mo 6,5 mo 3.2 mo 0,6 mo

Kopiëren is schaalbaar op verschillende niveaus:

How copy scales

  • Controlestroom kan meerdere kopieeractiviteiten parallel starten, bijvoorbeeld met Voor elke lus.

  • Eén kopieeractiviteit kan profiteren van schaalbare rekenresources.

    • Wanneer u Azure Integration Runtime (IR) gebruikt, kunt u maximaal 256 gegevensintegratie-eenheden (DIU's) opgeven voor elke kopieeractiviteit, op een serverloze manier.
    • Wanneer u zelf-hostende IR gebruikt, kunt u een van de volgende methoden gebruiken:
      • Schaal de machine handmatig omhoog.
      • Uitschalen naar meerdere computers (maximaal 4 knooppunten) en één kopieeractiviteit partitioneert de bestandsset op alle knooppunten.
  • Eén kopieeractiviteit leest van en schrijft naar het gegevensarchief met behulp van meerdere threads parallel.

Stappen voor het afstemmen van prestaties

Voer de volgende stappen uit om de prestaties van uw service af te stemmen met de kopieeractiviteit:

  1. Haal een testgegevensset op en stel een basislijn in.

    Test uw pijplijn tijdens de ontwikkeling met behulp van de kopieeractiviteit op basis van een representatieve gegevensvoorbeeld. De gegevensset die u kiest, moet uw typische gegevenspatronen weergeven op de volgende kenmerken:

    • Mapstructuur
    • Bestandspatroon
    • Gegevensschema

    En uw gegevensset moet groot genoeg zijn om de kopieerprestaties te evalueren. Het duurt minstens 10 minuten voordat de kopieeractiviteit is voltooid. Verzamel uitvoeringsdetails en prestatiekenmerken na bewaking van kopieeractiviteiten.

  2. Prestaties van één kopieeractiviteit maximaliseren:

    U wordt aangeraden eerst de prestaties te maximaliseren met behulp van één kopieeractiviteit.

    • Als de kopieeractiviteit wordt uitgevoerd in een Azure Integration Runtime:

      Begin met standaardwaarden voor Data-Integratie eenheden (DIU) en instellingen voor parallelle kopieerbewerkingen.

    • Als de kopieeractiviteit wordt uitgevoerd op een zelf-hostende Integration Runtime:

      U wordt aangeraden een toegewezen computer te gebruiken om IR te hosten. De computer moet gescheiden zijn van de server die als host fungeert voor het gegevensarchief. Begin met standaardwaarden voor parallelle kopieerinstelling en gebruik één knooppunt voor de zelf-hostende IR.

    Voer een prestatietest uit. Noteer de prestaties die zijn bereikt. Neem de werkelijke waarden op die worden gebruikt, zoals DIU's en parallelle kopieën. Raadpleeg controle van kopieeractiviteiten over het verzamelen van uitvoeringsresultaten en prestatie-instellingen die worden gebruikt. Meer informatie over het oplossen van problemen met de prestaties van kopieeractiviteiten om het knelpunt te identificeren en op te lossen.

    Voer aanvullende prestatietestuitvoeringen uit volgens de richtlijnen voor probleemoplossing en afstemming. Zodra één kopieeractiviteit wordt uitgevoerd, kunt u overwegen of u de cumulatieve doorvoer wilt maximaliseren door meerdere exemplaren gelijktijdig uit te voeren. Deze optie wordt besproken in het volgende genummerde opsommingsteken.

  3. Statistische doorvoer maximaliseren door meerdere exemplaren gelijktijdig uit te voeren:

    U hebt nu de prestaties van één kopieeractiviteit gemaximaliseerd. Als u de bovengrens voor doorvoer van uw omgeving nog niet hebt bereikt, kunt u meerdere kopieeractiviteiten parallel uitvoeren. U kunt parallel uitvoeren met behulp van besturingsstroomconstructies. Een dergelijke constructie is de For Each-lus. Zie de volgende artikelen over oplossingssjablonen voor meer informatie:

  4. Vouw de configuratie uit naar uw hele gegevensset.

    Wanneer u tevreden bent met de resultaten en prestaties van de uitvoering, kunt u de definitie en pijplijn uitbreiden om uw hele gegevensset te dekken.

Problemen met prestaties van kopieeractiviteit oplossen

Volg de stappen voor het afstemmen van prestaties om prestatietests voor uw scenario te plannen en uit te voeren. En leer hoe u het prestatieprobleem van elke kopieeractiviteit kunt oplossen vanuit de prestatieproblemen van kopieeractiviteiten oplossen.

Functies voor het optimaliseren van prestaties kopiëren

De service biedt de volgende functies voor prestatieoptimalisatie:

Eenheden voor gegevensintegratie

Een Data-Integratie-eenheid (DIU) is een meting die de kracht van één eenheid in Azure Data Factory- en Synapse-pijplijnen vertegenwoordigt. Energie is een combinatie van CPU-, geheugen- en netwerkresourcetoewijzing. DIU is alleen van toepassing op Azure Integration Runtime. DIU is niet van toepassing op zelf-hostende Integration Runtime. Klik hier voor meer informatie.

Schaalbaarheid van zelf-hostende Integration Runtime

Mogelijk wilt u een toenemende gelijktijdige workload hosten. Of misschien wilt u betere prestaties bereiken op het niveau van uw huidige workload. U kunt de schaal van de verwerking verbeteren op de volgende manieren:

  • U kunt de zelf-hostende IR omhoog schalen door het aantal gelijktijdige taken te verhogen dat op een knooppunt kan worden uitgevoerd.
    Omhoog schalen werkt alleen als de processor en het geheugen van het knooppunt minder dan volledig worden gebruikt.
  • U kunt de zelf-hostende IR uitschalen door meer knooppunten (machines) toe te voegen.

Zie voor meer informatie:

Parallelle kopie

U kunt de parallelCopies eigenschap instellen om de parallelle uitvoering aan te geven die u wilt gebruiken voor de kopieeractiviteit. U kunt deze eigenschap beschouwen als het maximum aantal threads binnen de kopieeractiviteit. De threads werken parallel. De threads lezen uit uw bron of schrijven naar uw sinkgegevensarchieven. Meer informatie.

Gefaseerde kopie

Met een gegevenskopieerbewerking kunnen de gegevens rechtstreeks naar het sinkgegevensarchief worden verzonden. U kunt er ook voor kiezen om Blob Storage te gebruiken als een tijdelijke faseringsopslag . Meer informatie.

Zie de andere artikelen over kopieeractiviteiten: