handleiding voor Copy activity prestaties en schaalbaarheid

Van toepassing op: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory in Microsoft Fabric is de volgende generatie van Azure Data Factory, met een eenvoudigere architectuur, ingebouwde AI en nieuwe functies. Als u nieuw bent in gegevensintegratie, begint u met Fabric Data Factory. Bestaande ADF-workloads kunnen upgraden naar Fabric om toegang te krijgen tot nieuwe mogelijkheden voor gegevenswetenschap, realtime analyses en rapportage.

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 kostenefficiënt

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?

Note

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 waarmee parallelle uitvoering op verschillende niveaus mogelijk is.

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
  • Doelgegevensopslag
  • 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.

Note

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 minuten.
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 maand 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:

Schalen van kopiëren

  • 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 (DIUs) opgeven voor elke kopieeractiviteit, serverloos.
    • 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 datastore met behulp van meerdere threads gelijktijdig.

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 tijdens de ontwikkeling uw pijplijn met de activiteit 'Kopiëren' op een representatief gegevensmonster. 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 op 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-gehoste 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 de bewaking van kopieeractiviteiten over het verzamelen van uitvoeringsresultaten en gebruikte prestatie-instellingen. Meer informatie over het oplossen van problemen met de prestaties van kopieeractiviteiten om het knelpunt te identificeren en op te lossen.

    Herhalen om meer prestatietestuitvoeringen uit te voeren volgens de richtlijnen voor probleemoplossing en afstemming. Als het uitvoeren van één kopieeractiviteit niet tot betere doorvoer leidt, overweeg dan om de cumulatieve doorvoer te maximaliseren door meerdere exemplaren gelijktijdig uit te voeren. Deze optie wordt besproken in de volgende genummerde punt.

  3. Hoe de geaggregeerde doorvoer te maximaliseren door meerdere kopieën gelijktijdig uit te voeren:

    U hebt nu de prestaties van één kopieeractiviteit gemaximaliseerd. Als u nog geen hogere doorvoerlimieten van uw omgeving 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 Copy-activiteit 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 DIU (Data Integration Unit) 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 zelfgehoste 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-gehoste IR opschalen door het aantal gelijktijdige taken dat op een knooppunt kan worden uitgevoerd te verhogen.
    Opschalen werkt alleen als de processor en het geheugen van het knooppunt niet volledig benut worden.
  • 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.

Opgestelde 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: