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:
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:
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.
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.
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:
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
- Skalierbarkeit der selbstgehosteten Integration Runtime (IR)
- Parallele Kopie
- Gestaffeltes Kopieren
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
- Features für die Leistungsoptimierung bei Kopieraktivitäten: Skalierbarkeit der selbstgehosteten Integration Runtime (IR)
- Erstellen und Konfigurieren einer selbstgehosteten Integration Runtime: Aspekte der Skalierung
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
Zugehöriger Inhalt
Weitere Informationen finden Sie in den anderen Artikeln zur Kopieraktivität:
- Kopieraktivität – Übersicht
- Troubleshoot copy activity performance (Problembehandlung bei der Leistung der Kopieraktivität)
- Features für die Leistungsoptimierung bei Kopieraktivitäten
- Verwenden von Azure Data Factory zum Migrieren von Daten aus einem Data Lake oder Data Warehouse zu Azure
- Migrieren von Daten aus Amazon S3 zu Azure Storage