Handbuch zur Leistung und Skalierbarkeit der Kopieraktivität

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

Gelegentlich möchten Sie eine umfangreiche Datenmigration von Data Lake oder Enterprise Data Warehouse (EDW) zu Azure durchführen. Ein anderes Mal möchten Sie für Big Data-Analysen große Datenmengen aus verschiedenen Quellen in Azure erfassen. In jedem Fall ist es entscheidend, eine optimale Leistung und Skalierbarkeit zu erreichen.

Azure Data Factory- und Azure Synapse Analytics-Pipelines bieten einen Mechanismus zum Erfassen von Daten mit den folgenden Vorteilen:

  • Verarbeitet große Datenmengen
  • Ist äußerst leistungsfähig
  • Ist kostengünstig

Dadurch können technische Fachkräfte für Daten skalierbare und leistungsstarke Pipelines für die Datenerfassung erstellen.

Nach dem Lesen dieses Artikels können Sie die folgenden Fragen beantworten:

  • Welche Leistung und Skalierbarkeit kann ich mit der Kopieraktivität in Datenmigrations- und Datenerfassungsszenarios erzielen?
  • Welche Schritte muss ich ausführen, um die Leistung der Kopieraktivität zu optimieren?
  • Welche Leistungsoptimierungen kann ich für eine einzelne Kopieraktivitätsausführung nutzen?
  • Welche anderen externen Faktoren müssen bei der Optimierung der Kopierleistung berücksichtigt werden?

Hinweis

Falls Sie mit dem grundlegenden Konzept der Kopieraktivität nicht vertraut sind, finden Sie weitere Informationen unter Kopieraktivität – Übersicht, bevor Sie sich mit diesem Artikel beschäftigen.

Mit Azure Data Factory- und Synapse-Pipelines erreichbare Kopierleistung und Skalierbarkeit

Azure Data Factory- und Synapse-Pipelines bieten eine serverlose Architektur, die Parallelität auf verschiedenen Ebenen ermöglicht.

Diese Architektur ermöglicht es Ihnen, Pipelines zu entwickeln, die den Datenverschiebungsdurchsatz für Ihre Umgebung maximieren. Diese Pipelines nutzen die folgenden Ressourcen vollständig:

  • Netzwerkbandbreite zwischen den Quell- und Zieldatenspeichern
  • Eingabe/Ausgabe-Vorgänge pro Sekunde (IOPS) und Bandbreite des Quell- oder Zieldatenspeichers

Diese volle Auslastung bedeutet, dass Sie den Gesamtdurchsatz durch Messung des Mindestdurchsatzes einschätzen können, der mit den folgenden Ressourcen zur Verfügung steht:

  • Quelldatenspeicher
  • Zieldatenspeicher
  • Netzwerkbandbreite zwischen den Quell- und Zieldatenspeichern

Die folgende Tabelle zeigt die Berechnung der Dauer der Datenverschiebung. Die Dauer in jeder Zelle wird basierend auf einer bestimmten Netzwerk- und Datenspeicherbandbreite und einer bestimmten Größe der Datennutzlast berechnet.

Hinweis

Die unten angegebene Dauer soll die erreichbare Leistung in einer umfassenden Datenintegrationslösung darstellen. Dazu wird mindestens eine der Leistungsoptimierungstechniken verwendet, die unter Features für die Leistungsoptimierung von Kopiervorgängen beschrieben sind, einschließlich der Verwendung von ForEach zum Partitionieren und Erzeugen mehrerer gleichzeitiger Kopieraktivitäten. Es wird empfohlen, die Schritte unter Schritte zur Optimierung der Leistung zu befolgen, um die Kopierleistung für Ihr spezifisches Dataset und Ihre Systemkonfiguration zu optimieren. Sie sollten die in den Leistungsoptimierungstests ermittelten Zahlen für die Planung der Produktionsbereitstellung, die Kapazitätsplanung und die Abrechnungsprognose verwenden.

 

