Azure Synapse Analytics-Lösungen und Migrieren von TeradataAzure Synapse Analytics solutions and migration for Teradata

Viele Organisationen sind bereit, kostenintensive Data Warehouse-Aufgaben wie die Infrastrukturwartung und die Plattformentwicklung an einen Cloudanbieter abzugeben.Many organizations are ready to take the step of shifting expensive data warehouse tasks like infrastructure maintenance and platform development to a cloud provider. Unternehmen erwägen jetzt, innovative Cloud-, Infrastructure-as-a-Service- und Platform-as-a-Service-Angebote in neueren Umgebungen wie Azure zu nutzen.Organizations are now looking to take advantage of innovative cloud, infrastructure as a service, and platform as a service offerings in newer environments like Azure.

Azure Synapse Analytics ist ein unbegrenzter Analysedienst, der Data Warehousing auf Unternehmensniveau mit Big Data-Analysen vereint.Azure Synapse Analytics is a limitless analytics service that brings together enterprise data warehousing and big data analytics. Er ermöglicht flexible Datenabfragen nach Ihren Vorstellungen und im großen Stil mithilfe von serverlosen On-Demand-Ressourcen oder bereitgestellten Ressourcen.It gives you the freedom to query data on your terms at scale by using either serverless on-demand or provisioned resources. In diesem Artikel erfahren Sie, wie Sie die Migration von einem Teradata-Legacysystem zu Azure Synapse planen.Learn what to plan for as you migrate a legacy Teradata system to Azure Synapse.

Teradata und Azure Synapse ähneln sich insofern, als dass es sich bei beiden Plattformen um SQL-Datenbanken handelt, die für die massive Parallelverarbeitung konzipiert wurden, um eine hohe Abfrageleistung für große Datenmengen zu erzielen. Dennoch weisen Sie einige grundlegende Unterschiede auf:Although Teradata and Azure Synapse are similar in that they're both SQL databases that are designed to use massively parallel processing techniques to achieve high query performance on large data volumes, they have some basic differences:

  • Legacysysteme von Teradata werden lokal installiert und verwenden proprietäre Hardware.Legacy Teradata systems are installed on-premises, and they use proprietary hardware. Azure Synapse ist hingegen cloudbasiert und basiert auf Azure-Computeressourcen und -Speicherressourcen.Azure Synapse is cloud-based and uses Azure compute and storage resources.
  • Ein Upgrade einer Teradata-Konfiguration ist eine umfangreiche Aufgabe, die zusätzliche physische Hardware und eine potenziell langwierige Neukonfiguration oder das Sichern und Neuladen der Datenbank erfordert.Upgrading a Teradata configuration is a major task that involves extra physical hardware and a potentially lengthy database reconfiguration or dump and reload. In Azure Synapse sind Compute- und Speicherressourcen voneinander getrennt, sodass Sie dank der elastischen Skalierbarkeit von Azure problemlos zentral hoch- oder herunterskalieren können.In Azure Synapse, compute and storage resources are separate, so you can easily scale up or down independently by using the elastic scalability of Azure.
  • Da kein physisches System mehr unterstützt werden muss, kann Azure Synapse nach Bedarf angehalten oder in der Größe angepasst werden, um die Ressourcennutzung und die Kosten zu senken.Without a physical system to support, you can pause or resize Azure Synapse as needed to reduce resource utilization and cost. Mit Azure haben Sie Zugriff auf eine weltweit verfügbare, äußerst sichere und skalierbare Cloudumgebung, die nicht nur Azure Synapse sondern auch ein Ökosystems aus unterstützenden Tools und Funktionen beinhaltet.In Azure, you have access to a globally available, highly secure, and scalable cloud environment that includes Azure Synapse in an ecosystem of supporting tools and capabilities.

Im diesem Artikel finden Sie eine Übersicht über wichtige Migrationsüberlegungen und erfahren, wie Sie in Azure Synapse eine gleichwertige oder bessere Leistung der Data Warehouse-Systeme und Data Marts erzielen, die Sie aus Teradata migriert haben.In this article, we look at schema migration, with an objective of obtaining equivalent or increased performance of your migrated Teradata data warehouse and data marts on Azure Synapse. Zudem werden Probleme besprochen, die speziell bei der Migration einer vorhandenen Teradata-Umgebung auftreten können.We consider concerns that apply specifically to migrating from an existing Teradata environment.

Im Allgemeinen kann der Migrationsprozess in die Schritte untergliedert werden, die in der folgenden Tabelle aufgeführt sind:At a high level, the migration process includes the steps that are listed in the following table:

VorbereitungPreparation MigrationMigration Nach der MigrationPost-migration
  • Festlegen des Umfangs: Was soll migriert werden?Define scope: What do we want to migrate?
  • Erstellen eines Inventars der zu migrierenden Daten und ProzesseBuild an inventory of data and processes to migrate.
  • Definieren der Änderungen am DatenmodellDefine any data model changes.
  • Ermitteln der am besten geeigneten Azure- und Drittanbietertools und -features, die verwendet werden sollenIdentify the best Azure and third-party tools and features to use.
  • Frühzeitige Schulung von Mitarbeitern für die neue PlattformTrain staff early on the new platform.
  • Einrichten der Azure-ZielplattformSet up the Azure target platform.
  • Einfaches Beginnen im kleinen UmfangStart small and simple.
  • Automatisieren, wann immer möglichAutomate where possible.
  • Verwenden von integrierten Azure-Tools und -Features zum Verringern des MigrationsaufwandsUse Azure built-in tools and features to reduce the migration effort.
  • Migrieren von Metadaten für Tabellen und SichtenMigrate metadata for tables and views.
  • Migrieren relevanter historischer DatenMigrate relevant historical data.
  • Migrieren oder Umgestalten von gespeicherten Prozeduren und GeschäftsprozessenMigrate or refactor stored procedures and business processes.
  • Migrieren oder Umgestalten von ETL/ELT-Prozessen für inkrementelles LadenMigrate or refactor ETL/ELT incremental load processes.
  • Überwachen und Dokumentieren aller MigrationsphasenMonitor and document all stages of the migration process.
  • Nutzen der gewonnenen Erfahrungen zum Erstellen einer Vorlage für zukünftige MigrationsvorgängeUse experience gained to build a template for future migrations.
  • Bei Bedarf Neuerstellen des Datenmodells unter Verwendung der Leistung und Skalierbarkeit der neuen PlattformReengineer the data model, if necessary, by using the new platform's performance and scalability.
  • Testen von Anwendungen und AbfragetoolsTest applications and query tools.
  • Erstellen von Benchmarks für die Abfrageleistung und Optimieren derselbenBenchmark and optimize query performance.
  • Bei der Migration einer Teradata-Legacyumgebung zu Azure Synapse müssen Sie zusätzlich zu den allgemeineren Themen, die in der Teradata-Dokumentation beschrieben werden, weitere konkrete Aspekte berücksichtigen.When you migrate from a legacy Teradata environment to Azure Synapse, in addition to the more general subjects that are described in the Teradata documentation, you must consider some specific factors.

    Erste MigrationsworkloadInitial migration workload

    Teradata-Legacyumgebungen wurden meist im Laufe der Zeit auf mehrere Themenbereiche und gemischte Workloads ausgeweitet.Legacy Teradata environments typically evolve over time to encompass multiple subject areas and mixed workloads. Bei der Entscheidung, wo das erste Migrationsprojekt ansetzen soll, sollten Sie einen Bereich auswählen, der:When you're deciding where to start on an initial migration project, it makes sense to choose an area that:

    • durch eine schnelle Bereitstellung der neuen Umgebung die Machbarkeit einer Migration zu Azure Synapse belegtProves the viability of migrating to Azure Synapse by quickly delivering the benefits of the new environment.
    • den internen technischen Mitarbeitern die Möglichkeit bietet, sich mit den neuen Prozessen und Tools vertraut zu machen, um später weitere Bereiche mit diesen Prozessen und Tools migrieren zu könnenAllows in-house technical staff to gain experience with new processes and tools so that they can use them to migrate other areas.
    • eine Vorlage auf Grundlage der aktuellen Tools und Prozesse erstellt, die bei weiteren Migrationen aus der Teradata-Quellumgebung zum Einsatz kommtCreates a template based on the current tools and processes to use in additional migrations from the source Teradata environment.

    Ein guter Kandidat für die erste Migration einer Teradata-Umgebung ist eine, in der anstelle einer OLTP-Workload eine Power BI-Workload oder Analyseworkload implementiert wird.A good candidate for an initial migration from a Teradata environment is one that implements a Power BI/analytics workload rather than an OLTP workload. Das Datenmodell dieser Workload sollte auch ohne größere Änderungen migrierbar sein. Es sollte sich also z. B. um ein Stern- oder Schneeflockenschema handeln.The workload should have a data model that can be migrated with minimal modifications, such as a star or snowflake schema.

    Zudem muss das bei der ersten Migration verwendete Datenvolumen groß genug sein, um die Funktionen und Vorteile der Azure Synapse-Umgebung innerhalb kurzer Zeit zu veranschaulichen.For size, it's important that the data volume you migrate in the initial exercise is large enough to demonstrate the capabilities and benefits of the Azure Synapse environment with a short time to demonstrate value. Die üblicherweise für diese Anforderungen passende Größe liegt bei 1–10 Terabyte (TB).The size that typically meets the requirements is in the range of 1 to 10 terabytes (TB).

    Eine Vorgehensweise bei der ersten Migration, die die Risiken und die Implementierungszeit minimiert, besteht in der Beschränkung der Migration auf Data Marts.An approach for the initial migration project that minimizes risk and implementation time is to confine the scope of the migration to data marts. Ein gutes Beispiel für Teradata ist der OLAP-Datenbankteil eines Teradata-Data Warehouse.In Teradata, a good example is the OLAP database part of a Teradata data warehouse. Dieser Ansatz ist empfehlenswert, da der Migrationsumfang eingegrenzt wird und die Migration häufig in kurzer Zeit durchführbar ist.This approach is a good starting point because it limits the scope of the migration, and it often can be achieved on a short timescale.

    Bei einer ersten Migration von Data Marts können jedoch keine umfassenderen Aspekte wie die Migration von ETL- und historischen Daten berücksichtigt werden.An initial migration scope of data marts only doesn't address broader concerns like how to migrate ETL and historical data. Diese Bereiche müssen in späteren Phasen behandelt und die migrierte Data-Mart-Ebene mit den Daten und Prozessen abgeglichen werden, die für ihre Erstellung erforderlich sind.You must address these areas in later phases and backfill the migrated data mart layer with the data and processes that are required to build them.

    Lift-&-Shift-Verfahren im Vergleich zum mehrstufigen AnsatzLift-and-shift approach vs. phased approach

    Unabhängig von den Treibern und dem ausgewählten Migrationsumfang stehen Ihnen zwei allgemeine Migrationstypen zur Auswahl:Regardless of the drivers and scope you choose for your migration, you can choose from two general types of migrations:

    • Lift-&-Shift-Verfahren: Bei diesem Vorgehen wird das vorhandene Datenmodell (z. B. ein Sternschema) unverändert zur neuen Azure Synapse-Plattform migriert.Lift-and-shift approach: In this approach, the existing data model, such as a star schema, is migrated unchanged to the new Azure Synapse platform. Ziel ist es, das Risiko sowie die Migrationsdauer zu reduzieren, indem die Arbeit verringert wird, die für die Umstellung auf die Azure-Cloudumgebung erforderlich ist.The emphasis is on minimizing risk and the time it takes to migrate by reducing the work that's required to achieve the benefits of moving to the Azure cloud environment.

      Dieser Ansatz eignet sich gut für vorhandene Teradata-Umgebungen, in denen ein einzelner Data Mart migriert werden soll, und für Szenarios, in denen die Daten bereits in einem gut durchdachten Stern- oder Schneeflockenschema vorliegen.This approach is a good fit for existing Teradata environments in which a single data mart is to be migrated and if the data is already in a well-designed star or snowflake schema. Dieser Migrationstyp ist ebenfalls gut geeignet, wenn der Wechsel in eine modernere Cloudumgebung unter Zeit- und Kostendruck stattfindet.This approach is a good choice also if you have time and cost pressures to move to a more modern cloud environment.

    • Mehrstufiger Ansatz unter Einbindung von Änderungen: Wenn Ihr Legacywarehouse im Laufe der Zeit weiterentwickelt wurde, müssen Sie das Data Warehouse möglicherweise überarbeiten, um die erforderliche Leistung aufrechtzuerhalten oder neue Datenquellen wie IoT-Streams zu unterstützen.Phased approach that incorporates modifications: If your legacy warehouse has evolved over time, you might need to reengineer the data warehouse to maintain the required performance or to support new data sources like IoT streams. Im Rahmen dieser Überarbeitung kann beispielsweise eine Migration zu Azure Synapse durchgeführt werden, um von den bekannten Vorteilen einer skalierbaren Cloudumgebung zu profitieren.Migrating to Azure Synapse for the well-known benefits of a scalable cloud environment might be considered part of the reengineering process. Dieser Prozess kann das Ändern des zugrunde liegenden Datenmodells wie das Verschieben eines Inmon-Modells in Azure Data Vault beinhalten.This process might include changing the underlying data model, such as moving from an Inmon model to Azure Data Vault.

      Es wird jedoch empfohlen, das bestehende Datenmodell bei der ersten Migration unverändert zu Azure zu verschieben.The approach we recommend is to initially move the existing data model as-is to Azure. Anschließend können Sie sich die Leistung und Flexibilität der Azure-Dienste zunutze machen und die Änderungen ohne Auswirkungen auf das Quellsystem umsetzen.Then, take advantage of the performance and flexibility of Azure services to apply the reengineering changes without affecting the existing source system.

    Zusammenstellung des virtuellen Computers zur Unterstützung der MigrationVirtual machine colocation to support migration

    Bei einem optionaler Ansatz für die Migration aus einer lokalen Teradata-Umgebung wird kostengünstiger Cloudspeicher und elastische Skalierbarkeit in Azure genutzt.An optional approach to migrate from an on-premises Teradata environment takes advantage of inexpensive cloud storage and elastic scalability in Azure. Zuerst erstellen Sie eine Teradata-Instanz auf einem virtuellen Azure-Computer, der mit der Azure Synapse-Zielumgebung zusammengestellt wird.First, you create a Teradata instance on an Azure virtual machine that's colocated with the target Azure Synapse environment. Dann verwenden Sie ein Teradata-Standardhilfsprogramm wie Teradata Parallel Transporter oder ein Datenreplikationstool eines Drittanbieters wie Qlik Replicate (ehemals von Attunity), um die Teilmenge der Teradata-Tabellen, die Sie in die VM-Instanz migrieren, effizient zu verschieben.Then, you use a standard Teradata utility like Teradata Parallel Transporter or a third-party data replication tool like Qlik Replicate (formerly by Attunity) to efficiently move the subset of Teradata tables that you're migrating to the VM instance. Alle Migrationsaufgaben erfolgen in der Azure-Umgebung.All migration tasks take place in the Azure environment.

    Dieser Ansatz hat mehrere Vorteile:This approach has several benefits:

    • Nach der ersten Replikation von Daten wird das Quellsystem von weiteren Migrationsaufgaben nicht weiter beeinträchtigt.After the initial replication of data, the source system isn't affected by other migration tasks.
    • Vertraute Teradata-Schnittstellen, -Tools und -Hilfsprogramme sind in der Azure-Umgebung verfügbar.Familiar Teradata interfaces, tools, and utilities are available in the Azure environment.
    • Nach der Migration zur Azure-Umgebung gibt es keine potenziellen Probleme mehr mit der Verfügbarkeit von Netzwerkbandbreite zwischen dem lokalen Quellsystem und dem Cloudzielsystem.After the migration shifts to the Azure environment, you don't have any potential issues with network bandwidth availability between the on-premises source system and the cloud target system.
    • Tools wie Azure Data Factory können effizient Hilfsprogramme wie Teradata Parallel Transporter aufrufen, um Daten schnell und einfach zu migrieren.Tools like Azure Data Factory efficiently call utilities like Teradata Parallel Transporter to migrate data quickly and easily.
    • Der Migrationsprozess wird vollständig in der Azure-Umgebung orchestriert und gesteuert.The migration process is orchestrated and controlled entirely from within the Azure environment.

    Migration von MetadatenMetadata migration

    Es ist sinnvoll, die Migration mithilfe der Funktionen der Azure-Umgebung zu automatisieren und zu orchestrieren.It makes sense to automate and orchestrate the migration process by using the capabilities of the Azure environment. Bei dieser Vorgehensweise werden die Auswirkungen auf die vorhandene Teradata-Umgebung, die möglicherweise bereits fast vollständig ausgelastet ist, minimiert.This approach minimizes impact on the existing Teradata environment, which might already be running close to full capacity.

    Azure Data Factory ist ein cloudbasierter Datenintegrationsdienst.Azure Data Factory is a cloud-based data integration service. Er ermöglicht Ihnen das Erstellen datengesteuerter Workflows in der Cloud, um die Datenverschiebung und -transformation zu orchestrieren und zu automatisieren.You can use Data Factory to create data-driven workflows in the cloud to orchestrate and automate data movement and data transformation. Data Factory-Pipelines können Daten aus unterschiedlichen Datenspeichern erfassen.Data Factory pipelines can ingest data from disparate datastores. Dann können diese die Daten mithilfe von Compute Services wie Azure HDInsight für Apache Hadoop und Apache Spark, Azure Data Lake Analytics und Azure Machine Learning verarbeiten und transformieren.Then, they process and transform the data by using compute services like Azure HDInsight for Apache Hadoop and Apache Spark, Azure Data Lake Analytics, and Azure Machine Learning.

    Beginnen Sie mit dem Erstellen von Metadaten, die die zu migrierenden Datentabellen zusammen mit ihren Speicherorten auflisten.Start by creating metadata that lists the data tables you want to migrate along with their locations. Verwenden Sie dann Data Factory-Funktionen, um den Migrationsprozess zu verwalten.Then, use Data Factory capabilities to manage the migration process.

    Entwurfsunterschiede zwischen Teradata und Azure SynapseDesign differences between Teradata and Azure Synapse

    Bei der Planung einer Migration von einer Teradata-Legacyumgebung zu Azure Synapse ist es wichtig, die Entwurfsunterschiede zwischen beiden Plattformen zu berücksichtigen.As you plan your migration from a legacy Teradata environment to Azure Synapse, it's important to consider the design differences between the two platforms.

    Mehrere Datenbanken im Vergleich zu einem Singleton und SchemasMultiple databases vs. a single database and schemas

    In einer Teradata-Umgebung werden verschiedene Teile der Gesamtumgebung unter Umständen auf mehreren separaten Datenbanken bereitgestellt.In a Teradata environment, you might have multiple, separate databases for different parts of the overall environment. Beispielsweise kann eine separate Datenbank für die Datenerfassung und Stagingtabellen vorhanden sein, eine Datenbank für zentrale Warehouse-Tabellen und eine weitere Datenbank für Data Marts (manchmal auch als semantische Ebene bezeichnet).For example, you might have a separate database for data ingestion and staging tables, a database for core warehouse tables, and another database for data marts (sometimes called a semantic layer). Die Verarbeitung von separaten Datenbanken als ETL-/ELT-Pipelines in Azure Synapse erfordert möglicherweise die Implementierung von datenbankübergreifenden Verknüpfungen und die Verschiebung von Daten zwischen den separaten Datenbanken.Processing separate databases as ETL/ELT pipelines in Azure Synapse might require implementing cross-database joins and moving data between the separate databases.

    Die Azure Synapse-Umgebung verfügt über ein Singleton.The Azure Synapse environment has a single database. Tabellen werden mithilfe von Schemas in logisch getrennte Gruppen unterteilt.Schemas are used to separate tables into logically separate groups. Es wird empfohlen, die separaten Datenbanken, die Sie von Teradata migrieren, mithilfe eines Satzes von Schemas in Azure Synapse zu imitieren.We recommend that you use a set of schemas in Azure Synapse to mimic any separate databases you migrate from Teradata.

    Falls Sie in der Teradata-Umgebung Schemas verwendet haben, müssen Sie möglicherweise die Namenskonvention ändern, um die vorhandenen Teradata-Tabellen und -Sichten in die neue Umgebung verschieben zu können.If you use schemas in the Teradata environment, you might need to use a new naming convention to move the existing Teradata tables and views to the new environment. Sie können beispielsweise die vorhandenen Teradata-Schema- und -Tabellennamen mit dem neuen Azure Synapse-Tabellennamen verketten und mithilfe der Schemanamen die Namen der ursprünglichen separaten Datenbanken in der neuen Umgebung beibehalten.For example, you might concatenate the existing Teradata schema and table names into the new Azure Synapse table name, and then use schema names in the new environment to maintain the original separate database names.

    Eine andere Möglichkeit ist die Verwendung von SQL-Sichten für die zugrunde liegenden Tabellen, um deren logische Strukturen beizubehalten.Another option is to use SQL views over the underlying tables to maintain their logical structures. SQL-Sichten weisen die folgenden potenziellen Nachteile auf:There are some potential downsides to using SQL views:

    • Azure Synapse-Sichten sind schreibgeschützt, sodass alle Updates an den Daten in den zugrunde liegenden Basistabellen erfolgen müssen.Views in Azure Synapse are read-only, so you must make any updates to the data on the underlying base tables.
    • Wenn bereits verschiedene Sichtebenen bestehen, wirken sich weitere Sichtebenen möglicherweise negativ auf die Leistung aus.If layers of views already exist, adding another layer of views might affect performance.

    TabellenTables

    Beim Migrieren von Tabellen zwischen unterschiedlichen Technologien werden nur die Rohdaten sowie die Metadaten, die diese beschreiben, physisch zwischen den beiden Umgebungen verschoben.When you migrate tables between different technologies, you physically move only raw data and the metadata that describes it between the two environments. Datenbankelemente wie Indizes werden nicht aus dem Quellsystem migriert, da diese möglicherweise nicht benötigt oder in der neuen Umgebung anders implementiert werden.You don't migrate database elements like indexes from the source system because they might not be needed, or they might be implemented differently in the new environment.

    Das Wissen, wo Leistungsoptimierungen wie Indizes in der Quellumgebung eingesetzt wurden, kann jedoch Hinweise darauf geben, an welcher Stelle in der neuen Umgebung Optimierungspotenzial besteht.However, understanding where performance optimizations like indexes have been used in the source environment can be a helpful indication of where you might optimize performance in the new environment. Wenn ein nicht eindeutiger Sekundärindex in der Teradata-Quellumgebung erstellt wurde, kann es vorteilhaft sein, in der migrierten Azure Synapse-Umgebung einen nicht gruppierten Index zu erstellen. Alternativ können Zonenzuordnungen ebenfalls darauf hindeuten, dass andere native Techniken zur Leistungsoptimierung, z. B. die Tabellenreplikation, der Erstellung eines Like-for-Like-Indexes vorzuziehen sind.For example, if a non-unique secondary index was created in the source Teradata environment, you might conclude that it would be advantageous to create a nonclustered index in the migrated Azure Synapse environment, or that using other native performance optimization techniques like table replication might be preferable to creating a like-for-like index.

    HochverfügbarkeitsdatenbankHigh availability database

    Teradata unterstützt die knotenübergreifende Datenreplikation über die Option FALLBACK.Teradata supports data replication across nodes via the FALLBACK option. Tabellenzeilen, die sich physisch auf einem Knoten befinden, werden auf einen anderen Knoten im System repliziert.Table rows that reside physically on a node are replicated to another node within the system. Mit diesem Ansatz wird sichergestellt, dass keine Daten verloren gehen, wenn ein Knotenfehler auftritt. Damit stellt er die Grundlage für Failoverszenarios dar.This approach guarantees that data isn't lost if a node fails, and it provides the basis for failover scenarios.

    Die Architektur für Hochverfügbarkeit in Azure SQL-Datenbank soll garantieren, dass Ihre Datenbank aktiv ist und zu 99,99 % der Zeit ausgeführt wird.The goal of the high-availability architecture in Azure SQL Database is to guarantee that your database is up and running 99.99% of the time. Sie müssen daher nicht berücksichtigen, welche Auswirkungen Wartungsarbeiten und Ausfälle auf die Workload haben könnten.You don't need to consider how maintenance operations and outages might affect your workload. Azure verarbeitet automatisch wichtige Wartungsaufgaben, wie Patches, Sicherungen, Windows- und SQL-Upgrades, aber auch ungeplante Ereignisse wie Ausfälle der zugrunde liegenden Hard- und Software oder Netzwerkfehler.Azure automatically handles critical servicing tasks like patching, backups, and Windows and SQL upgrades, and unplanned events like underlying hardware, software, or network failures.

    Momentaufnahmen sind ein integriertes Feature des Diensts zum Erstellen von Wiederherstellungspunkten in Azure Synapse.Snapshots are a built-in feature of the service that creates restore points in Azure Synapse. Momentaufnahmen stellen eine automatische Sicherung für die Datenspeicherung in Azure Synapse bereit.Snapshots provide automatic backup for data storage in Azure Synapse. Sie müssen das Feature nicht aktivieren.You don't have to enable the capability. Derzeit können einzelne Benutzer keine automatischen Wiederherstellungspunkte löschen, die der Dienst zum Verwalten von SLAs für die Wiederherstellung verwendet.Currently, individual users can't delete automatic restore points that the service uses to maintain SLAs for recovery.

    Azure Synapse erstellt über den Tag verteilte Momentaufnahmen des Data Warehouse.Azure Synapse takes snapshots of the data warehouse throughout the day. Die dabei erstellten Wiederherstellungspunkte sind sieben Tage lang verfügbar.The restore points that it creates are available for seven days. Dieser Aufbewahrungszeitraum kann nicht geändert werden.The retention period can't be changed. Azure Synapse unterstützt eine Recovery Point Objective von acht Stunden.Azure Synapse supports an eight-hour recovery point objective. Sie können das Data Warehouse in der primären Region anhand einer beliebigen Momentaufnahme wiederherstellen, die in den vergangenen sieben Tagen erstellt wurde.You can restore your data warehouse in the primary region from any of the snapshots taken in the past seven days. Wenn Ihre Organisation differenziertere Sicherungen benötigt, stehen weitere benutzerdefinierte Optionen zur Verfügung.Other user-defined options are available if your organization needs more granular backups.

    Nicht unterstützte Teradata-TabellentypenUnsupported Teradata table types

    Teradata bietet Unterstützung für spezielle Tabellentypen für Zeitreihen und temporale Daten.Teradata includes support for special table types for time series and temporal data. Die Syntax und einige Funktionen für diese Tabellentypen werden in Azure Synapse nicht direkt unterstützt, aber die Daten können in eine Standardtabelle migriert werden, die die erforderlichen Datentypen und die entsprechende Indizierung oder Partitionierung in der Datums-/Uhrzeitspalte aufweist.Azure Synapse doesn't directly support the syntax and some of the functions for these table types, but you can migrate the data into a standard table that has the required data types and indexing or partitioning on the date/time column.

    Teradata implementiert die Funktion für temporale Abfragen, indem das Umschreiben von Abfragen dazu verwendet wird, Filter zu einer temporale Abfrage hinzuzufügen, um so den betreffenden Datumsbereich einzuschränken.Teradata implements temporal query functionality by using query rewriting to add filters to a temporal query to limit the applicable date range. Wenn Sie in der Teradata-Quellumgebung temporale Abfragen verwenden und diese migrieren möchten, müssen Sie die relevanten temporalen Abfragefilter hinzufügen.If you use temporal queries in the source Teradata environment and you want to migrate it, you must add filters to the relevant temporal queries.

    Die Azure-Umgebung umfasst auch Features für komplexe Analysen zu Zeitreihendaten in jeder Größenordnung über Azure Time Series Insights.The Azure environment also includes features for complex analytics on time series data at scale through Azure Time Series Insights. Time Series Insights ist für IOT-Datenanalyseanwendungen konzipiert und ist für diesen Anwendungsfall möglicherweise besser geeignet.Time Series Insights is designed for IoT data analysis applications, and it might be more appropriate for that use case. Weitere Informationen finden Sie unter Azure Time Series Insights.For more information, see Azure Time Series Insights.

    Teradata-DatentypzuordnungTeradata data type mapping

    Einige Teradata-Datentypen werden in Azure Synapse nicht direkt unterstützt.Some Teradata data types aren't directly supported in Azure Synapse. In der folgenden Tabelle sind diese Datentypen und die empfohlene Vorgehensweise zur Behandlung aufgeführt.The following table shows these data types and the recommended approach for handling them. In der Tabelle ist der Teradata-Spaltentyp der Typ, der im Systemkatalog gespeichert ist (z. B. in DBC.ColumnsV).In the table, the Teradata column type is the type that's stored in the system catalog (for example, in DBC.ColumnsV).

    Verwenden Sie die Metadaten aus den Teradata-Katalogtabellen, um festzulegen, ob diese Datentypen migriert werden sollen, und planen Sie die Unterstützung von Ressourcen im Migrationsplan ein.Use the metadata from the Teradata catalog tables to determine whether any of these data types should be migrated, and then plan for supporting resources in your migration plan. Beispielsweise können Sie eine SQL-Abfrage wie die im nächsten Abschnitt verwenden, um beliebige Vorkommen nicht unterstützter Datentypen zu finden, die Sie beheben müssen.For example, you can use a SQL query like the one in the next section to find any occurrences of unsupported data types that you need to address.

    Drittanbieter bieten Tools und Dienste an, mit denen die Migration automatisiert werden kann, einschließlich Datentypzuordnungen zwischen Plattformen.Third-party vendors offer tools and services that can automate migration, including mapping data types between platforms. Wenn Sie in der Teradata-Umgebung bereits ein ETL-Tool von Drittanbietern wie Informatica oder Talend verwenden, können Sie damit alle erforderlichen Datentransformationen implementieren.If you already use a third-party ETL tool like Informatica or Talend in the Teradata environment, you can use the tool to implement any required data transformations.

    Syntaxunterschiede in der SQL-DatenbearbeitungsspracheSQL Data Manipulation Language (DML) syntax differences

    Es gibt einige Unterschiede in der Syntax der SQL-Datenbearbeitungssprache (Data Manipulation Language, DML) zwischen Teradata SQL und Azure Synapse:You should be aware of a few differences in SQL Data Manipulation Language (DML) syntax between Teradata SQL and Azure Synapse:

    • QUALIFY: Teradata unterstützt den Operator QUALIFY.QUALIFY: Teradata supports the QUALIFY operator.

      Beispiel:For example:

      SELECT col1 FROM tab1 WHERE col1='XYZ'

      Tools und Dienste von Drittanbietern können Datenzuordnungsaufgaben automatisieren:Third-party tools and services can automate data-mapping tasks:

      QUALIFY ROW_NUMBER() OVER (PARTITION by col1 ORDER BY col1) = 1;

      In Azure Synapse können Sie das gleiche Ergebnis erzielen, indem Sie die folgende Syntax verwenden:In Azure Synapse, you can achieve the same result by using the following syntax:

      SELECT * FROM (SELECT col1, ROW_NUMBER() OVER (PARTITION by col1 ORDER BY col1) rn FROM tab1 WHERE c1='XYZ' ) WHERE rn = 1;

    • Datumsarithmetik: Azure Synapse verfügt über Operatoren wie DATEADD und DATEDIFF, die Sie für DATE oder DATETIME verwenden können.Date arithmetic: Azure Synapse has operators like DATEADD and DATEDIFF, which you can use on DATE or DATETIME.

      Teradata unterstützt die direkte Subtraktion für Datumsangaben:Teradata supports direct subtraction on dates:

      • SELECT DATE1 - DATE2 FROM ...

      • LIKE ANY-SyntaxLIKE ANY syntax

        Beispiel:Example:

        SELECT * FROM CUSTOMER WHERE POSTCODE LIKE ANY ('CV1%', 'CV2%', CV3%') ;.SELECT * FROM CUSTOMER WHERE POSTCODE LIKE ANY ('CV1%', 'CV2%', CV3%') ;.

        Die Entsprechung in der Azure Synapse-Syntax lautet:The equivalent in Azure Synapse syntax is:

        SELECT * FROM CUSTOMER WHERE (POSTCODE LIKE 'CV1%') OR (POSTCODE LIKE 'CV2%') OR (POSTCODE LIKE 'CV3%') ;

    • Abhängig von den Systemeinstellungen wird bei Zeichenvergleichen in Teradata eventuell standardmäßig nicht zwischen Groß- und Kleinschreibung unterschieden.Depending on system settings, character comparisons in Teradata might not be case-specific by default. In Azure Synapse wird die Groß- und Kleinschreibung bei diesen Vergleichen immer beachtet.In Azure Synapse, these comparisons are always case-specific.

    Funktionen, gespeicherte Prozeduren, Trigger und SequenzenFunctions, stored procedures, triggers, and sequences

    Bei der Migration eines Data Warehouse aus einer ausgereiften Legacyumgebung wie Teradata müssen Sie häufig noch weitere Elemente außer einfachen Tabellen und Sichten in die neue Zielumgebung migrieren.When you migrate a data warehouse from a mature legacy environment like Teradata, often you need to migrate elements other than simple tables and views to the new target environment. Beispiele für Teradata-Elemente, die keine Tabellen sind und möglicherweise zu Azure Synapse migriert werden müssen, sind Funktionen, gespeicherte Prozeduren, Trigger und Sequenzen.Examples of non-table elements in Teradata that you might need to migrate to Azure Synapse are functions, stored procedures, triggers, and sequences. Während der Vorbereitung der Migration sollten Sie ein Inventar der zu migrierenden Objekte erstellen.During the preparation phase of the migration, you should create an inventory of objects to migrate. Definieren Sie im Projektplan die Methode für die Verarbeitung aller Objekte, und weisen Sie die entsprechenden Ressourcen für deren Migration zu.In the project plan, define the method of handling all objects and allocate the appropriate resources to migrate them.

    Möglicherweise gibt es Dienste in der Azure-Umgebung, die die Funktionalität ersetzen, die in Form von Funktionen oder gespeicherten Prozeduren in der Teradata-Umgebung implementiert wurde.You might find services in the Azure environment that replace the functionality implemented as functions or stored procedures in the Teradata environment. In der Regel ist es effizienter, die integrierten Azure-Funktionen zu verwenden, anstatt die Teradata-Funktionen neu zu schreiben.Usually, it's more efficient to use the built-in Azure capabilities instead of recoding the Teradata functions.

    Nachstehend sind weitere Informationen zur Migration von Funktionen, gespeicherten Prozeduren, Triggern und Sequenzen aufgeführt:Here's more information about migrating functions, stored procedures, triggers, and sequences:

    • Funktionen: Wie bei den meisten Datenbankprodukten unterstützt Teradata Systemfunktionen und benutzerdefinierte Funktionen in einer SQL-Implementierung.Functions: Like most database products, Teradata supports system functions and user-defined functions in a SQL implementation. Werden gängige Systemfunktionen zu einer anderen Datenbankplattform wie Azure Synapse migriert, sind diese üblicherweise in der neuen Umgebung verfügbar und können ohne Änderung migriert werden.When common system functions are migrated to another database platform like Azure Synapse, they're usually available in the new environment and can be migrated without change. Wenn Systemfunktionen in der neuen Umgebung eine leicht veränderte Syntax aufweisen, können Sie die erforderlichen Änderungen normalerweise automatisieren.If system functions have slightly different syntax in the new environment, you usually can automate the required changes.

      Zu diesem Zweck müssen Sie möglicherweise beliebige benutzerdefinierte Funktionen und Systemfunktionen neu schreiben, wenn diese keine Entsprechung in der neuen Umgebung aufweisen.You might need to recode arbitrary user-defined functions and system functions that have no equivalent in the new environment. Nutzen Sie dazu die Sprachen, die in der neuen Umgebung verfügbar sind.Use the languages that are available in the new environment. In Azure Synapse werden benutzerdefinierte Funktionen mithilfe der weit verbreiteten Sprache „Transact-SQL“ implementiert.Azure Synapse uses the popular Transact-SQL language to implement user-defined functions.

    • Gespeicherte Prozeduren: In den meisten modernen Datenbankprodukten können Sie Prozeduren in der Datenbank speichern.Stored procedures: In most modern database products, you can store procedures n the database. Eine gespeicherte Prozedur enthält üblicherweise SQL-Anweisungen und etwas prozedurale Logik.A stored procedure typically contains SQL statements and some procedural logic. Möglicherweise gibt die Prozedur auch Daten oder einen Zustand zurück.It might also return data or a status.

      Teradata stellt Sprache für gespeicherte Prozeduren zum Erstellen gespeicherter Prozeduren bereit.Teradata provides stored procedure language to create stored procedures. Azure Synapse unterstützt gespeicherte Prozeduren mithilfe von T-SQL.Azure Synapse supports stored procedures by using T-SQL. Wenn Sie gespeicherte Prozeduren zu Azure Synapse migrieren, müssen Sie diese in T-SQL neu programmieren.If you migrate stored procedures to Azure Synapse, you must recode them by using T-SQL.

    • Trigger: Trigger können nicht in Azure Synapse erstellt werden, aber Sie können Trigger in Data Factory implementieren.Triggers: You can't create triggers in Azure Synapse, but you can implement triggers in Data Factory.

    • Sequenzen: Azure Synapse-Sequenzen werden ähnlich wie in Teradata behandelt.Sequences: Azure Synapse sequences are handled similarly to how they are handled in Teradata. Verwenden Sie IDENTITY-Spalten oder SQL-Code, um die nächste Sequenznummer in einer Reihe zu erstellen.Use IDENTITY columns or SQL code to create the next sequence number in a series.

    Metadaten und DatenextraktionMetadata and data extraction

    Berücksichtigen Sie die folgenden Informationen bei der Planung der Metadaten- und Datenextraktion aus der Teradata-Umgebung:Consider the following information when you plan how to extract metadata and data from the Teradata environment:

    • Generieren von DDL-Anweisungen (Data Definition Language, Datendefinitionssprache): Wie bereits beschrieben können vorhandene Teradata-Skripts CREATE TABLE und CREATE VIEW bearbeitet werden, um die entsprechenden Definitionen (bei Bedarf mit geänderten Datentypen) zu erstellen.Data Definition Language (DDL) generation: As described earlier, it's possible to edit existing Teradata CREATE TABLE and CREATE VIEW scripts to create the equivalent definitions, with modified data types, if necessary. In diesem Szenario müssen Sie in der Regel zusätzliche Teradata-spezifische Klauseln entfernen (z. B. FALLBACK).In this scenario, you usually must remove extra Teradata-specific clauses (for example, FALLBACK).

      Die Informationen, die die aktuellen Tabellen- und Sichtdefinitionen angeben, werden in den Systemkatalogtabellen verwaltet.The information that specifies the current table and view definitions is maintained in system catalog tables. Systemkatalogtabellen sind die beste Quelle für diese Informationen, weil sie mit hoher Wahrscheinlichkeit auf dem neuesten Stand und vollständig sind.System catalog tables are the best source of the information because the tables likely are up to date and complete. Die benutzerseitig verwaltete Dokumentation ist möglicherweise nicht mit den aktuellen Tabellendefinitionen synchron.User-maintained documentation might not be in sync with current table definitions.

      Sie können auf die Informationen über Sichten im Katalog zugreifen, z. B. DBC.ColumnsV.You can access the information by using views on the catalog, such as DBC.ColumnsV. Sie können auch Sichten verwenden, um die entsprechenden CREATE TABLE-DDL-Anweisungen (Datendefinitionssprache) für die entsprechenden Tabellen in Azure Synapse zu generieren.You also can use views to generate the equivalent CREATE TABLE Data Definition Language (DDL) statements for the equivalent tables in Azure Synapse.

      Migrations- und ETL-Tools von Drittanbietern nutzen die Informationen im Katalog auch, um das gleiche Ergebnis zu erzielen.Third-party migration and ETL tools also use the catalog information to achieve the same result.

    • Extrahieren von DatenData extraction

      Migrieren Sie die Rohdaten mit Teradata-Standardhilfsprogrammen wie BTEQ und FASTEXPORT aus vorhandenen Teradata-Tabellen.Migrate the raw data from existing Teradata tables by using standard Teradata utilities like BTEQ and FASTEXPORT. Bei einer Migration müssen die Daten stets so effizient wie möglich extrahiert werden.In a migration exercise, it's generally important to extract the data as efficiently as possible. Für neuere Versionen von Teradata empfehlen wir die Verwendung von Teradata Parallel Transporter, einem Hilfsprogramm, das mehrere parallele FASTEXPORT-Datenströme verwendet, um den besten Durchsatz zu erzielen.For recent versions of Teradata, we recommend Teradata Parallel Transporter, a utility that uses multiple parallel FASTEXPORT streams to achieve the best throughput.

      Teradata Parallel Transporter kann direkt von Data Factory aufgerufen werden.You can call Teradata Parallel Transporter directly from Data Factory. Diese Vorgehensweise wird für die Verwaltung des Datenmigrationsprozesses empfohlen, unabhängig davon, ob die Teradata-Instanz lokal oder in eine VM in der Azure-Umgebung kopiert wurde, wie zuvor beschrieben.We recommend this approach for managing the data migration process, whether the Teradata instance is on-premises or copied to a VM in the Azure environment, as described earlier.

      Empfohlene Datenformate für die extrahierten Daten sind durch Trennzeichen getrennte Textdateien (auch CSV-Dateien genannt) oder ORC- (Optimized Row Columnar) oder Parquet-Dateien.The data formats we recommend for extracted data are delimited text files (also called comma-separated values), optimized row columnar files, or Parquet files.

    Weitere Informationen zum Migrieren von Daten und ETL aus einer Teradata-Umgebung finden Sie in der Teradata-Dokumentation.For detailed information about the process of migrating data and ETL from a Teradata environment, see the Teradata documentation.

    Empfehlungen für die LeistungsoptimierungPerformance-tuning recommendations

    In Bezug auf die Optimierung bestehen gewisse Unterschiede zwischen den Plattformen.The platforms have some differences when it comes to optimization. In der folgenden Übersicht der Empfehlungen zur Leistungsoptimierung werden spezifische Unterschiede zwischen Teradata und Azure Synapse sowie Migrationsalternativen hervorgehoben:In the following list of performance-tuning recommendations, lower-level implementation differences between Teradata and Azure Synapse and alternatives for your migration are highlighted:

    • Optionen für die Datenverteilung: In Azure können Sie die Datenverteilungsmethoden für einzelne Tabellen festlegen.Data distribution options: In Azure, you can set the data distribution methods for individual tables. Der Zweck dieser Funktionalität besteht darin, die Datenmenge zu reduzieren, die zwischen den Verarbeitungsknoten ausgetauscht wird, wenn eine Abfrage ausgeführt wird.The purpose of the functionality is to reduce the amount of data that moves between processing nodes when a query is executed.

      Bei Verknüpfungen großer Tabellen miteinander wird durch die Hashverteilung von einer Tabelle oder (idealerweise beiden) in den Joinspalten sichergestellt, dass die Joinverarbeitung lokal ausgeführt werden kann, da sich die zu verknüpfenden Datenzeilen bereits auf demselben Verarbeitungsknoten befinden.For large table/large table joins, hash distributing in one or both (ideally, both) tables on the join columns helps ensure that join processing can be performed locally because the data rows to be joined are already colocated on the same processing node.

      Azure Synapse sieht eine zusätzliche Methode vor, um kleine und große Tabellen in einem Sternschemamodell lokal zu verknüpfen (oft als Verknüpfung zwischen einer Dimensions- und einer Faktentabelle bezeichnet).Azure Synapse provides an additional way to achieve local joins for small table/large table joins (often called a dimension table/fact table join in a star schema model). Sie replizieren die kleinere Tabelle auf allen Knoten. Dies stellt sicher, dass jeder Wert des Verknüpfungsschlüssels für die größere Tabelle eine übereinstimmende Dimensionszeile enthält, die lokal verfügbar ist.You replicate the smaller table across all nodes, thereby ensuring that any value of the join key for the larger table has a matching dimension row that's locally available. Der Mehraufwand für die Replikation der Dimensionstabelle ist relativ gering, sofern die Tabellen nicht groß sind.The overhead of replicating the dimension table is relatively low if the tables aren't large. Andernfalls wäre die Verwendung einer Hashverteilung (wie zuvor beschrieben) vorzuziehen.In this case, using the hash distribution approach described earlier is preferable.

    • Datenindizierung: Azure Synapse bietet verschiedene Indizierungsoptionen. Diese unterscheiden sich jedoch in der Funktionsweise und der Nutzung von Indizierungsoptionen in Teradata.Data indexing: Azure Synapse provides various indexing options, but the options are different in operation and usage from indexing options in Teradata. Weitere Informationen zu den Indizierungsoptionen in Azure Synapse finden Sie unter Entwurfstabellen in einem Azure Synapse-Pool.To learn about the indexing options in Azure Synapse, see Design tables in an Azure Synapse pool.

      Vorhandene Indizes in der Teradata-Quellumgebung können einen nützlichen Hinweis auf die aktuelle Verwendungsweise von Daten geben. Außerdem können sie darauf hindeuten, welche Spalten in der Azure Synapse-Umgebung indiziert werden sollten.Existing indexes in the source Teradata environment can provide a useful indication of how data is used and provide an indication of candidate columns for indexing in the Azure Synapse environment.

    • Datenpartitionierung: Im Data Warehouse eines Unternehmens können Faktentabellen Milliarden von Datenzeilen enthalten.Data partitioning: In an enterprise data warehouse, fact tables might contain many billions of rows of data. Die Partitionierung ist eine Methode, um die Wartung und das Abfragen dieser Tabellen zu optimieren.Partitioning is a way to optimize maintenance and querying in these tables. Durch Aufteilen der Tabellen in separate Teile wird die Menge der Daten reduziert, die gleichzeitig verarbeitet werden.Splitting the tables into separate parts reduces the amount of data processed at one time. Die Partitionierung einer Tabelle wird in der CREATE TABLE-Anweisung definiert.Partitioning for a table is defined in the CREATE TABLE statement.

      Für die Partitionierung kann nur ein Feld pro Tabelle verwendet werden.Only one field per table can be used for partitioning. Bei dem für die Partitionierung verwendeten Feld handelt es sich häufig um ein Datumsfeld, da viele Abfragen nach Datum oder nach einem Datumsbereich gefiltert werden.The field that's used for partitioning frequently is a date field because many queries are filtered by date or by a date range. Die Partitionierung einer Tabelle kann nach dem ersten Laden geändert werden.You can change the partitioning of a table after initial load. Zu diesem Zweck müssen Sie die Tabelle mit einer neuen Verteilung neu erstellen, die die CREATE TABLE AS SELECT-Anweisung verwendet.To change a table's partitioning, re-create the table with a new distribution that uses the CREATE TABLE AS SELECT statement. Eine ausführliche Erläuterung der Partitionierung in Azure Synapse finden Sie unter Partitionieren von Tabellen in einem Synapse-SQL-Pool.For a detailed description of partitioning in Azure Synapse, see Partition tables in an Azure Synapse SQL pool.

    • Datentabellenstatistiken: Sie können sicherstellen, dass die Statistiken zu Datentabellen auf dem neuesten Stand sind, indem Sie einen COLLECT STATISTICS-Schritt in ETL/ELT-Jobs hinzufügen oder indem Sie die automatische Statistiksammlung für die Tabelle aktivieren.Data table statistics: You can ensure that statistics about data tables are up to date by adding a COLLECT STATISTICS step in ETL/ELT jobs or by enabling automatic statistics collection on the table.

    • PolyBase zum Laden von Daten: PolyBase ist die effizienteste Methode, um große Datenmengen in ein Warehouse zu laden.PolyBase for data loading: PolyBase is the most efficient method to use to load large amounts of data into a warehouse. Mit PolyBase können Daten auch in parallelen Streams geladen werden.You can use PolyBase to load data in parallel streams.

    • Ressourcenklassen für die Workloadverwaltung: Azure Synapse verwendet Ressourcenklassen zum Verwalten von Workloads.Resource classes for workload management: Azure Synapse uses resource classes to manage workloads. Im Allgemeinen verbessern große Ressourcenklassen die Leistung einzelner Abfragen.In general, large resource classes provide better individual query performance. Kleinere Ressourcenklassen hingegen erhöhen das Maß von Parallelität.Smaller resource classes give you higher levels of concurrency. Sie können die Auslastung über dynamische Verwaltungssichten überwachen, um sicherzustellen, dass die entsprechenden Ressourcen effizient verwendet werden.You can use dynamic management views to monitor utilization to help ensure that the appropriate resources are used efficiently.

    Nächste SchritteNext steps

    Weitere Informationen zum Implementieren einer Teradata-Migration erhalten Sie bei Ihrem Microsoft-Kontovertreter, der Sie gerne über lokale Migrationsangebote informiert.For more information about implementing a Teradata migration, talk with your Microsoft account representative about on-premises migration offers.