Soluzioni e migrazione di Azure sinapsi Analytics per TeradataAzure Synapse Analytics solutions and migration for Teradata

Molte organizzazioni sono pronte a passare da un'attività di data warehouse costosa, come la manutenzione dell'infrastruttura e lo sviluppo di piattaforme a un provider di servizi cloud.Many organizations are ready to take the step of shifting expensive data warehouse tasks like infrastructure maintenance and platform development to a cloud provider. Le organizzazioni stanno ora cercando di sfruttare i vantaggi del cloud innovativo, dell'infrastruttura distribuita come servizio e delle offerte di piattaforma come servizio in ambienti più recenti come Azure.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 sinapsi Analytics è un servizio di analisi senza limiti che riunisce data warehousing aziendale e analisi Big Data.Azure Synapse Analytics is a limitless analytics service that brings together enterprise data warehousing and big data analytics. Offre la possibilità di eseguire query sui dati in base alla scalabilità usando risorse su richiesta o con provisioning senza server.It gives you the freedom to query data on your terms at scale by using either serverless on-demand or provisioned resources. Informazioni sugli elementi da pianificare durante la migrazione di un sistema Teradata legacy a sinapsi di Azure.Learn what to plan for as you migrate a legacy Teradata system to Azure Synapse.

Sebbene Teradata e la sinapsi di Azure siano simili, sono entrambi database SQL progettati per utilizzare tecniche di elaborazione parallela massiva per ottenere prestazioni di query elevate su volumi di dati di grandi dimensioni, ma presentano alcune differenze di base: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:

  • I sistemi Teradata legacy vengono installati in locale e utilizzano hardware proprietario.Legacy Teradata systems are installed on-premises, and they use proprietary hardware. La sinapsi di Azure è basata sul cloud e usa risorse di calcolo e di archiviazione di Azure.Azure Synapse is cloud-based and uses Azure compute and storage resources.
  • L'aggiornamento di una configurazione Teradata è un'attività fondamentale che prevede hardware fisico aggiuntivo e una riconfigurazione del database potenzialmente lunga oppure un dump e un ricaricamento.Upgrading a Teradata configuration is a major task that involves extra physical hardware and a potentially lengthy database reconfiguration or dump and reload. In sinapsi di Azure le risorse di calcolo e archiviazione sono separate, quindi è possibile aumentare o ridurre facilmente le prestazioni in modo indipendente tramite la scalabilità elastica di Azure.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.
  • Senza un sistema fisico per supportare, è possibile sospendere o ridimensionare le sinapsi di Azure in base alle esigenze per ridurre l'utilizzo delle risorse e i costi.Without a physical system to support, you can pause or resize Azure Synapse as needed to reduce resource utilization and cost. In Azure è possibile accedere a un ambiente cloud disponibile a livello globale, altamente sicuro e scalabile che include la sinapsi di Azure in un ecosistema di strumenti e funzionalità di supporto.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.

Questo articolo illustra la migrazione dello schema, con l'obiettivo di ottenere prestazioni equivalenti o migliorate della data warehouse Teradata migrata e dei data mart nella sinapsi di Azure.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. Si tratta di considerazioni che si applicano in modo specifico alla migrazione da un ambiente Teradata esistente.We consider concerns that apply specifically to migrating from an existing Teradata environment.

A un livello elevato, il processo di migrazione include i passaggi elencati nella tabella seguente:At a high level, the migration process includes the steps that are listed in the following table:

PreparazionePreparation MigrazioneMigration Post-migrazionePost-migration
  • Definire l'ambito: di cosa si vuole eseguire la migrazione?Define scope: what do we want to migrate?
  • Creazione di un inventario di dati e processi per la migrazione.Build an inventory of data and processes to migrate.
  • Definire le modifiche apportate al modello di dati.Define any data model changes.
  • Identificare i migliori strumenti e funzionalità di Azure e di terze parti da usare.Identify the best Azure and third-party tools and features to use.
  • Esegui il training del personale in anticipo nella nuova piattaforma.Train staff early on the new platform.
  • Configurare la piattaforma di destinazione di Azure.Set up the Azure target platform.
  • Avvio piccolo e semplice.Start small and simple.
  • Automatizzare laddove possibile.Automate where possible.
  • Usare gli strumenti e le funzionalità predefiniti di Azure per ridurre il lavoro richiesto per la migrazione.Use Azure built-in tools and features to reduce the migration effort.
  • Eseguire la migrazione dei metadati per tabelle e viste.Migrate metadata for tables and views.
  • Eseguire la migrazione dei dati cronologici pertinenti.Migrate relevant historical data.
  • Eseguire la migrazione o effettuare il refactoring di stored procedure e processi aziendali.Migrate or refactor stored procedures and business processes.
  • Eseguire la migrazione o effettuare il refactoring dei processi di caricamento incrementale di ETL/ELT.Migrate or refactor ETL/ELT incremental load processes.
  • Monitorare e documentare tutte le fasi del processo di migrazione.Monitor and document all stages of the migration process.
  • Usare l'esperienza acquisita per creare un modello per migrazioni future.Use experience gained to build a template for future migrations.
  • Rimotorizzare il modello di dati, se necessario, usando le prestazioni e la scalabilità della nuova piattaforma.Reengineer the data model if necessary by using the new platform's performance and scalability.
  • Testare le applicazioni e gli strumenti di query.Test applications and query tools.
  • Benchmark e ottimizzare le prestazioni delle query.Benchmark and optimize query performance.

Quando si esegue la migrazione da un ambiente Teradata legacy ad Azure sinapsi, oltre agli argomenti più generali descritti nella documentazione di Teradata, è necessario prendere in considerazione alcuni fattori specifici.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.

Carico di lavoro di migrazione inizialeInitial migration workload

Gli ambienti Teradata legacy in genere evolvono nel tempo per includere più aree di interesse e carichi di lavoro misti.Legacy Teradata environments typically evolve over time to encompass multiple subject areas and mixed workloads. Quando si decide dove iniziare con un progetto di migrazione iniziale, è opportuno scegliere un'area che:When you're deciding where to start on an initial migration project, it makes sense to choose an area that:

  • Dimostra la redditività della migrazione alla sinapsi di Azure fornendo rapidamente i vantaggi del nuovo ambiente.Proves the viability of migrating to Azure Synapse by quickly delivering the benefits of the new environment.
  • Consente al personale tecnico interno di acquisire esperienza con nuovi processi e strumenti in modo che possano usarli per eseguire la migrazione di altre aree.Allows in-house technical staff to gain experience with new processes and tools so that they can use them to migrate other areas.
  • Consente di creare un modello basato sugli strumenti e i processi correnti da usare per la migrazione aggiuntiva dall'ambiente Teradata di origine.Creates a template based on the current tools and processes to use in additional migration from the source Teradata environment.

Un buon candidato per una migrazione iniziale da un ambiente Teradata in grado di supportare questi obiettivi è in genere uno che implementa un carico di lavoro Power BI/Analytics invece che un carico di lavoro OLTP.A good candidate for an initial migration from a Teradata environment that would support these objectives usually is one that implements a Power BI/analytics workload rather than an OLTP workload. Il carico di lavoro deve avere un modello di dati di cui è possibile eseguire la migrazione con modifiche minime, ad esempio uno schema a stella o a fiocco di neve.The workload should have a data model that can be migrated with minimal modifications, such as a star or snowflake schema.

Per quanto riguarda le dimensioni, è importante che il volume di dati migrato nell'esercizio iniziale sia sufficiente per dimostrare le funzionalità e i vantaggi dell'ambiente sinapsi di Azure con un breve periodo di tempo per dimostrare il valore.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. Le dimensioni che in genere soddisfano i requisiti sono comprese tra 1 e 10 terabyte (TB).The size that typically meets the requirements is in the range of 1 to 10 terabytes (TB).

Un approccio per il progetto di migrazione iniziale che riduce al minimo il rischio e il tempo di implementazione consiste nel limitare l'ambito della migrazione ai Data Mart.An approach for the initial migration project that minimizes risk and implementation time is to confine the scope of the migration to data marts. In Teradata, un esempio efficace è la parte del database OLAP di un data warehouse Teradata.In Teradata, a good example is the OLAP database part of a Teradata data warehouse. Questo approccio è un valido punto di partenza perché limita l'ambito della migrazione e spesso può essere eseguito su una breve scala cronologica.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.

Un ambito di migrazione iniziale dei data mart non risolve solo problemi più ampi come la migrazione di dati ETL e cronologici.An initial migration scope of data marts only doesn't address broader concerns like how to migrate ETL and historical data. È necessario risolvere queste aree nelle fasi successive e quindi eseguire il recupero del livello di data mart migrato con i dati e i processi necessari per compilarli.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.

Approccio Lift-and-Shift rispetto a un approccio gradualeLift-and-shift approach vs. phased approach

Indipendentemente dai driver e dall'ambito scelti per la migrazione, è possibile scegliere tra due tipi generali di migrazioni:Regardless of the drivers and scope you choose for your migration, you can choose from two general types of migrations:

  • Approccio Lift-and-Shift: Con questo approccio, il modello di dati esistente, ad esempio uno schema a stella, viene migrato senza modifiche alla nuova piattaforma di Azure sinapsi.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. L'enfasi è relativa alla riduzione del rischio e al tempo necessario per eseguire la migrazione riducendo il lavoro necessario per ottenere i vantaggi derivanti dal passaggio all'ambiente cloud di Azure.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.

    Questo approccio è ideale per gli ambienti Teradata esistenti in cui è necessario eseguire la migrazione di un singolo data mart e se i dati sono già in uno schema a stella o a fiocco di neve ben progettato.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. Questo approccio è una scelta ottimale anche se si hanno pressioni in termini di tempo e costi per passare a un ambiente cloud più moderno.This approach is a good choice also if you have time and cost pressures to move to a more modern cloud environment.

  • Approccio in più fasi che incorpora modifiche: Se il data warehouse legacy si è evoluto nel tempo, potrebbe essere necessario rimotorizzare il data warehouse per mantenere le prestazioni necessarie o per supportare nuove origini dati come i flussi Internet.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. La migrazione a sinapsi di Azure per i vantaggi noti di un ambiente cloud scalabile potrebbe essere considerata parte del processo di riprogettazione.Migrating to Azure Synapse for the well-known benefits of a scalable cloud environment might be considered part of the reengineering process. Questo processo potrebbe includere la modifica del modello di dati sottostante, ad esempio il passaggio da un modello Inmon all'insieme di credenziali dati di Azure.This process might include changing the underlying data model, such as moving from an Inmon model to Azure Data Vault.

    L'approccio consigliato consiste nell'spostare inizialmente il modello di dati esistente così com'è in Azure.The approach we recommend is to initially move the existing data model as-is to Azure. Sfruttare quindi i vantaggi delle prestazioni e della flessibilità dei servizi di Azure per applicare le modifiche di riprogettazione senza influire sul sistema di origine esistente.Then, take advantage of the performance and flexibility of Azure services to apply the reengineering changes without affecting the existing source system.

Percorso della macchina virtuale per supportare la migrazioneVirtual machine colocation to support migration

Un approccio facoltativo per la migrazione da un ambiente Teradata locale sfrutta i vantaggi dell'archiviazione cloud e della scalabilità elastica in Azure.An optional approach to migrate from an on-premises Teradata environment takes advantage of inexpensive cloud storage and elastic scalability in Azure. In primo luogo, si crea un'istanza di Teradata in una macchina virtuale di Azure con percorso condiviso con l'ambiente di Azure sinapsi di destinazione.First, you create a Teradata instance on an Azure virtual machine that's colocated with the target Azure Synapse environment. Si usa quindi un'utilità Teradata standard, ad esempio Teradata Parallel Transporter o uno strumento di replica dei dati di terze parti come Qlik replicate (in precedenza da Attunity) per spostare in modo efficiente il subset di tabelle Teradata di cui si sta eseguendo la migrazione all'istanza di macchina virtuale.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. Tutte le attività di migrazione si verificano nell'ambiente Azure.All migration tasks take place in the Azure environment.

Questo approccio offre diversi vantaggi:This approach has several benefits:

  • Dopo la replica iniziale dei dati, il sistema di origine non è interessato da altre attività di migrazione.After the initial replication of data, the source system isn't affected by other migration tasks.
  • Le interfacce, gli strumenti e le utilità Teradata comuni sono disponibili nell'ambiente Azure.Familiar Teradata interfaces, tools, and utilities are available in the Azure environment.
  • Dopo che la migrazione è stata spostata nell'ambiente Azure, non si riscontrano problemi potenziali con la disponibilità della larghezza di banda di rete tra il sistema di origine locale e il sistema di destinazione cloud.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.
  • Strumenti come Azure Data Factory chiamano in modo efficiente utilità, ad esempio Teradata Parallel Transporter, per migrare i dati in modo rapido e semplice.Tools like Azure Data Factory efficiently call utilities like Teradata Parallel Transporter to migrate data quickly and easily.
  • Il processo di migrazione è orchestrato e controllato interamente dall'ambiente Azure.The migration process is orchestrated and controlled entirely from within the Azure environment.

Migrazione di metadatiMetadata migration

È opportuno automatizzare e orchestrare il processo di migrazione usando le funzionalità dell'ambiente Azure.It makes sense to automate and orchestrate the migration process by using the capabilities of the Azure environment. Questo approccio riduce al minimo l'impatto sull'ambiente Teradata esistente, che potrebbe essere già in esecuzione vicino alla capacità completa.This approach minimizes impact on the existing Teradata environment, which might already be running close to full capacity.

Azure Data Factory è un servizio di integrazione di dati basato sul cloud.Azure Data Factory is a cloud-based data integration service. È possibile utilizzare Data Factory per creare flussi di lavoro basati sui dati nel cloud per orchestrare e automatizzare lo spostamento e la trasformazione dei dati.You can use Data Factory to create data-driven workflows in the cloud to orchestrate and automate data movement and data transformation. Data Factory pipeline possono inserire dati da archivi dati diversi.Data Factory pipelines can ingest data from disparate datastores. Quindi elaborano e trasformano i dati usando servizi di calcolo come Azure HDInsight per Apache Hadoop e Apache Spark, Azure Data Lake Analytics e Azure Machine Learning.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.

Per iniziare, creare i metadati in cui sono elencate le tabelle di dati di cui si desidera eseguire la migrazione insieme alle rispettive posizioni.Start by creating metadata that lists the data tables you want to migrate along with their locations. Usare quindi Data Factory funzionalità per gestire il processo di migrazione.Then, use Data Factory capabilities to manage the migration process.

Differenze di progettazione tra Teradata e la sinapsi di AzureDesign differences between Teradata and Azure Synapse

Quando si pianifica la migrazione da un ambiente Teradata legacy a una sinapsi di Azure, è importante prendere in considerazione le differenze di progettazione tra le due piattaforme.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.

Confronto tra più database e un singolo database e schemiMultiple databases vs. a single database and schemas

In un ambiente Teradata possono esistere più database distinti per diverse parti dell'ambiente globale.In a Teradata environment, you might have multiple, separate databases for different parts of the overall environment. Ad esempio, è possibile disporre di un database separato per le tabelle di gestione temporanea e di inserimento dei dati, un database per le tabelle di warehouse core e un altro database per i Data Mart (talvolta denominato livello semantico).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). L'elaborazione di database distinti come pipeline ETL/ELT in Azure sinapsi potrebbe richiedere l'implementazione di join tra database e lo sviluppo di dati tra database distinti.Processing separate databases as ETL/ELT pipelines in Azure Synapse might require implementing cross-database joins and moving data between the separate databases.

L'ambiente di Azure sinapsi dispone di un database singolo.The Azure Synapse environment has a single database. Gli schemi vengono usati per separare le tabelle in gruppi logicamente distinti.Schemas are used to separate tables into logically separate groups. Si consiglia di usare una serie di schemi in sinapsi di Azure per simulare eventuali database distinti di cui si esegue la migrazione da Teradata.We recommend that you use a series of schemas in Azure Synapse to mimic any separate databases you migrate from Teradata.

Se si utilizzano gli schemi nell'ambiente Teradata, potrebbe essere necessario utilizzare una nuova convenzione di denominazione per spostare le tabelle e le viste Teradata esistenti nel nuovo ambiente.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. Ad esempio, è possibile concatenare i nomi delle tabelle e dello schema Teradata esistenti nel nuovo nome della tabella di Azure sinapsi, quindi utilizzare i nomi degli schemi nel nuovo ambiente per mantenere i nomi di database separati originali.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.

Un'altra opzione consiste nell'utilizzare viste SQL sulle tabelle sottostanti per mantenere le relative strutture logiche.Another option is to use SQL views over the underlying tables to maintain their logical structures. L'utilizzo delle viste SQL presenta alcuni potenziali svantaggi:There are some potential downsides to using SQL views:

  • Le visualizzazioni in sinapsi di Azure sono di sola lettura, pertanto è necessario apportare eventuali aggiornamenti ai dati nelle tabelle di base sottostanti.Views in Azure Synapse are read-only, so you must make any updates to the data on the underlying base tables.
  • Se esistono già livelli di viste, l'aggiunta di un altro livello di visualizzazioni potrebbe influire sulle prestazioni.If layers of views already exist, adding another layer of views might affect performance.

TabelleTables

Quando si esegue la migrazione di tabelle tra tecnologie diverse, si spostano fisicamente solo i dati non elaborati e i metadati che lo descrivono tra i due ambienti.When you migrate tables between different technologies, you physically move only raw data and the metadata that describes it between the two environments. Non si esegue la migrazione di elementi di database come gli indici dal sistema di origine perché potrebbero non essere necessari o possono essere implementati in modo diverso nel nuovo ambiente.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.

Tuttavia, la comprensione della posizione in cui le ottimizzazioni delle prestazioni, come gli indici, sono state usate nell'ambiente di origine può essere utile per individuare il punto in cui è possibile ottimizzare le prestazioni nel nuovo ambiente.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. Se, ad esempio, un indice secondario non univoco è stato creato nell'ambiente Teradata di origine, è possibile concludere che sarebbe vantaggioso creare un indice non cluster nell'ambiente di Azure sinapsi migrato o che l'utilizzo di altre tecniche di ottimizzazione delle prestazioni native come la replica della tabella potrebbe essere preferibile alla creazione di un indice simile a.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.

Database a disponibilità elevataHigh availability database

Teradata supporta la replica dei dati tra i nodi tramite l' FALLBACK opzione.Teradata supports data replication across nodes via the FALLBACK option. Le righe della tabella che risiedono fisicamente in un nodo vengono replicate in un altro nodo all'interno del sistema.Table rows that reside physically on a node are replicated to another node within the system. Questo approccio garantisce che i dati non vengano persi in caso di errore di un nodo e che fornisce la base per gli scenari di failover.This approach guarantees that data isn't lost if a node fails, and it provides the basis for failover scenarios.

L'obiettivo dell'architettura a disponibilità elevata nel database SQL di Azure è garantire che il database sia in esecuzione il 99,99% del tempo.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. Non è necessario considerare il modo in cui le operazioni di manutenzione e le interruzioni potrebbero influire sul carico di lavoro.You don't need to consider how maintenance operations and outages might affect your workload. Azure gestisce automaticamente le attività di manutenzione critiche, come l'applicazione di patch, i backup e gli aggiornamenti di Windows e SQL, nonché eventi non pianificati come l'hardware, il software o gli errori di rete sottostanti.Azure automatically handles critical servicing tasks like patching, backups, and Windows and SQL upgrades, and unplanned events like underlying hardware, software, or network failures.

Gli snapshot sono una funzionalità incorporata del servizio che crea punti di ripristino in sinapsi di Azure.Snapshots are a built-in feature of the service that creates restore points in Azure Synapse. Gli snapshot forniscono il backup automatico per l'archiviazione dei dati in sinapsi di Azure.Snapshots provide automatic backup for data storage in Azure Synapse. Non è necessario abilitare la funzionalità.You don't have to enable the capability. Attualmente, i singoli utenti non possono eliminare i punti di ripristino automatici utilizzati dal servizio per gestire i contratti di servizio per il ripristino.Currently, individual users can't delete automatic restore points that the service uses to maintain SLAs for recovery.

La sinapsi di Azure acquisisce snapshot del data warehouse nel corso della giornata.Azure Synapse takes snapshots of the data warehouse throughout the day. I punti di ripristino creati sono disponibili per sette giorni.The restore points that it creates are available for seven days. Il periodo di conservazione non può essere modificato.The retention period can't be changed. La sinapsi di Azure supporta un obiettivo del punto di ripristino di otto ore.Azure Synapse supports an eight-hour recovery point objective. È possibile ripristinare il data warehouse nell'area primaria da uno qualsiasi degli snapshot eseguiti negli ultimi sette giorni.You can restore your data warehouse in the primary region from any of the snapshots taken in the past seven days. Se l'organizzazione necessita di backup più granulari, sono disponibili altre opzioni definite dall'utente.Other user-defined options are available if your organization needs more granular backups.

Tipi di tabella Teradata non supportatiUnsupported Teradata table types

Teradata include il supporto per i tipi di tabella speciali per la serie temporale e i dati temporali.Teradata includes support for special table types for time series and temporal data. La sinapsi di Azure non supporta direttamente la sintassi e alcune funzioni per questi tipi di tabella, ma è possibile eseguire la migrazione dei dati in una tabella standard con i tipi di dati e l'indicizzazione o il partizionamento richiesti nella colonna data/ora.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 implementa la funzionalità di query temporali usando la riscrittura di query per aggiungere filtri a una query temporale per limitare l'intervallo di date applicabile.Teradata implements temporal query functionality by using query rewriting to add filters to a temporal query to limit the applicable date range. Se si usano query temporali nell'ambiente Teradata di origine e si vuole eseguirne la migrazione, è necessario aggiungere filtri alle query temporali pertinenti.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.

L'ambiente Azure include anche le funzionalità per l'analisi complessa sui dati della serie temporale su larga scala tramite 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 è progettato per le applicazioni di analisi dei dati e potrebbe essere più appropriato per questo caso d'uso.Time Series Insights is designed for IoT data analysis applications, and it might be more appropriate for that use case. Per ulteriori informazioni, vedere Azure Time Series Insights.For more information, see Azure Time Series Insights.

Mapping dei tipi di dati TeradataTeradata data type mapping

Alcuni tipi di dati Teradata non sono direttamente supportati in sinapsi di Azure.Some Teradata data types aren't directly supported in Azure Synapse. Nella tabella seguente vengono illustrati questi tipi di dati e l'approccio consigliato per gestirli.The following table shows these data types and the recommended approach for handling them. Nella tabella, il tipo di colonna Teradata è il tipo archiviato nel catalogo di sistema, ad esempio 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).

Usare i metadati delle tabelle del catalogo Teradata per determinare se è necessario eseguire la migrazione di uno di questi tipi di dati e quindi pianificare il supporto delle risorse nel piano di migrazione.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. Ad esempio, è possibile usare una query SQL come quella nella sezione successiva per trovare le occorrenze dei tipi di dati non supportati che è necessario risolvere.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.

I fornitori di terze parti offrono strumenti e servizi che consentono di automatizzare la migrazione, incluso il mapping dei tipi di dati tra piattaforme.Third-party vendors offer tools and services that can automate migration, including mapping data types between platforms. Se si usa già uno strumento ETL di terze parti come informatica o Talend nell'ambiente Teradata, è possibile usare lo strumento per implementare le trasformazioni di dati necessarie.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.

Differenze di sintassi DML (Data Manipulation Language) SQLSQL Data Manipulation Language (DML) syntax differences

È necessario tenere presente alcune differenze nella sintassi DML (Data Manipulation Language) SQL tra Teradata SQL e la sinapsi di Azure:You should be aware of a few differences in SQL Data Manipulation Language (DML) syntax between Teradata SQL and Azure Synapse:

  • QUALIFY: Teradata supporta l' QUALIFY operatore.QUALIFY: Teradata supports the QUALIFY operator.

    Ad esempio:For example:

    SELECT col1 FROM tab1 WHERE col1='XYZ'

    Strumenti e servizi di terze parti possono automatizzare le attività di mapping dei dati:Third-party tools and services can automate data-mapping tasks:

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

    In sinapsi di Azure è possibile ottenere lo stesso risultato usando la sintassi seguente: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;

  • Aritmetica di data: La sinapsi di Azure include operatori quali DATEADD e DATEDIFF , che è possibile usare in DATE o DATETIME .Date arithmetic: Azure Synapse has operators like DATEADD and DATEDIFF, which you can use on DATE or DATETIME.

    Teradata supporta la sottrazione diretta sulle date:Teradata supports direct subtraction on dates:

    • SELECT DATE1 - DATE2 FROM ...

    • Sintassi LIKE ANYLIKE ANY syntax

      Esempio:Example:

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

      L'equivalente nella sintassi di sinapsi di Azure è:The equivalent in Azure Synapse syntax is:

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

  • A seconda delle impostazioni di sistema, i confronti di caratteri in Teradata potrebbero non essere specifici del caso per impostazione predefinita.Depending on system settings, character comparisons in Teradata might not be case-specific by default. In sinapsi di Azure, questi confronti sono sempre specifici del caso.In Azure Synapse, these comparisons are always case-specific.

Funzioni, stored procedure, trigger e sequenzeFunctions, stored procedures, triggers, and sequences

Quando si esegue la migrazione di un data warehouse da un ambiente legacy maturo come Teradata, spesso è necessario eseguire la migrazione di elementi diversi dalle semplici tabelle e viste al nuovo ambiente di destinazione.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. Esempi di elementi non tabella in Teradata che potrebbero essere necessari per eseguire la migrazione a sinapsi di Azure sono funzioni, stored procedure, trigger e sequenze.Examples of non-table elements in Teradata that you might need to migrate to Azure Synapse are functions, stored procedures, triggers, and sequences. Durante la fase di preparazione della migrazione, è necessario creare un inventario di oggetti da migrare.During the preparation phase of the migration, you should create an inventory of objects to migrate. Nel piano del progetto definire il metodo di gestione di tutti gli oggetti e allocare le risorse appropriate per eseguirne la migrazione.In the project plan, define the method of handling all objects and allocate the appropriate resources to migrate them.

È possibile trovare servizi nell'ambiente Azure che sostituiscono la funzionalità implementata come funzioni o stored procedure nell'ambiente Teradata.You might find services in the Azure environment that replace the functionality implemented as functions or stored procedures in the Teradata environment. In genere, è più efficiente usare le funzionalità di Azure predefinite anziché ricodificare le funzioni Teradata.Usually, it's more efficient to use the built-in Azure capabilities instead of recoding the Teradata functions.

Di seguito sono riportate ulteriori informazioni sulla migrazione di funzioni, stored procedure, trigger e sequenze:Here's more information about migrating functions, stored procedures, triggers, and sequences:

  • Funzioni: Come la maggior parte dei prodotti di database, Teradata supporta le funzioni di sistema e le funzioni definite dall'utente in un'implementazione SQL.Functions: Like most database products, Teradata supports system functions and user-defined functions in a SQL implementation. Quando si esegue la migrazione delle funzioni di sistema comuni a un'altra piattaforma di database come le sinapsi di Azure, sono in genere disponibili nel nuovo ambiente e possono essere migrate senza apportare modifiche.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. Se le funzioni di sistema hanno una sintassi leggermente diversa nel nuovo ambiente, in genere è possibile automatizzare le modifiche necessarie.If system functions have slightly different syntax in the new environment, you usually can automate the required changes.

    Potrebbe essere necessario ricodificare funzioni arbitrarie definite dall'utente e funzioni di sistema che non hanno equivalente nel nuovo ambiente.You might need to recode arbitrary user-defined functions and system functions that have no equivalent in the new environment. Usare le lingue disponibili nel nuovo ambiente.Use the languages that are available in the new environment. La sinapsi di Azure usa il linguaggio Transact-SQL comune per implementare funzioni definite dall'utente.Azure Synapse uses the popular Transact-SQL language to implement user-defined functions.

  • Stored procedure: Nella maggior parte dei prodotti di database moderni è possibile archiviare le routine nel database.Stored procedures: In most modern database products, you can store procedures n the database. Un stored procedure contiene in genere istruzioni SQL e una logica procedurale.A stored procedure typically contains SQL statements and some procedural logic. Potrebbe inoltre restituire dati o uno stato.It might also return data or a status.

    Teradata fornisce stored procedure linguaggio per la creazione di stored procedure.Teradata provides stored procedure language to create stored procedures. La sinapsi di Azure supporta stored procedure tramite T-SQL.Azure Synapse supports stored procedures by using T-SQL. Se si esegue la migrazione di stored procedure a una sinapsi di Azure, è necessario ricodificarle usando T-SQL.If you migrate stored procedures to Azure Synapse, you must recode them by using T-SQL.

  • Trigger: Non è possibile creare trigger in una sinapsi di Azure, ma è possibile implementare i trigger in Data Factory.Triggers: You can't create triggers in Azure Synapse, but you can implement triggers in Data Factory.

  • Sequenze: Le sequenze di sinapsi di Azure vengono gestite in modo analogo al modo in cui vengono gestite in Teradata.Sequences: Azure Synapse sequences are handled similarly to how they are handled in Teradata. Usare IDENTITY colonne o codice SQL per creare il numero di sequenza successivo in una serie.Use IDENTITY columns or SQL code to create the next sequence number in a series.

Metadati ed estrazione dei datiMetadata and data extraction

Quando si pianifica come estrarre i metadati e i dati dall'ambiente Teradata, tenere presenti le seguenti informazioni:Consider the following information when you plan how to extract metadata and data from the Teradata environment:

  • Generazione DDL (Data Definition Language): Come descritto in precedenza, è possibile modificare Teradata CREATE TABLE e script esistenti CREATE VIEW per creare le definizioni equivalenti, con i tipi di dati modificati, se necessario.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 questo scenario, in genere è necessario rimuovere clausole specifiche di Teradata aggiuntive (ad esempio, FALLBACK ).In this scenario, you usually must remove extra Teradata-specific clauses (for example, FALLBACK).

    Le informazioni che specificano le definizioni delle tabelle e delle viste correnti sono gestite nelle tabelle del catalogo di sistema.The information that specifies the current table and view definitions is maintained in system catalog tables. Le tabelle del catalogo di sistema rappresentano la migliore fonte di informazioni poiché le tabelle sono probabilmente aggiornate e complete.System catalog tables are the best source of the information because the tables likely are up to date and complete. La documentazione gestita dall'utente potrebbe non essere sincronizzata con le definizioni di tabella correnti.User-maintained documentation might not be in sync with current table definitions.

    È possibile accedere alle informazioni tramite le viste del catalogo, ad esempio DBC.ColumnsV .You can access the information by using views on the catalog, such as DBC.ColumnsV. È anche possibile usare le visualizzazioni per generare le CREATE TABLE istruzioni DDL (Data Definition Language) equivalenti per le tabelle equivalenti in sinapsi di Azure.You also can use views to generate the equivalent CREATE TABLE Data Definition Language (DDL) statements for the equivalent tables in Azure Synapse.

    La migrazione di terze parti e gli strumenti ETL utilizzano anche le informazioni del catalogo per ottenere lo stesso risultato.Third-party migration and ETL tools also use the catalog information to achieve the same result.

  • Estrazione dei datiData extraction

    Eseguire la migrazione dei dati non elaborati dalle tabelle Teradata esistenti usando utilità Teradata standard, ad esempio BTEQ e FASTEXPORT .Migrate the raw data from existing Teradata tables by using standard Teradata utilities like BTEQ and FASTEXPORT. In un esercizio di migrazione, è in genere importante estrarre i dati nel modo più efficiente possibile.In a migration exercise, it's generally important to extract the data as efficiently as possible. L'approccio consigliato per le versioni recenti di Teradata è quello di usare Teradata Parallel Transporter, un'utilità che usa più FASTEXPORT flussi paralleli per ottenere la migliore velocità effettiva.The approach we recommend for recent versions of Teradata is to use Teradata Parallel Transporter, a utility that uses multiple parallel FASTEXPORT streams to achieve the best throughput.

    È possibile chiamare Teradata Parallel transportator direttamente da Data Factory.You can call Teradata Parallel Transporter directly from Data Factory. Si consiglia di usare questo approccio per gestire il processo di migrazione dei dati, indipendentemente dal fatto che l'istanza Teradata sia locale o copiata in una macchina virtuale nell'ambiente Azure, come descritto in precedenza.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.

    I formati di dati consigliati per i dati estratti sono file di testo delimitati (detti anche valori delimitati da virgole), file a colonne di righe ottimizzate o file parquet.The data formats we recommend for extracted data are delimited text files (also called comma-separated values), optimized row columnar files, or Parquet files.

Per informazioni dettagliate sul processo di migrazione dei dati e ETL da un ambiente Teradata, vedere la documentazione di Teradata.For detailed information about the process of migrating data and ETL from a Teradata environment, see the Teradata documentation.

Suggerimenti per l'ottimizzazione delle prestazioniPerformance-tuning recommendations

Le piattaforme presentano alcune differenze per quanto riguarda l'ottimizzazione.The platforms have some differences when it comes to optimization. Nell'elenco seguente di raccomandazioni per l'ottimizzazione delle prestazioni sono evidenziate le differenze di implementazione di livello inferiore tra Teradata e la sinapsi di Azure e le alternative per la migrazione:In the following list of performance-tuning recommendations, lower-level implementation differences between Teradata and Azure Synapse and alternatives for your migration are highlighted:

  • Opzioni di distribuzione dei dati: In Azure è possibile impostare i metodi di distribuzione dei dati per le singole tabelle.Data distribution options: In Azure, you can set the data distribution methods for individual tables. Lo scopo della funzionalità è quello di ridurre la quantità di dati che si sposta tra i nodi di elaborazione quando viene eseguita una query.The purpose of the functionality is to reduce the amount of data that moves between processing nodes when a query is executed.

    Per i join di tabelle di grandi dimensioni o tabelle di grandi dimensioni, la distribuzione di hash in una o in entrambe le tabelle (idealmente entrambe) sulle colonne di join consente di garantire che l'elaborazione dei join possa essere eseguita localmente perché le righe di dati da unire in join sono già condivise nello stesso nodo di elaborazione.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.

    La sinapsi di Azure fornisce un modo aggiuntivo per ottenere i join locali per i join di tabelle di piccole dimensioni o tabelle di grandi dimensioni (spesso denominati tabella delle dimensioni/join della tabella dei fatti in un modello di schema a stella).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). La tabella più piccola viene replicata in tutti i nodi, garantendo in tal modo che qualsiasi valore della chiave di join per la tabella più grande disponga di una riga di dimensione corrispondente disponibile localmente.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. Il sovraccarico della replica della tabella delle dimensioni è relativamente basso se le tabelle non sono di grandi dimensioni.The overhead of replicating the dimension table is relatively low if the tables aren't large. In questo caso, è preferibile usare l'approccio di distribuzione hash descritto in precedenza.In this case, using the hash distribution approach described earlier is preferable.

  • Indicizzazione dei dati: La sinapsi di Azure offre diverse opzioni di indicizzazione, ma le opzioni sono diverse in operazioni e utilizzo dalle opzioni di indicizzazione in Teradata.Data indexing: Azure Synapse provides various indexing options, but the options are different in operation and usage from indexing options in Teradata. Per informazioni sulle opzioni di indicizzazione in sinapsi di Azure, vedere progettare tabelle in un pool di sinapsi di Azure.To learn about the indexing options in Azure Synapse, see Design tables in an Azure Synapse pool.

    Gli indici esistenti nell'ambiente Teradata di origine possono fornire un'indicazione utile del modo in cui i dati vengono usati e forniscono un'indicazione delle colonne candidate per l'indicizzazione nell'ambiente sinapsi di Azure.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.

  • Partizionamento dei dati: In un data warehouse aziendale, le tabelle dei fatti potrebbero contenere molti miliardi di righe di dati.Data partitioning: In an enterprise data warehouse, fact tables might contain many billions of rows of data. Il partizionamento è un modo per ottimizzare la manutenzione e l'esecuzione di query in queste tabelle.Partitioning is a way to optimize maintenance and querying in these tables. Suddividendo le tabelle in parti separate si riduce la quantità di dati elaborati in una sola volta.Splitting the tables into separate parts reduces the amount of data processed at one time. Il partizionamento per una tabella è definito nell' CREATE TABLE istruzione.Partitioning for a table is defined in the CREATE TABLE statement.

    Per il partizionamento è possibile utilizzare un solo campo per tabella.Only one field per table can be used for partitioning. Il campo usato per il partizionamento è spesso un campo data perché molte query vengono filtrate per data o per un intervallo di date.The field that's used for partitioning frequently is a date field because many queries are filtered by date or by a date range. È possibile modificare il partizionamento di una tabella dopo il caricamento iniziale.You can change the partitioning of a table after initial load. Per modificare il partizionamento di una tabella, creare nuovamente la tabella con una nuova distribuzione che utilizza l' CREATE TABLE AS SELECT istruzione.To change a table's partitioning, re-create the table with a new distribution that uses the CREATE TABLE AS SELECT statement. Per una descrizione dettagliata del partizionamento in sinapsi di Azure, vedere tabelle di partizionamento in un pool SQL di sinapsi di Azure.For a detailed description of partitioning in Azure Synapse, see Partition tables in an Azure Synapse SQL pool.

  • Statistiche tabella dati: È possibile assicurarsi che le statistiche sulle tabelle di dati siano aggiornate aggiungendo un COLLECT STATISTICS passaggio nei processi ETL/ELT oppure abilitando la raccolta automatica delle statistiche nella tabella.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.

  • Polibase per il caricamento dei dati: La polibase è il metodo più efficiente da usare per caricare grandi quantità di dati in un warehouse.PolyBase for data loading: PolyBase is the most efficient method to use to load large amounts of data into a warehouse. È possibile usare la polibase per caricare i dati in flussi paralleli.You can use PolyBase to load data in parallel streams.

  • Classi di risorse per la gestione del carico di lavoro: La sinapsi di Azure usa le classi di risorse per gestire i carichi di lavoro.Resource classes for workload management: Azure Synapse uses resource classes to manage workloads. In generale, le classi di risorse di grandi dimensioni forniscono prestazioni di query individuali migliori.In general, large resource classes provide better individual query performance. Classi di risorse più piccole offrono livelli di concorrenza più elevati.Smaller resource classes give you higher levels of concurrency. È possibile utilizzare le viste a gestione dinamica per monitorare l'utilizzo per garantire che le risorse appropriate vengano utilizzate in modo efficiente.You can use dynamic management views to monitor utilization to help ensure that the appropriate resources are used efficiently.

Passaggi successiviNext steps

Per ulteriori informazioni sull'implementazione di una migrazione Teradata, rivolgersi all'account Microsoft rappresentante sulle offerte di migrazione locali.For more information about implementing a Teradata migration, talk with your Microsoft account representative about on-premises migration offers.