Datengröße /
bandwidth
50 MBit/s 100 MBit/s 500 MBit/s 1 GBit/s 5 GBit/s 10 GBit/s 50 GBit/s
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 h 2,3 h 0,5 h 0,2 h 0,05 h 0,02 h 0,0 h
1 TB 46,6 h 23,3 h 4,7 h 2,3 h 0,5 h 0,2 h 0,05 h
10 TB 19,4 Tage 9,7 Tage 1,9 Tage 0,9 Tage 0,2 Tage 0,1 Tage 0,02 Tage
100 TB 194,2 Tage 97,1 Tage 19,4 Tage 9,7 Tage 1,9 Tage 1 Tag 0,2 Tage
1 PB 64,7 Monate 32,4 Monate 6,5 Monate 3,2 Monate 0,6 Monate 0,3 Monate 0,06 Monate
10 PB 647,3 Monate 323,6 Monate 64,7 Monate 31,6 Monate 6,5 Monate 3,2 Monate 0,6 Monate

Die Kopieraktivität kann auf verschiedenen Ebenen skaliert werden:

How copy scales

  • Mit der Ablaufsteuerung können mehrere Kopieraktivitäten parallel gestartet werden (z. B. per ForEach-Schleife).

  • Eine einzelne Kopieraktivität kann skalierbare Computeressourcen nutzen.

    • Bei Verwendung der Azure Integration Runtime (IR) können Sie bis zu 256 Datenintegrationseinheiten (DIUs) für jede Kopieraktivität auf serverlose Weise angeben.
    • Wenn Sie selbst gehostete IR verwenden, können Sie eine der folgenden Ansätze verwenden:
      • Skalieren Sie den Computer manuell hoch.
      • Skalieren Sie auf mehrere Computer ( bis zu 4 Knoten) auf, und eine einzelne Kopieraktivität partitioniert ihre Dateigruppe über alle Knoten.
  • Für eine einzelne Kopieraktivität werden mehrere Threads parallel genutzt, um für den Datenspeicher Lese- und Schreibvorgänge durchzuführen.

Schritte zur Optimierung der Leistung

Führen Sie die folgenden Schritte aus, um die Leistung Ihres Diensts mit der Kopieraktivität zu verbessern:

  1. Wählen Sie ein Testdataset aus, und legen Sie eine Baseline fest.

    Testen Sie Ihre Pipeline mit der Kopieraktivität während der Entwicklung mit repräsentativen Beispieldaten. Das von Ihnen gewählte Dataset sollte Ihre typischen Datenmuster zusammen mit den folgenden Attributen darstellen:

    • Ordnerstruktur
    • Dateimuster
    • Datenschema

    Und Ihr Dataset sollte ausreichend groß sein, um die Kopierleistung auswerten zu können. Bei einer geeigneten Größe dauert es mindestens 10 Minuten, bis die Kopieraktivität abgeschlossen ist. Sammeln Sie Ausführungsdetails und Leistungsmerkmale, und folgen Sie dabei der Überwachung der Kopieraktivität.

  2. So maximieren Sie die Leistung einer einzelnen Kopieraktivität:

    Wir empfehlen, dass Sie zunächst die Leistung mit einer einzelnen Kopieraktivität maximieren.

    • Bei Ausführung der Kopieraktivität in einer Azure Integration Runtime:

      Beginnen Sie mit den Standardwerten für Datenintegrationseinheiten (DIU) und Paralleles Kopieren.

    • Bei Ausführung der Kopieraktivität in einer selbstgehosteten Integration Runtime:

      Es wird empfohlen, IR auf einem dedizierten Computer zu hosten. Der Computer sollte vom Server, auf dem sich der Datenspeicher befindet, getrennt sein. Beginnen Sie mit den Standardwerten für Paralleles Kopieren, und verwenden Sie einen einzelnen Knoten für die selbstgehostete Integration Runtime.

    Führen Sie einen Leistungstestlauf durch. Notieren Sie sich die erzielte Leistung. Schließen Sie die tatsächlich verwendeten Werte ein, z. B. DIUs und parallele Kopien. Einzelheiten zum Erfassen von Testlaufergebnissen und zu verwendeten Leistungseinstellungen finden Sie unter Überwachen der Kopieraktivität. Erfahren Sie, wie Sie Probleme bei der Leistung der Kopieraktivität beheben können, um den Engpass zu identifizieren und zu beheben.

    Führen Sie weitere Leistungstests durch, indem Sie den Leitfaden für die Problembehandlung und die Optimierung verwenden. Wenn für Ausführungen einer einzelnen Kopieraktivität kein besserer Durchsatz mehr erzielt werden kann, sollten Sie eine Maximierung des aggregierten Durchsatzes erwägen, indem Sie mehrere Kopiervorgänge gleichzeitig ausführen. Diese Option wird im nächsten nummerierten Aufzählungspunkt erörtert.

  3. So maximieren Sie den aggregierten Durchsatz durch paralleles Ausführen mehrerer Kopiervorgänge:

    Mittlerweile haben Sie die Leistung einer einzelnen Kopieraktivität maximiert. Wenn Sie die Durchsatzobergrenzen Ihrer Umgebung noch nicht erreicht haben, können Sie mehrere Kopieraktivitäten parallel ausführen. Mithilfe von Ablaufsteuerungskonstrukten sind parallele Ausführungen möglich. Ein solches Konstrukt ist die „For Each“-Schleife. Weitere Informationen finden Sie in den folgenden Artikeln über Lösungsvorlagen:

  4. Erweitern der Konfiguration auf das gesamte Dataset.

    Wenn Sie mit den Ausführungsergebnissen und mit der Leistung zufrieden sind, können Sie die Definition und die Pipeline auf Ihr gesamtes Dataset erweitern.

Problembehandlung für die Leistung der Kopieraktivität

Führen Sie die Schritte zur Optimierung der Leistung aus, um den Leistungstest für Ihr Szenario zu planen und durchzuführen. Informieren Sie sich auch unter Problembehandlung für die Leistung der Kopieraktivität darüber, wie Sie Leistungsprobleme bei der Ausführung von einzelnen Kopieraktivitäten beheben.

Features für die Leistungsoptimierung von Kopiervorgängen

Der Dienst bietet die folgenden Leistungsoptimierungsfeatures:

Datenintegrationseinheiten

Eine Datenintegrationseinheit (DIU) ist ein Measure, das die Leistung einer einzelnen Einheit in Azure Data Factory- und Synapse-Pipelines darstellt. Leistung ist eine Kombination aus CPU-, Arbeitsspeicher- und Netzwerkressourcenzuordnung. DIU gilt nur für Azure Integration Runtime. DIU gilt nicht für die selbst gehostete Integration Runtime. Hier erhalten Sie weitere Informationen.

Skalierbarkeit der selbstgehosteten Integration Runtime (IR)

Vielleicht möchten Sie eine zunehmende gleichzeitige Workload hosten. Oder Sie möchten vielleicht eine höhere Leistung bei Ihrer derzeitigen Workload erreichen. Sie können den Umfang der Verarbeitung durch die folgenden Ansätze erweitern:

  • Sie können die selbst gehostete IR hochskalieren, indem Sie die Anzahl der gleichzeitigen Aufträge erhöhen, die auf einem Knoten ausgeführt werden können.
    Das Hochskalieren funktioniert nur, wenn der Prozessor und der Arbeitsspeicher des Knotens nicht voll ausgelastet sind.
  • Sie können die selbst gehostete IR aufskalieren, indem Sie weitere Knoten (Computer) hinzufügen.

Weitere Informationen finden Sie unter

Parallele Kopie

Sie können die parallelCopies-Eigenschaft festlegen, um die Parallelität anzugeben, die für die Kopieraktivität verwendet werden soll. Betrachten Sie diese Eigenschaft als die maximale Anzahl von Threads innerhalb der Kopieraktivität. Die Threads arbeiten parallel. Die Threads lesen entweder aus Ihrer Quelle oder schreiben in Ihre Senkendatenspeicher. Weitere Informationen.

gestaffeltem Kopieren

Ein Datenkopiervorgang kann die Daten direkt an den Senkendatenspeicher senden. Alternativ können Sie Blobspeicher auch als Stagingzwischenspeicher verwenden. Weitere Informationen

Weitere Informationen finden Sie in den anderen Artikeln zur Kopieraktivität: