Handbuch zur Leistung und Optimierung der KopieraktivitätCopy activity performance and tuning guide

Die Azure Data Factory-Kopieraktivität bietet eine erstklassige, sichere und zuverlässige Lösung zum Laden von Daten mit hoher Leistung.The Azure Data Factory copy activity delivers a first-class secure, reliable, and high-performance data loading solution. Sie können damit Dutzende von Terabytes an Daten täglich zwischen einer großen Vielzahl von Cloud- und lokalen Datenspeichern kopieren.You can use it to copy tens of terabytes of data every day across a rich variety of cloud and on-premises data stores. Schnelles Datenladen ist wesentlich, um sicherzustellen, dass Sie sich auf das „Big Data“-Kernproblem konzentrieren können: Erstellen erweiterter Analyselösungen und tiefe Einblicke in all diese Daten.Fast data-loading performance is key to ensure that you can focus on the core big data problem: building advanced analytics solutions and getting deep insights from all that data.

Azure bietet eine Reihe von Datenspeicher- und Data Warehouse-Lösungen auf Unternehmensniveau.Azure provides a set of enterprise-grade data storage and data warehouse solutions. Die Kopieraktivität bietet ein hochoptimiertes Datenladeverfahren, das einfach zu konfigurieren und einzurichten ist.The copy activity offers a highly optimized data loading experience that's easy to configure and set up. Mit nur einer Kopieraktivität können Sie Daten in Folgendes laden:With a single copy activity, you can load data into:

  • Azure SQL Data Warehouse mit 1,2 Gbit/sAzure SQL Data Warehouse at 1.2 GBps.
  • Azure Blob Storage mit 1,0 Gbit/sAzure Blob storage at 1.0 GBps.
  • Azure Data Lake Store mit 1,0 Gbit/sAzure Data Lake Store at 1.0 GBps.

Dieser Artikel beschreibt Folgendes:This article describes:

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.If you aren't familiar with the copy activity in general, see the copy activity overview before you read this article.

LeistungsreferenzPerformance reference

Als Referenz ist in der folgenden Tabelle der Durchsatzwert beim Kopieren in MBit/s für die angegebenen Paare aus Quelle und Senke in einer einzelnen Kopieraktivitätsausführung basierend auf internen Tests aufgeführt.As a reference, the following table shows the copy throughput number in MBps for the given source and sink pairs in a single copy activity run based on in-house testing. Zu Vergleichszwecken wird zudem veranschaulicht, wie unterschiedliche Einstellungen der Datenintegrationseinheiten oder der Skalierbarkeit der selbstgehosteten Integration Runtime (mehrere Knoten) zu einer verbesserten Kopierleistung beitragen können.For comparison, it also demonstrates how different settings of Data Integration Units or self-hosted integration runtime scalability (multiple nodes) can help on copy performance.

Leistungsmatrix

Wichtig

Wenn die Kopieraktivität in einer Azure-Integration Runtime ausgeführt wird, sind mindestens zwei Datenintegrationseinheiten (früher als Einheiten der Clouddatenverschiebungen bezeichnet) erforderlich.When the copy activity runs on an Azure integration runtime, the minimal allowed Data Integration Units (formerly known as Data Movement Units) is two. Wenn keine Angabe erfolgt, finden Sie unter Datenintegrationseinheiten Informationen zu den Standard-Datenintegrationseinheiten.If not specified, see the default Data Integration Units being used in Data Integration Units.

Beachten Sie Folgendes:Points to note:

  • Der Durchsatz wird mithilfe der folgenden Formel berechnet: [Größe der aus der Quelle gelesenen Daten]/[Ausführungsdauer der Kopieraktivität].Throughput is calculated by using the following formula: [size of data read from source]/[copy activity run duration].
  • Die Leistungsreferenzwerte in der Tabelle wurden mit einem TPC-H-Dataset in einer einzelnen Kopieraktivitätsausführung gemessen.The performance reference numbers in the table were measured by using a TPC-H dataset in a single copy activity run. Testdateien für dateibasierte Speicher sind mehrere Dateien mit einer Größe von 10 GB.Test files for file-based stores are multiple files with 10 GB in size.
  • In Azure-Datenspeichern befinden sich Quelle und Senke in der gleichen Azure-Region.In Azure data stores, the source and sink are in the same Azure region.
  • Bei hybriden Kopieraktivitäten zwischen lokalen und Clouddatenspeichern wurde jeder selbstgehostete Integration Runtime-Knoten auf einem Computer ausgeführt, bei dem es sich nicht um den Datenspeicher mit der folgenden Spezifikation gehandelt hat.For hybrid copy between on-premises and cloud data stores, each self-hosted integration runtime node was running on a machine that was separate from the data store with the following specification. Bei Ausführung einer einzelnen Aktivität wurde vom Kopiervorgang nur ein kleiner Teil der CPU, des Arbeitsspeichers und der Netzwerkbandbreite des Testcomputers in Anspruch genommen.When a single activity was running, the copy operation consumed only a small portion of the test machine's CPU, memory, or network bandwidth.
    CPUCPU Intel Xeon E5-2660 v2 (32 Kerne, 2,20 GHz)32 cores 2.20 GHz Intel Xeon E5-2660 v2
    ArbeitsspeicherMemory 128 GB128 GB
    NetzwerkNetwork Internetschnittstelle: 10 Gbit/s; Intranetschnittstelle: 40 GBit/sInternet interface: 10 Gbps; intranet interface: 40 Gbps

Tipp

Mit weiteren DIUs können Sie einen höheren Durchsatz erzielen.You can achieve higher throughput by using more DIUs. Beispielsweise können Sie mit 100 DIUs Daten mit einer Rate von 1,0 GBit/s aus Azure Blob Storage nach Azure Data Lake Store kopieren.For example, with 100 DIUs, you can copy data from Azure Blob storage into Azure Data Lake Store at 1.0 GBps. Weitere Informationen zu diesem Feature und dem unterstützten Szenario finden Sie im Abschnitt Datenintegrationseinheiten.For more information about this feature and the supported scenario, see the Data Integration Units section.

DatenintegrationseinheitenData Integration Units

Eine Datenintegrationseinheit ist eine Messgröße für die Leistungsfähigkeit (Kombination aus zugeteilten CPU-, Speicher- und Netzwerkressourcen) einer einzelnen Einheit in Azure Data Factory.A Data Integration Unit is a measure that represents the power (a combination of CPU, memory, and network resource allocation) of a single unit in Azure Data Factory. Die Datenintegrationseinheit gilt nur für die Azure-Integration Runtime, aber nicht für selbstgehostete Integration Runtimes.Data Integration Unit only applies to Azure integration runtime, but not self-hosted integration runtime.

Zum Ausführen einer Kopieraktivität sind mindestens zwei DIUs erforderlich.The minimal DIUs to empower a copy activity run is two. Wenn keine Angabe erfolgt, finden Sie in der folgenden Tabelle die Standard-DIUs, die in verschiedenen Kopierszenarien verwendet werden:If not specified, the following table lists the default DIUs used in different copy scenarios:

KopierszenarioCopy scenario Vom Dienst bestimmte Standard-DIUsDefault DIUs determined by service
Kopieren von Daten zwischen dateibasierten SpeichernCopy data between file-based stores Zwischen 4 und 32, je nach Anzahl und Größe der DateienBetween 4 and 32 depending on the number and size of the files
Kopieren von Daten nach Azure SQL-Datenbank oder Azure Cosmos DBCopy data to Azure SQL Database or Azure Cosmos DB Zwischen 4 und 16, abhängig von der Dienstebene der Azure SQL-Senkendatenbank oder Cosmos DB (Anzahl von DTUs/RUs)Between 4 and 16 depending on the sink Azure SQL Database's or Cosmos DB's tier (number of DTUs/RUs)
Alle anderen KopierszenarienAll the other copy scenarios 44

Sie können diese Standardeinstellung überschreiben, indem Sie wie folgt einen Wert für die dataIntegrationUnits-Eigenschaft angeben.To override this default, specify a value for the dataIntegrationUnits property as follows. Als zulässige Werte für die dataIntegrationUnits-Eigenschaft können Werte bis 256 angegeben werden.The allowed values for the dataIntegrationUnits property is up to 256. Die tatsächliche Anzahl von DIUs, die der Kopiervorgang zur Laufzeit verwendet, entspricht maximal dem konfigurierten Wert. Dies ist abhängig von Ihrem Datenmuster.The actual number of DIUs that the copy operation uses at run time is equal to or less than the configured value, depending on your data pattern. Informationen zum Umfang des möglichen Leistungsgewinns durch Konfigurieren weiterer Einheiten für eine bestimmte Kopierquelle und -senke finden Sie in der Leistungsreferenz.For information about the level of performance gain you might get when you configure more units for a specific copy source and sink, see the performance reference.

Sie können die für die einzelnen Kopierausführungen verwendeten DIUs in der Ausgabe der Kopieraktivität sehen, wenn Sie eine Aktivitätsausführung überwachen.You can see the DIUs used for each copy run in the copy activity output when you monitor an activity run. Weitere Informationen finden Sie unter Überwachung der Kopieraktivität.For more information, see Copy activity monitoring.

Hinweis

Ein höherer Wert als vier für DIUs gilt derzeit nur, wenn Sie mehrere Dateien aus Azure Storage, Azure Data Lake Storage, Amazon S3, Google Cloud Storage, Cloud-FTP oder Cloud-SFTP in einen beliebigen anderen Clouddatenspeicher kopieren.Setting of DIUs larger than four currently applies only when you copy multiple files from Azure Storage, Azure Data Lake Storage, Amazon S3, Google Cloud Storage, cloud FTP, or cloud SFTP to any other cloud data stores.

BeispielExample

"activities":[
    {
        "name": "Sample copy activity",
        "type": "Copy",
        "inputs": [...],
        "outputs": [...],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
            },
            "sink": {
                "type": "AzureDataLakeStoreSink"
            },
            "dataIntegrationUnits": 32
        }
    }
]

Auswirkungen von Datenintegrationseinheiten auf die AbrechnungData Integration Units billing impact

Denken Sie daran, dass die Berechnung der Gebühren auf der Gesamtdauer des Kopiervorgangs basiert.Remember that you're charged based on the total time of the copy operation. Die Gesamtdauer, die Ihnen für die Datenverschiebungen in Rechnung gestellt wird, ist die Summe der DIU-übergreifenden Dauer.The total duration you're billed for data movement is the sum of duration across DIUs. Wenn ein Kopierauftrag mit zwei Cloudeinheiten bislang eine Stunde gedauert hat und nun mit acht Cloudeinheiten 15 Minuten dauert, fällt die Gesamtrechnung in etwa gleich hoch aus.If a copy job used to take one hour with two cloud units and now it takes 15 minutes with eight cloud units, the overall bill remains almost the same.

Parallele KopieParallel copy

Mithilfe der parallelCopies -Eigenschaft können Sie die gewünschte Parallelität für die Kopieraktivität angeben.You can use the parallelCopies property to indicate the parallelism that you want the copy activity to use. Diese Eigenschaft können Sie sich als die maximale Anzahl von Threads in einer Kopieraktivität vorstellen, die parallel aus Quelldatenspeichern lesen oder in Senkendatenspeicher schreiben können.You can think of this property as the maximum number of threads within the copy activity that can read from your source or write to your sink data stores in parallel.

Für jede Kopieraktivitätsausführung ermittelt Azure Data Factory die Anzahl paralleler Kopien, die zum Kopieren von Daten aus dem Quelldatenspeicher sowie zum Kopieren von Daten in den Zieldatenspeicher verwendet werden.For each copy activity run, Azure Data Factory determines the number of parallel copies to use to copy data from the source data store and to the destination data store. Die verwendete Standardanzahl paralleler Kopien hängt von der Art der verwendeten Quelle und Senke ab.The default number of parallel copies that it uses depends on the type of source and sink that you use.

KopierszenarioCopy scenario Standardanzahl der vom Dienst ermittelten parallelen KopienDefault parallel copy count determined by service
Kopieren von Daten zwischen dateibasierten SpeichernCopy data between file-based stores Dies ist abhängig von der Größe der Dateien und der Anzahl DIUs, die zum Kopieren von Daten zwischen zwei Clouddatenspeichern verwendet werden, oder von der physischen Konfiguration des Computers der selbstgehosteten Integration Runtime-Infrastruktur.Depends on the size of the files and the number of DIUs used to copy data between two cloud data stores, or the physical configuration of the self-hosted integration runtime machine.
Kopieren von Daten aus einem beliebigen Quellspeicher im Azure-TabellenspeicherCopy data from any source store to Azure Table storage 44
Alle anderen KopierszenariosAll other copy scenarios 11

Tipp

Beim Kopieren von Daten zwischen dateibasierten Speichern bietet das Standardverhalten in der Regel den bestmöglichen Durchsatz.When you copy data between file-based stores, the default behavior usually gives you the best throughput. Das Standardverhalten wird automatisch basierend auf dem Muster Ihrer Quelldatei festgelegt.The default behavior is auto-determined based on your source file pattern.

Sie können den Standardwert jedoch überschreiben und einen Wert für die Eigenschaft parallelCopies angeben, um die Last für die Computer zu steuern, auf denen Ihre Datenspeicher gehostet werden, oder um die Kopierleistung zu optimieren.To control the load on machines that host your data stores, or to tune copy performance, you can override the default value and specify a value for the parallelCopies property. Der Wert muss eine ganze Zahl größer als oder gleich 1 sein.The value must be an integer greater than or equal to 1. Zur Laufzeit verwendet die Kopieraktivität maximal den von Ihnen festgelegten Wert, um eine optimale Leistung zu erzielen.At run time, for the best performance, the copy activity uses a value that is less than or equal to the value that you set.

"activities":[
    {
        "name": "Sample copy activity",
        "type": "Copy",
        "inputs": [...],
        "outputs": [...],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
            },
            "sink": {
                "type": "AzureDataLakeStoreSink"
            },
            "parallelCopies": 32
        }
    }
]

Beachten Sie Folgendes:Points to note:

  • Beim Kopieren von Daten zwischen dateibasierten Speichern bestimmt parallelCopies die Parallelität auf Dateiebene.When you copy data between file-based stores, parallelCopies determines the parallelism at the file level. Die Segmentierung innerhalb einer einzelnen Datei erfolgt darunter automatisch und transparent.The chunking within a single file happens underneath automatically and transparently. Dadurch wird die am besten geeignete Segmentgröße für einen angegebenen Quelldatenspeichertyp verwendet, um Daten parallel und orthogonal in parallelCopies zu laden.It's designed to use the best suitable chunk size for a given source data store type to load data in parallel and orthogonal to parallelCopies. Die tatsächliche Anzahl paralleler Kopien, die der Datenverschiebungsdienst zur Laufzeit für den Kopiervorgang verwendet, entspricht maximal der Anzahl vorhandener Dateien.The actual number of parallel copies the data movement service uses for the copy operation at run time is no more than the number of files you have. Bei Verwendung des Kopierverhaltens mergeFile kann die Kopieraktivität keine Parallelität auf Dateiebene nutzen.If the copy behavior is mergeFile, the copy activity can't take advantage of file-level parallelism.
  • Beim Kopieren von Daten aus nicht dateibasierten Speichern (außer den Connectors für Oracle, Teradata, SAP-Tabelle und SAP Open Hub als Quelle mit aktivierter Datenpartitionierung) in dateibasierte Speicher ignoriert der Datenverschiebungsdienst die parallelCopies-Eigenschaft.When you copy data from stores that are not file-based (except Oracle, Teradata, SAP Table, and SAP Open Hub connector as source with data partitioning enabled) to stores that are file-based, the data movement service ignores the parallelCopies property. Die Parallelität wird in diesem Fall also nicht angewendet, auch wenn sie angegeben wurde.Even if parallelism is specified, it's not applied in this case.
  • Die parallelCopies-Eigenschaft ist orthogonal zu dataIntegrationUnits.The parallelCopies property is orthogonal to dataIntegrationUnits. Die erste Eigenschaft wird für alle Datenintegrationseinheiten gezählt.The former is counted across all the Data Integration Units.
  • Berücksichtigen Sie beim Angeben eines Werts für die parallelCopies-Eigenschaft die höhere Auslastung Ihrer Quell- und Senkendatenspeicher.When you specify a value for the parallelCopies property, consider the load increase on your source and sink data stores. Berücksichtigen Sie auch den Lastanstieg zur selbstgehosteten Integration Runtime, wenn die Kopieraktivität davon abhängt, z. B. bei Hybridkopiervorgängen.Also consider the load increase to the self-hosted integration runtime if the copy activity is empowered by it, for example, for hybrid copy. Dieser Lastanstieg tritt insbesondere auf, wenn Sie über mehrere Aktivitäten oder gleichzeitige Ausführungen der gleichen Aktivitäten verfügen, die für den gleichen Datenspeicher ausgeführt werden.This load increase happens especially when you have multiple activities or concurrent runs of the same activities that run against the same data store. Sollten Sie eine Überlastung des Datenspeichers oder der selbstgehosteten Integration Runtime-Infrastruktur feststellen, verringern Sie den Wert parallelCopies, um die Last zu reduzieren.If you notice that either the data store or the self-hosted integration runtime is overwhelmed with the load, decrease the parallelCopies value to relieve the load.

gestaffeltem KopierenStaged copy

Beim Kopieren von Daten aus einem Quelldatenspeicher in einen Senkendatenspeicher können Sie ggf. Blob Storage als Stagingzwischenspeicher verwenden.When you copy data from a source data store to a sink data store, you might choose to use Blob storage as an interim staging store. Staging ist besonders in folgenden Fällen hilfreich:Staging is especially useful in the following cases:

  • Sie möchten Daten aus verschiedenen Datenspeichern über PolyBase in SQL Data Warehouse erfassen.You want to ingest data from various data stores into SQL Data Warehouse via PolyBase. SQL Data Warehouse nutzt PolyBase als Mechanismus mit hohem Durchsatz, um große Datenmengen in SQL Data Warehouse zu laden.SQL Data Warehouse uses PolyBase as a high-throughput mechanism to load a large amount of data into SQL Data Warehouse. Die Quelldaten müssen sich in Blob Storage oder in Azure Data Lake Store befinden und einige andere Kriterien erfüllen.The source data must be in Blob storage or Azure Data Lake Store, and it must meet additional criteria. Wenn Sie Daten aus einem Blob Storage- oder Azure Data Lake Store-fremden Datenspeicher laden, können Sie das Kopieren von Daten über einen Staging-Blob-Zwischenspeicher aktivieren.When you load data from a data store other than Blob storage or Azure Data Lake Store, you can activate data copying via interim staging Blob storage. In diesem Fall führt Azure Data Factory die erforderlichen Datentransformationen durch, um die Anforderungen von PolyBase zu erfüllen.In that case, Azure Data Factory performs the required data transformations to ensure that it meets the requirements of PolyBase. Anschließend werden die Daten mithilfe von PolyBase auf effiziente Art und Weise in SQL Data Warehouse geladen.Then it uses PolyBase to load data into SQL Data Warehouse efficiently. Weitere Informationen finden Sie unter Use PolyBase to load data into Azure SQL Data Warehouse (Verwenden von PolyBase zum Laden von Daten in Azure SQL Data Warehouse).For more information, see Use PolyBase to load data into Azure SQL Data Warehouse.
  • Hybriddatenverschiebungen (also das Kopieren aus einem lokalen Datenspeicher in einen Clouddatenspeicher) können bei einer langsamen Netzwerkverbindung eine Weile dauern.Sometimes it takes a while to perform a hybrid data movement (that is, to copy from an on-premises data store to a cloud data store) over a slow network connection. Zur Verbesserung der Leistung können Sie gestaffeltes Kopieren verwenden, um die Daten lokal zu komprimieren und dadurch die Verschiebung in den Stagingdatenspeicher in der Cloud zu beschleunigen.To improve performance, you can use staged copy to compress the data on-premises so that it takes less time to move data to the staging data store in the cloud. Anschließend können Sie die Daten im Stagingspeicher wieder dekomprimieren, bevor Sie sie in den Zieldatenspeicher laden.Then you can decompress the data in the staging store before you load into the destination data store.
  • Aufgrund der IT-Richtlinien des Unternehmens sollten Sie mit Ausnahme der Ports 80 und 443 keine weiteren Ports in der Firewall öffnen.You don't want to open ports other than port 80 and port 443 in your firewall because of corporate IT policies. Ein Beispiel: Beim Kopieren von Daten aus einem lokalen Datenspeicher an eine Azure SQL-Datenbank- oder Azure SQL Data Warehouse-Senke muss die ausgehende TCP-Kommunikation über den Port 1433 sowohl für die Windows-Firewall als auch für die Unternehmensfirewall ermöglicht werden.For example, when you copy data from an on-premises data store to an Azure SQL Database sink or an Azure SQL Data Warehouse sink, you need to activate outbound TCP communication on port 1433 for both the Windows firewall and your corporate firewall. In diesem Szenario kann das gestaffelte Kopieren die selbstgehostete Integration Runtime nutzen, um zunächst Daten per HTTP oder HTTPS über den Port 443 an eine Blob Storage-Staginginstanz kopieren.In this scenario, staged copy can take advantage of the self-hosted integration runtime to first copy data to a Blob storage staging instance over HTTP or HTTPS on port 443. Anschließend können die Daten aus dem Blob Storage-Stagingspeicher in SQL-Datenbank oder in SQL Data Warehouse geladen werden.Then it can load the data into SQL Database or SQL Data Warehouse from Blob storage staging. Dadurch muss der Port 1433 nicht geöffnet werden.In this flow, you don't need to enable port 1433.

Funktionsweise des gestaffelten KopierensHow staged copy works

Bei aktivierter Stagingfunktion werden die Daten zunächst aus dem Quelldatenspeicher in den (von Ihnen bereitgestellten) Blob-Stagingspeicher kopiert.When you activate the staging feature, first the data is copied from the source data store to the staging Blob storage (bring your own). Anschließend werden die Daten dann aus dem Stagingdatenspeicher in den Senkendatenspeicher kopiert.Next, the data is copied from the staging data store to the sink data store. Dieser zweistufige Prozess wird automatisch von Azure Data Factory verwaltet.Azure Data Factory automatically manages the two-stage flow for you. Nach Abschluss der Datenverschiebung bereinigt Azure Data Factory außerdem temporäre Daten im Stagingspeicher.Azure Data Factory also cleans up temporary data from the staging storage after the data movement is complete.

gestaffeltem Kopieren

Wenn Sie die Datenverschiebung unter Verwendung des Stagingspeichers aktivieren, können Sie angeben, ob die Daten vor dem Verschieben aus dem Quelldatenspeicher in einen Zwischen- oder Stagingdatenspeicher komprimiert und vor dem Verschieben der Daten aus einem Zwischen- oder Stagingdatenspeicher in den Senkendatenspeicher wieder dekomprimiert werden sollen.When you activate data movement by using a staging store, you can specify whether you want the data to be compressed before you move data from the source data store to an interim or staging data store and then decompressed before you move data from an interim or staging data store to the sink data store.

Derzeit können Sie keine Daten zwischen zwei Datenspeichern kopieren, die über verschiedene selbstgehostete IRs verbunden sind, weder mit noch ohne gestaffeltes Kopieren.Currently, you can't copy data between two data stores that are connected via different Self-hosted IRs, neither with nor without staged copy. Für ein solches Szenario können Sie zwei explizit verkettete Kopiervorgänge konfigurieren, um von der Quelle zum Stagingspeicher und aus dem Stagingspeicher zur Senke zu kopieren.For such scenario, you can configure two explicitly chained copy activity to copy from source to staging then from staging to sink.

KonfigurationConfiguration

Konfigurieren Sie für die Kopieraktivität die Einstellung enableStaging, um anzugeben, ob die Daten vor dem Laden in einen Zielspeicher in Blobspeicher bereitgestellt werden sollen.Configure the enableStaging setting in the copy activity to specify whether you want the data to be staged in Blob storage before you load it into a destination data store. Wenn Sie enableStaging auf TRUE festlegen, müssen Sie zusätzliche Eigenschaften angeben. Diese sind in der folgenden Tabelle aufgeführt.When you set enableStaging to TRUE, specify the additional properties listed in the following table. Außerdem müssen Sie für das Staging einen verknüpften Azure Storage- oder Storage-SAS-Dienst erstellen, falls noch nicht vorhanden.You also need to create an Azure Storage or Storage shared access signature-linked service for staging if you don’t have one.

EigenschaftProperty BeschreibungDescription StandardwertDefault value ErforderlichRequired
enableStagingenableStaging Geben Sie an, ob Sie Daten über einen Stagingzwischenspeicher kopieren möchten.Specify whether you want to copy data via an interim staging store. FalseFalse NeinNo
linkedServiceNamelinkedServiceName Geben Sie den Namen eines verknüpften Diensts vom Typ AzureStorage an, der auf die Storage-Instanz verweist, die Sie als Stagingzwischenspeicher verwenden.Specify the name of an AzureStorage linked service, which refers to the instance of Storage that you use as an interim staging store.

Storage kann nicht mit einer Shared Access Signature (SAS) verwendet werden, um Daten über PolyBase in SQL Data Warehouse zu laden.You can't use Storage with a shared access signature to load data into SQL Data Warehouse via PolyBase. In allen anderen Szenarien ist dies hingegen problemlos möglich.You can use it in all other scenarios.
N/A Ja, wenn enableStaging auf „TRUE“ festgelegt ist.Yes, when enableStaging is set to TRUE
pathpath Geben Sie den gewünschten Blob Storage-Pfad für die bereitgestellten Daten an.Specify the Blob storage path that you want to contain the staged data. Wenn Sie keinen Pfad angeben, erstellt der Dienst einen Container zum Speichern der temporären Daten.If you don't provide a path, the service creates a container to store temporary data.

Geben Sie nur dann einen Pfad an, wenn Sie Storage mit einer Shared Access Signature verwenden oder sich die temporären Daten an einem bestimmten Speicherort befinden müssen.Specify a path only if you use Storage with a shared access signature, or you require temporary data to be in a specific location.
N/A NeinNo
enableCompressionenableCompression Gibt an, ob die Daten komprimiert werden sollen, bevor sie an das Ziel kopiert werden.Specifies whether data should be compressed before it's copied to the destination. Durch diese Einstellung wird die Menge der übertragenen Daten reduziert.This setting reduces the volume of data being transferred. FalseFalse NeinNo

Hinweis

Wenn Sie das gestaffelte Kopieren mit aktivierter Komprimierung verwenden, wird die Dienstprinzipal- oder MSI-Authentifizierung für das Staging eines verknüpften Blobdiensts nicht unterstützt.If you use staged copy with compression enabled, the service principal or MSI authentication for staging blob linked service isn't supported.

Hier sehen Sie eine Beispieldefinition der Kopieraktivität mit den Eigenschaften aus der obigen Tabelle:Here's a sample definition of a copy activity with the properties that are described in the preceding table:

"activities":[
    {
        "name": "Sample copy activity",
        "type": "Copy",
        "inputs": [...],
        "outputs": [...],
        "typeProperties": {
            "source": {
                "type": "SqlSource",
            },
            "sink": {
                "type": "SqlSink"
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingBlob",
                    "type": "LinkedServiceReference"
                },
                "path": "stagingcontainer/path",
                "enableCompression": true
            }
        }
    }
]

Auswirkungen auf die Abrechnung von gestaffeltem KopierenStaged copy billing impact

Die Abrechnung basiert auf zwei Aspekten: Dauer des Kopiervorgangs und Art der Kopie.You're charged based on two steps: copy duration and copy type.

  • Wenn Sie einen Stagingspeicher während eines Cloudkopiervorgangs (d. h. Kopieren von Daten aus einem Clouddatenspeicher in einen anderen Clouddatenspeicher. Beide Phasen werden von Azure-Integration Runtime unterstützt) verwenden, gilt folgende Formel: [Gesamtkopierdauer für Schritt 1 und 2] [Einzelpreis für Cloudkopien].When you use staging during a cloud copy, which is copying data from a cloud data store to another cloud data store, both stages empowered by Azure integration runtime, you're charged the [sum of copy duration for step 1 and step 2] x [cloud copy unit price].
  • Wenn Sie Staging während eines Hybridkopiervorgangs (d. h. Kopieren von Daten aus einem lokalen Datenspeicher in einen Clouddatenspeicher. Eine Phase wird von der selbstgehosteten Integration Runtime-Infrastruktur unterstützt) verwenden, gilt folgende Formel: [Dauer des Hybridkopiervorgangs] [Einzelpreis für Hybridkopien] + [Dauer des Cloudkopiervorgangs] [Einzelpreis für Cloudkopien].When you use staging during a hybrid copy, which is copying data from an on-premises data store to a cloud data store, one stage empowered by a self-hosted integration runtime, you're charged for [hybrid copy duration] x [hybrid copy unit price] + [cloud copy duration] x [cloud copy unit price].

Schritte zur Optimierung der LeistungPerformance tuning steps

Führen Sie diese Schritte aus, um die Leistung des Azure Data Factory-Diensts mit der Kopieraktivität zu verbessern.Take these steps to tune the performance of your Azure Data Factory service with the copy activity.

  1. Einrichten einer Baseline.Establish a baseline. Testen Sie Ihre Pipeline mit der Kopieraktivität in der Entwicklungsphase mit repräsentativen Beispieldaten.During the development phase, test your pipeline by using the copy activity against a representative data sample. Sammeln Sie Ausführungsdetails und Leistungsmerkmale, und folgen Sie dabei der Überwachung der Kopieraktivität.Collect execution details and performance characteristics following copy activity monitoring.

  2. Analysieren und Optimieren der Leistung.Diagnose and optimize performance. Sollte die Leistung in der Praxis nicht Ihren Erwartungen entsprechen, identifizieren Sie Leistungsengpässe.If the performance you observe doesn't meet your expectations, identify performance bottlenecks. Anschließend können Sie die Leistung optimieren, um Engpässe zu beseitigen oder deren Auswirkungen zu minimieren.Then, optimize performance to remove or reduce the effect of bottlenecks.

    In einigen Fällen wird bei der Ausführung einer Kopieraktivität in Azure Data Factory oben auf der Seite zur Überwachung der Kopieraktivität die Meldung „Tipps zur Leistungsoptimierung“ angezeigt, wie im folgenden Beispiel gezeigt.In some cases, when you run a copy activity in Azure Data Factory, you see a "Performance tuning tips" message on top of the copy activity monitoring page, as shown in the following example. Die Meldung informiert Sie über den Engpass, der für die jeweilige Kopierausführung identifiziert wurde.The message tells you the bottleneck that was identified for the given copy run. Zudem enthält sie Ratschläge, was Sie ändern können, um die Kopierdurchsatz zu steigern.It also guides you on what to change to boost copy throughput. Die Tipps zur Leistungsoptimierung bieten derzeit Vorschläge wie:The performance tuning tips currently provide suggestions like:

    • Verwenden Sie PolyBase, wenn Sie Daten in Azure SQL Data Warehouse kopieren.Use PolyBase when you copy data into Azure SQL Data Warehouse.
    • Erhöhen Sie die Azure Cosmos DB-Anforderungseinheiten oder Azure SQL-Datenbank-DTUs (Datenbankdurchsatzeinheiten), wenn die Ressource auf der Datenspeicherseite der Engpass ist.Increase Azure Cosmos DB Request Units or Azure SQL Database DTUs (Database Throughput Units) when the resource on the data store side is the bottleneck.
    • Entfernen Sie das unnötige gestaffelte Kopieren.Remove the unnecessary staged copy.

    Die Regeln für die Leistungsoptimierung werden auch schrittweise ergänzt werden.The performance tuning rules will be gradually enriched as well.

    Beispiel: Kopieren in Azure SQL-Datenbank mit Tipps für die LeistungsoptimierungExample: Copy into Azure SQL Database with performance tuning tips

    In diesem Beispiel stellt Azure Data Factory während eines Kopiervorgangs fest, dass die Azure SQL-Senkendatenbank eine hohe DTU-Auslastung erreicht, was die Schreibvorgänge verlangsamt.In this sample, during a copy run, Azure Data Factory notices the sink Azure SQL Database reaches high DTU utilization, which slows down the write operations. Der Vorschlag ist, die Azure SQL-Datenbankebene mit mehr DTUs zu erweitern.The suggestion is to increase the Azure SQL Database tier with more DTUs.

    Überwachung des Kopiervorgangs mit Tipps für die Leistungsoptimierung

    Im Folgenden finden Sie einige allgemeine Aspekte.In addition, the following are some common considerations. Eine vollständige Beschreibung der Leistungsdiagnose würde den Rahmen dieses Artikels sprengen.A full description of performance diagnosis is beyond the scope of this article.

  3. Erweitern der Konfiguration auf das gesamte Dataset.Expand the configuration to your entire 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.When you're satisfied with the execution results and performance, you can expand the definition and pipeline to cover your entire dataset.

Überlegungen zur selbstgehosteten Integration Runtime-InfrastrukturConsiderations for self-hosted integration runtime

Beachten Sie Folgendes, wenn Ihre Kopieraktivität in einer selbstgehosteten Integration Runtime-Infrastruktur ausgeführt wird:If your copy activity runs on a self-hosted integration runtime, note the following:

Setup: Es wird empfohlen, Integration Runtime auf einem dedizierten Computer zu hosten.Setup: We recommend that you use a dedicated machine to host integration runtime. Weitere Informationen finden Sie unter Integrationslaufzeit in Azure Data Factory.See Considerations for using self-hosted integration runtime.

Horizontales Skalieren: In einer einzelnen, logischen, selbstgehosteten Integration Runtime-Infrastruktur mit einem oder mehreren Knoten können mehrere Kopieraktivitäten gleichzeitig parallel ausgeführt werden.Scale out: A single logical self-hosted integration runtime with one or more nodes can serve multiple copy activity runs at the same time concurrently. Wenn Sie einen hohen Bedarf an Hybriddatenverschiebungen mit einer großen Anzahl an gleichzeitigen Ausführungen der Kopieraktivität oder mit einem umfangreichen Volumen an zu kopierenden Daten haben, sollten Sie das horizontale Skalieren der selbstgehosteten Integration Runtime-Infrastruktur erwägen, um für die Unterstützung des Kopierens weitere Ressourcen bereitzustellen.If you have heavy need on hybrid data movement either with a large number of concurrent copy activity runs or with a large volume of data to copy, consider scaling out the self-hosted integration runtime to provision more resources to empower copy.

Hinweise zur QuelleConsiderations for the source

AllgemeinGeneral

Stellen Sie sicher, dass der zugrundeliegende Datenspeicher nicht durch andere darauf oder dafür ausgeführte Workloads überlastet wird.Be sure that the underlying data store isn't overwhelmed by other workloads that are running on or against it.

Informationen zu Microsoft-Datenspeichern finden Sie in datenspeicherspezifischen Themen zur Überwachung und Optimierung.For Microsoft data stores, see monitoring and tuning topics that are specific to data stores. Hier können Sie sich über Leistungsmerkmale, die Minimierung von Antwortzeiten und die Maximierung des Durchsatzes informieren.These topics can help you understand data store performance characteristics and how to minimize response times and maximize throughput.

Dateibasierte DatenspeicherFile-based data stores

  • Durchschnittliche Größe und Anzahl von Dateien: Die Kopieraktivität überträgt Daten als einzelne Dateien.Average file size and file count: The copy activity transfers data one file at a time. Aufgrund der Bootstrap-Phase für die einzelnen Dateien ist der Gesamtdurchsatz bei gleicher zu verschiebender Datenmenge geringer, wenn die Daten nicht aus einer geringen Anzahl großer Dateien, sondern aus zahlreichen kleinen Dateien bestehen.With the same amount of data to be moved, the overall throughput is lower if the data consists of many small files rather than a few large files due to the bootstrap phase for each file. Kombinieren Sie kleine Dateien möglichst zu größeren Dateien, um einen höheren Durchsatz zu erzielen.If possible, combine small files into larger files to gain higher throughput.
  • Dateiformat und Komprimierung: Weitere Methoden zur Verbesserung der Leistung finden Sie in den Abschnitten Hinweise zur Serialisierung/Deserialisierung und Hinweise zur Komprimierung.File format and compression: For more ways to improve performance, see the Considerations for serialization and deserialization and Considerations for compression sections.

Relationale DatenspeicherRelational data stores

  • Datenmuster: Ihr Tabellenschema hat Auswirkungen auf den Durchsatz beim Kopieren.Data pattern: Your table schema affects copy throughput. Eine hohe Zeilengröße liefert zum Kopieren derselben Datenmenge eine bessere Leistung als eine niedrige.A large row size gives you better performance than a small row size to copy the same amount of data. Der Grund ist, dass die Datenbank weniger Batches von Daten mit weniger Zeilen effizienter abrufen kann.The reason is that the database can more efficiently retrieve fewer batches of data that contain fewer rows.
  • Abfrage oder gespeicherte Prozedur: Optimieren Sie die Logik der Abfrage oder gespeicherten Prozedur, die Sie in der Quelle der Kopieraktivität angeben, um Daten effizienter abzurufen.Query or stored procedure: Optimize the logic of the query or stored procedure you specify in the copy activity source to fetch data more efficiently.

Hinweise zur SenkeConsiderations for the sink

AllgemeinGeneral

Stellen Sie sicher, dass der zugrundeliegende Datenspeicher nicht durch andere darauf oder dafür ausgeführte Workloads überlastet wird.Be sure that the underlying data store isn't overwhelmed by other workloads that are running on or against it.

Informationen zu Microsoft-Datenspeichern finden Sie in datenspeicherspezifischen Themen zur Überwachung und Optimierung.For Microsoft data stores, see monitoring and tuning topics that are specific to data stores. Hier können Sie sich über Leistungsmerkmale, die Minimierung von Antwortzeiten und die Maximierung des Durchsatzes informieren.These topics can help you understand data store performance characteristics and how to minimize response times and maximize throughput.

Dateibasierte DatenspeicherFile-based data stores

  • Kopierverhalten: Wenn Sie Daten aus einem anderen dateibasierten Datenspeicher kopieren, stehen über die copyBehavior-Eigenschaft drei Optionen für die Kopieraktivität zur Verfügung.Copy behavior: If you copy data from a different file-based data store, the copy activity has three options via the copyBehavior property. Das Beibehalten oder Abflachen der Hierarchie verursacht nur einen geringen oder gar keinen Zusatzaufwand.It preserves hierarchy, flattens hierarchy, or merges files. Das Zusammenführen von Dateien ist hingegen mit einem gesteigerten Zusatzaufwand verbunden.Either preserving or flattening hierarchy has little or no performance overhead, but merging files causes performance overhead to increase.
  • Dateiformat und Komprimierung: Weitere Methoden zur Verbesserung der Leistung finden Sie in den Abschnitten Hinweise zur Serialisierung/Deserialisierung und Hinweise zur Komprimierung.File format and compression: For more ways to improve performance, see the Considerations for serialization and deserialization and Considerations for compression sections.

Relationale DatenspeicherRelational data stores

  • Kopierverhalten und Auswirkung auf die Leistung: Es gibt verschiedene Möglichkeiten zum Schreiben von Daten in eine SQL-Senke.Copy behavior and performance implication: There are different ways to write data into a SQL sink. Weitere Informationen finden Sie unter Kopieren von Daten nach und aus Azure SQL-Datenbank.Learn more from Best practice for loading data into Azure SQL Database.

  • Datenmuster und Batchgröße:Data pattern and batch size:

    • Ihr Tabellenschema hat Auswirkungen auf den Durchsatz beim Kopieren.Your table schema affects copy throughput. Beim Kopieren der gleichen Datenmenge erzielen Sie mit großen Zeilen eine bessere Leistung als mit kleinen Zeilen, da die Datenbank eine geringere Anzahl von Datenbatches effizienter committen kann.To copy the same amount of data, a large row size gives you better performance than a small row size because the database can more efficiently commit fewer batches of data.
    • Die Kopieraktivität fügt Daten in einer Folge von Batches ein.The copy activity inserts data in a series of batches. Die Anzahl von Zeilen in einem Batch kann dabei mithilfe der writeBatchSize -Eigenschaft festgelegt werden.You can set the number of rows in a batch by using the writeBatchSize property. Wenn Ihre Daten kleine Zeilen enthalten, können Sie für die writeBatchSize -Eigenschaft einen höheren Wert festlegen, um den Batchaufwand zu verringern und den Durchsatz zu erhöhen.If your data has small rows, you can set the writeBatchSize property with a higher value to benefit from lower batch overhead and higher throughput. Bei umfangreichen Zeilen müssen Sie vorsichtig sein, wenn Sie den Wert von writeBatchSizeerhöhen.If the row size of your data is large, be careful when you increase writeBatchSize. Ein hoher Wert kann zu einer Datenbanküberlastung und dadurch zu Kopierfehlern führen.A high value might lead to a copy failure caused by overloading the database.

NoSQL-SpeicherNoSQL stores

  • Table Storage:For Table storage:
    • Partition: Das Schreiben von Daten in überlappende Partitionen beeinträchtigt die Leistung erheblich.Partition: Writing data to interleaved partitions dramatically degrades performance. Sortieren Sie Ihre Daten anhand des Partitionsschlüssels, sodass sie effizient partitionsweise eingefügt werden.Sort your source data by partition key so that the data is inserted efficiently into one partition after another. Sie können die Logik auch so anpassen, dass die Daten in eine einzelne Partition geschrieben werden.Or, you can adjust the logic to write the data to a single partition.

Hinweise zur Serialisierung und DeserialisierungConsiderations for serialization and deserialization

Serialisierung und Deserialisierung können auftreten, wenn Ihr Eingabe- oder Ausgabedataset eine Datei ist.Serialization and deserialization can occur when your input dataset or output dataset is a file. Weitere Informationen zu den unterstützten Dateiformaten nach Kopieraktivität finden Sie unter Unterstützte Datei- und Komprimierungsformate.For more information on supported file formats by copy activity, see Supported file and compression formats.

Kopierverhalten:Copy behavior:

  • Beim Kopieren von Dateien zwischen dateibasierten Datenspeichern gilt Folgendes:Copying files between file-based data stores:
    • Wenn sowohl das Eingabe- als auch das Ausgabedataset die gleichen oder keine Dateiformateinstellungen besitzen, führt der Datenverschiebungsdienst einen binären Kopiervorgang ohne Serialisierung oder Deserialisierung durch.When input and output datasets both have the same or no file format settings, the data movement service executes a binary copy without any serialization or deserialization. Dadurch wird ein höherer Durchsatz erreicht als in einem Szenario mit unterschiedlichen Dateiformateinstellungen für Quelle und Senke.You see a higher throughput compared to the scenario, in which the source and sink file format settings are different from each other.
    • Wenn Eingabe- und Ausgabedataset im Textformat vorliegen und nur unterschiedlich codiert sind, konvertiert der Datenverschiebungsdienst nur die Codierung.When input and output datasets both are in text format and only the encoding type is different, the data movement service only does encoding conversion. Eine im Gegensatz zum binären Kopieren aufwändigere Serialisierung und Deserialisierung findet nicht statt.It doesn't do any serialization and deserialization, which causes some performance overhead compared to a binary copy.
    • Wenn Eingabe- und Ausgabedataset unterschiedliche Dateiformate oder Konfigurationen (etwa Trennzeichen) besitzen, deserialisiert und transformiert der Datenverschiebungsdienst die zu streamenden Quelldaten und serialisiert sie anschließend in das von Ihnen angegebene Ausgabeformat.When input and output datasets both have different file formats or different configurations, like delimiters, the data movement service deserializes source data to stream, transform, and then serialize it into the output format you indicated. Dies ist im Vergleich zu anderen Szenarien mit einem wesentlich höheren Aufwand verbunden.This operation results in a much more significant performance overhead compared to other scenarios.
  • Wenn Sie Dateien in einen oder aus einem nicht dateibasierten Datenspeicher kopieren (etwa aus einem dateibasierten Speicher in einen relationalen Speicher), ist der Serialisierungs- oder Deserialisierungsschritt zwingend erforderlich.When you copy files to or from a data store that isn't file based, for example, from a file-based store to a relational store, the serialization or deserialization step is required. Dieser Schritt bedeutet einen erheblichen Mehraufwand.This step results in significant performance overhead.

Dateiformat: Das von Ihnen gewählte Dateiformat beeinträchtigt unter Umständen die Leistung beim Kopieren.File format: The file format you choose might affect copy performance. Avro ist beispielsweise ein kompaktes binäres Format, das nicht nur Daten, sondern auch Metadaten speichert.For example, Avro is a compact binary format that stores metadata with data. Es wird umfassend im Hadoop-System für Verarbeitungs- und Abfragevorgänge unterstützt.It has broad support in the Hadoop ecosystem for processing and querying. Avro verursacht einen höheren Aufwand bei der Serialisierung und Deserialisierung, was im Vergleich zum Textformat zu einem niedrigeren Durchsatz führt.Avro is more expensive for serialization and deserialization, which results in lower copy throughput compared to text format.

Berücksichtigen Sie bei der Entscheidung für ein Dateiformat den gesamten Verarbeitungsablauf.Make your choice of file format throughout the processing flow holistically. Beginnen Sie mit:Start with:

  • In welchem Formular sind die Daten gespeichert: Quelldatenspeichern, oder sollen sie aus externen Systemen extrahiert werden?What form the data is stored in, source data stores or to be extracted from external systems.
  • Das beste Format für die Speicherung, analytische Verarbeitung und Abfragen.The best format for storage, analytical processing, and querying.
  • In welchem Format sollen die Daten in Data Marts für Bericht- und Visualisierungstools exportiert werden?In what format the data should be exported into data marts for reporting and visualization tools.

Manchmal stellt sich heraus, dass ein angesichts der Lese- und Schreibleistung eigentlich suboptimales Dateiformat bei Berücksichtigung des gesamten analytischen Prozesses trotzdem gut geeignet ist.Sometimes a file format that is suboptimal for read and write performance might be a good choice when you consider the overall analytical process.

Hinweise zur KomprimierungConsiderations for compression

Wenn Ihr Eingabe- oder Ausgabedataset eine Datei ist, können Sie die Kopieraktivität so konfigurieren, dass beim Schreiben von Daten in das Ziel eine Komprimierung oder Dekomprimierung ausgeführt wird.When your input or output dataset is a file, you can set the copy activity to perform compression or decompression as it writes data to the destination. Wenn Sie sich für eine Komprimierung entscheiden, gehen Sie einen Kompromiss zwischen Eingabe/Ausgabe (E/A) und CPU ein.When you choose compression, you make a tradeoff between input/output (I/O) and CPU. Das Komprimieren der Daten verursacht zusätzliche Kosten für die Computeressourcen.Compressing the data costs extra in compute resources. Im Gegenzug verringern sich aber die Kosten für Netzwerk-E/A und Speicher.But in return, it reduces network I/O and storage. Abhängig von Ihren Daten ergibt sich dadurch möglicherweise eine Verbesserung des Gesamtdurchsatzes.Depending on your data, you might see a boost in overall copy throughput.

Codec: Jeder Komprimierungscodec hat seine Vorteile.Codec: Each compression codec has advantages. BZIP2 bietet etwa den geringsten Durchsatz, im Gegenzug aber die beste Hive-Abfrageleistung, da sich dieser Typ für die Verarbeitung aufteilen lässt.For example, bzip2 has the lowest copy throughput, but you get the best Hive query performance with bzip2 because you can split it for processing. GZIP ist die ausgewogenste Option und wird am häufigsten verwendet.Gzip is the most balanced option, and it's used the most often. Entscheiden Sie sich für den Codec, der am besten für Ihr End-to-End-Szenario geeignet ist.Choose the codec that best suits your end-to-end scenario.

Ebene: Für jeden Komprimierungscodec stehen zwei Optionen zur Verfügung: schnellste Komprimierung und optimale Komprimierung.Level: You can choose from two options for each compression codec: fastest compressed and optimally compressed. Bei der schnellsten Komprimierung werden die Daten schnellstmöglich komprimiert, auch wenn die resultierende Datei nicht optimal komprimiert ist.The fastest compressed option compresses the data as quickly as possible, even if the resulting file isn't optimally compressed. Die optimale Komprimierung dauert länger, liefert aber die kleinstmögliche Datenmenge.The optimally compressed option spends more time on compression and yields a minimal amount of data. Sie können beide Optionen testen, um die in Ihrem Fall beste Gesamtleistung zu ermitteln.You can test both options to see which provides better overall performance in your case.

Hinweis: Verwenden Sie beim Kopieren umfangreicher Daten zwischen einem lokalen Datenspeicher und der Cloud ggf. das gestaffelte Kopieren mit aktivierter Komprimierung.A consideration: To copy a large amount of data between an on-premises store and the cloud, consider using Staged copy with compression enabled. Die Verwendung von Zwischenspeichern ist hilfreich, wenn die Bandbreite Ihres Unternehmensnetzwerks und Ihrer Azure-Dienste die Einschränkung darstellt und Sie möchten, dass sowohl der Eingangsdatensatz als auch der Ausgangsdatensatz in unkomprimierter Form vorliegen.Using interim storage is helpful when the bandwidth of your corporate network and your Azure services is the limiting factor, and you want the input dataset and output dataset both to be in uncompressed form.

Hinweise zur SpaltenzuordnungConsiderations for column mapping

Mit der columnMappings-Eigenschaft der Kopieraktivität können Eingabespalten ganz oder teilweise den Ausgabespalten zugeordnet werden.You can set the columnMappings property in a copy activity to map all or a subset of the input columns to the output columns. Nach dem Lesen der Daten aus der Quelle muss der Datenverschiebungsdienst eine Spaltenzuordnung für die Daten vornehmen, bevor sie in die Senke geschrieben werden.After the data movement service reads the data from the source, it needs to perform column mapping on the data before it writes the data to the sink. Dieser zusätzliche Verarbeitungsaufwand reduziert den Kopierdurchsatz.This extra processing reduces copy throughput.

Falls es sich bei Ihrem Quelldatenspeicher um einen abfragbaren Speicher (beispielsweise um einen relationalen Speicher wie die SQL-Datenbank oder SQL Server) oder um einen NoSQL-Speicher (etwa um Table Storage oder Azure Cosmos DB) handelt, empfiehlt es sich unter Umständen, die Logik für Filterung und Neuanordnung von Spalten in die query-Eigenschaft auszulagern, anstatt die Spaltenzuordnung zu verwenden.If your source data store is queryable, for example, if it's a relational store like SQL Database or SQL Server, or if it's a NoSQL store like Table storage or Azure Cosmos DB, consider pushing the column filtering and reordering logic to the query property instead of using column mapping. Dadurch erfolgt die Projektion, während der Datenverschiebungsdienst Daten aus dem Quelldatenspeicher liest, was deutlich effizienter ist.This way, the projection occurs while the data movement service reads data from the source data store, where it's much more efficient.

Weitere Informationen finden Sie unter Schemazuordnung in Kopieraktivität.Learn more from Copy activity schema mapping.

Weitere ÜberlegungenOther considerations

Wenn die zu kopierenden Daten sehr umfangreich sind, können Sie Ihre Geschäftslogik so anpassen, dass die Daten weiter partitioniert werden.If the size of data you want to copy is large, you can adjust your business logic to further partition the data. Sie können eine häufigere Ausführung der Kopieraktivität planen, um die Datengröße für die einzelnen Kopieraktivitätsausführungen zu verringern.You can schedule the copy activity to run more frequently to reduce the data size for each copy activity that runs.

Seien Sie vorsichtig bei der Anzahl von Datasets und Kopieraktivitäten, für die Azure Data Factory gleichzeitig eine Verbindung mit dem gleichen Datenspeicher herstellen muss.Be cautious about the number of datasets and copy activities that require Azure Data Factory to connect to the same data store at the same time. Eine hohe Anzahl gleichzeitiger Kopieraufträge kann zu einer Drosselung eines Datenspeichers sowie zu einer Beeinträchtigung der Leistung, zu internen Wiederholungsversuchen bei Kopieraufträgen und in einigen Fällen zu Fehlern bei der Ausführung führen.Many concurrent copy jobs might throttle a data store and lead to degraded performance, copy job internal retries, and in some cases, execution failures.

Beispielszenario: Kopieren aus einer lokalen SQL Server-Instanz in Blob StorageSample scenario: Copy from an on-premises SQL server to Blob storage

Szenario: Es wird eine Pipeline erstellt, um Daten aus einer lokalen SQL Server-Instanz im CSV-Format in Blob Storage zu kopieren.Scenario: A pipeline is built to copy data from an on-premises SQL server to Blob storage in CSV format. Zur Beschleunigung des Kopierauftrags sollen die CSV-Dateien im BZIP2-Format komprimiert werden.To make the copy job faster, the CSV files should be compressed into bzip2 format.

Test und Analyse: Der Durchsatz der Kopieraktivität beträgt weniger als 2 MB/s und liegt damit deutlich unter der Leistungsbenchmark.Test and analysis: The throughput of the copy activity is less than 2 MBps, which is much slower than the performance benchmark.

Leistungsanalyse und -optimierung: Zur Behebung des Leistungsproblems sehen wir uns zunächst einmal an, wie die Daten verarbeitet und verschoben werden.Performance analysis and tuning: To troubleshoot the performance issue, let’s look at how the data is processed and moved.

  • Lesen der Daten: Die Integration Runtime stellt eine Verbindung mit SQL Server her und sendet die Abfrage.Read data: The integration runtime opens a connection to SQL Server and sends the query. SQL Server sendet daraufhin den Datenstrom über das Intranet an die Integration Runtime.SQL Server responds by sending the data stream to the integration runtime via the intranet.
  • Serialisieren und Komprimieren der Daten: Die Integration Runtime serialisiert den Datenstrom im CSV-Format und komprimiert die Daten zu einem BZIP2-Datenstrom.Serialize and compress data: The integration runtime serializes the data stream to CSV format and compresses the data to a bzip2 stream.
  • Schreiben der Daten: Die Integration Runtime lädt den BZIP2-Datenstrom über das Internet in Blob Storage hoch.Write data: The integration runtime uploads the bzip2 stream to Blob storage via the internet.

Wie Sie sehen, werden die Daten sequenziell mittels Streaming verarbeitet und verschoben: SQL Server -> LAN-> Gateway > WAN -> Blob Storage.As you can see, the data is processed and moved in a streaming sequential manner: SQL Server > LAN > Integration runtime > WAN > Blob storage. Die Gesamtleistung wird durch den minimalen Durchsatz der gesamten Pipeline begrenzt.The overall performance is gated by the minimum throughput across the pipeline.

Datenfluss

Der Leistungsengpass kann auf folgende Faktoren zurückzuführen sein:One or more of the following factors might cause the performance bottleneck:

  • Quelle: SQL Server selbst hat aufgrund einer hohen Auslastung einen geringen Durchsatz.Source: SQL Server itself has low throughput because of heavy loads.
  • Selbstgehostete Integration Runtime:Self-hosted integration runtime:
    • LAN: Integration Runtime ist weit vom SQL Server-Computer entfernt, und es wird eine Verbindung mit geringer Bandbreite verwendet.LAN: Integration runtime is located far from the SQL Server machine and has a low-bandwidth connection.
    • Integration Runtime: Integration Runtime hat das Auslastungslimit erreicht, um die folgenden Vorgänge durchzuführen:Integration runtime: Integration runtime has reached its load limitations to perform the following operations:
      • Serialisierung: Der Datenstrom lässt sich nur mit geringem Durchsatz in das CSV-Format serialisieren.Serialization: Serializing the data stream to CSV format has slow throughput.
      • Komprimierung: Sie haben sich für einen langsamen Komprimierungscodec entschieden, z. B. für BZIP2, das 2,8 MB/s mit Core i7 entspricht.Compression: You chose a slow compression codec, for example, bzip2, which is 2.8 MBps with Core i7.
    • WAN: Zwischen dem Unternehmensnetzwerk und Ihren Azure-Diensten steht nur eine geringe Bandbreite zur Verfügung. Beispiele: T1 = 1,544 KBit/s; T2 = 6,312 KBit/s.WAN: The bandwidth between the corporate network and your Azure services is low, for example, T1 = 1,544 kbps; T2 = 6,312 kbps.
  • Senke: Der Durchsatz von Blob Storage ist gering.Sink: Blob storage has low throughput. Dieses Szenario ist eher unwahrscheinlich, da die entsprechende Vereinbarung zum Servicelevel (SLA) mindestens 60 MBit/s garantiert.This scenario is unlikely because its service-level agreement (SLA) guarantees a minimum of 60 MBps.

In diesem Fall verlangsamt unter Umständen die BZIP2-Datenkomprimierung die gesamte Pipeline.In this case, bzip2 data compression might be slowing down the entire pipeline. Dieser Engpass lässt sich möglicherweise durch einen Wechsel zum GZIP-Komprimierungscodec beheben.Switching to a gzip compression codec might ease this bottleneck.

ReferenzenReferences

Hier finden Sie Referenzen zur Leistungsüberwachung und -optimierung für einige der unterstützten Datenspeicher:Here are performance monitoring and tuning references for some of the supported data stores:

Nächste SchritteNext steps

Weitere Informationen finden Sie in den anderen Artikeln zur Kopieraktivität:See the other copy activity articles: