Azure Synapse Analytics-lösningar och migrering för TeradataAzure Synapse Analytics solutions and migration for Teradata

Många organisationer är redo att ta steget med att byta dyra informations lager aktiviteter som infrastruktur underhåll och plattforms utveckling till en moln leverantör.Many organizations are ready to take the step of shifting expensive data warehouse tasks like infrastructure maintenance and platform development to a cloud provider. Organisationer vill nu dra nytta av nyskapande moln, infrastruktur som en tjänst och plattform som tjänst erbjudanden i nyare miljöer som 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 Synapse Analytics är en obegränsad analys tjänst som sammanför företags data lager hantering och stor data analys.Azure Synapse Analytics is a limitless analytics service that brings together enterprise data warehousing and big data analytics. Det ger dig friheten att fråga efter data på dina villkor genom att använda antingen Server lös eller etablerade resurser på begäran.It gives you the freedom to query data on your terms at scale by using either serverless on-demand or provisioned resources. Lär dig hur du planerar för när du migrerar ett äldre Teradata-system till Azure Synapse.Learn what to plan for as you migrate a legacy Teradata system to Azure Synapse.

Även om Teradata och Azure Synapse liknar de båda SQL-databaserna som är utformade för att kunna använda enorma parallella bearbetnings tekniker för att uppnå höga prestanda för stora data volymer, har de några grundläggande skillnader: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:

  • Äldre Teradata-system installeras lokalt och de använder tillverkarspecifik maskin vara.Legacy Teradata systems are installed on-premises, and they use proprietary hardware. Azure Synapse är molnbaserad och använder sig av Azures beräknings-och lagrings resurser.Azure Synapse is cloud-based and uses Azure compute and storage resources.
  • Uppgradering av en Teradata-konfiguration är en viktig uppgift som omfattar extra fysisk maskin vara och en potentiellt lång databas omkonfiguration eller dump och läsa in igen.Upgrading a Teradata configuration is a major task that involves extra physical hardware and a potentially lengthy database reconfiguration or dump and reload. I Azure Synapse är beräknings-och lagrings resurserna separata, så att du enkelt kan skala upp eller ned oberoende av den elastiska skalbarheten i 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.
  • Utan ett fysiskt system som stöder kan du pausa eller ändra storlek på Azure-Synapse efter behov för att minska resursutnyttjande och kostnad.Without a physical system to support, you can pause or resize Azure Synapse as needed to reduce resource utilization and cost. I Azure har du till gång till en globalt tillgänglig, mycket säker och skalbar moln miljö som innehåller Azure-Synapse i ett eko system med support verktyg och funktioner.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.

I den här artikeln tittar vi på schema migreringen, med målet att få motsvarande eller ökade prestanda för det migrerade Teradata-datalagret och data Marts på Azure Synapse.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. Vi tar hänsyn till vad som specifikt gäller att migrera från en befintlig Teradata-miljö.We consider concerns that apply specifically to migrating from an existing Teradata environment.

I hög grad innehåller migreringsprocessen de steg som anges i följande tabell:At a high level, the migration process includes the steps that are listed in the following table:

FörberedelsePreparation MigreringMigration Efter migreringenPost-migration
  • Definiera omfattning: Vad vill vi migrera?Define scope: What do we want to migrate?
  • Bygg en inventering av data och processer att migrera.Build an inventory of data and processes to migrate.
  • Definiera eventuella ändringar av data modellen.Define any data model changes.
  • Identifiera de bästa Azure och de verktyg och funktioner från tredje part som ska användas.Identify the best Azure and third-party tools and features to use.
  • Träna personalen tidigt på den nya plattformen.Train staff early on the new platform.
  • Konfigurera Azures mål plattform.Set up the Azure target platform.
  • Starta små och enkla.Start small and simple.
  • Automatisera om möjligt.Automate where possible.
  • Använd inbyggda Azure-verktyg och funktioner för att minska migreringens ansträngning.Use Azure built-in tools and features to reduce the migration effort.
  • Migrera metadata för tabeller och vyer.Migrate metadata for tables and views.
  • Migrera relevanta historiska data.Migrate relevant historical data.
  • Migrera eller återtvingande lagrade procedurer och affärs processer.Migrate or refactor stored procedures and business processes.
  • Migrera eller ta bort ETL-/ELT-stegvisa inläsnings processer.Migrate or refactor ETL/ELT incremental load processes.
  • Övervaka och dokumentera alla steg i migreringsprocessen.Monitor and document all stages of the migration process.
  • Använd vunna erfarenheter för att bygga en mall för framtida migreringar.Use experience gained to build a template for future migrations.
  • Förmotorerar data modellen vid behov genom att använda den nya plattformens prestanda och skalbarhet.Reengineer the data model, if necessary, by using the new platform's performance and scalability.
  • Testa program och verktyg för frågor.Test applications and query tools.
  • Prestandatest och optimerar frågornas prestanda.Benchmark and optimize query performance.
  • När du migrerar från en äldre Teradata-miljö till Azure Synapse, måste du, förutom de mer allmänna ämnen som beskrivs i den Teradata-dokumentationen, ta hänsyn till vissa faktorer.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.

    Första arbets belastning för migreringInitial migration workload

    Äldre Teradata-miljöer utvecklas vanligt vis med tiden för att omfatta flera ämnes områden och blandade arbets belastningar.Legacy Teradata environments typically evolve over time to encompass multiple subject areas and mixed workloads. När du bestämmer var du vill starta ett projekt med en första migrering, är det klokt att välja ett utrymme som:When you're deciding where to start on an initial migration project, it makes sense to choose an area that:

    • Förvarar kraften i att migrera till Azure Synapse genom att snabbt leverera fördelarna med den nya miljön.Proves the viability of migrating to Azure Synapse by quickly delivering the benefits of the new environment.
    • Gör det möjligt för IT-avdelningen att få erfarenhet av nya processer och verktyg så att de kan använda dem för att migrera andra områden.Allows in-house technical staff to gain experience with new processes and tools so that they can use them to migrate other areas.
    • Skapar en mall baserat på de aktuella verktyg och processer som ska användas i ytterligare migreringar från källans Teradata-miljö.Creates a template based on the current tools and processes to use in additional migrations from the source Teradata environment.

    En bra kandidat för en första migrering från en Teradata-miljö är en som implementerar en Power BI/analys-arbetsbelastning i stället för en OLTP-arbets belastning.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. Arbets belastningen bör ha en data modell som kan migreras med minimala ändringar, till exempel ett stjärn-eller snö schema.The workload should have a data model that can be migrated with minimal modifications, such as a star or snowflake schema.

    I storlek är det viktigt att den data volym som du migrerar i den inledande övningen är tillräckligt stor för att demonstrera funktionerna och fördelarna med Azure Synapse-miljön med en kort tid för att demonstrera värdet.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. Den storlek som normalt uppfyller kraven ligger i intervallet 1 till 10 terabyte (TB).The size that typically meets the requirements is in the range of 1 to 10 terabytes (TB).

    En metod för det första migreringsjobbet som minimerar risk-och implementerings tiden är att begränsa omfånget för migreringen till 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. I Teradata är ett exempel på en OLAP-databas som är en del av ett Teradata-informations lager.In Teradata, a good example is the OLAP database part of a Teradata data warehouse. Den här metoden är en bra utgångs punkt eftersom den begränsar omfånget för migreringen, och det går ofta att uppnå en kort tids skala.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.

    Ett ursprungligt migrerings omfång för data Marts hanterar inte bredare problem som att migrera ETL och historiska data.An initial migration scope of data marts only doesn't address broader concerns like how to migrate ETL and historical data. Du måste åtgärda dessa områden i senare faser och fylla i det migrerade data mart lagret med de data och processer som krävs för att bygga dem.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.

    Lyft och Shift-metoden kontra stegvis metodLift-and-shift approach vs. phased approach

    Oavsett vilka driv rutiner och omfattning du väljer för din migrering kan du välja mellan två allmänna typer av migreringar:Regardless of the drivers and scope you choose for your migration, you can choose from two general types of migrations:

    • Lyft och Skift-metod: I den här metoden migreras den befintliga data modellen, till exempel ett stjärn schema, oförändrad till den nya Azure Synapse-plattformen.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. Tyngd punkten är att minimera risken och hur lång tid det tar att migrera genom att minska det arbete som krävs för att uppnå fördelarna med att flytta till Azures moln miljö.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.

      Den här metoden passar bra för befintliga Teradata-miljöer där en enda data mart ska migreras och om data redan finns i en väl utformad stjärn-eller snö flingor-schema.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. Den här metoden är ett bra val även om du har tid och kostnads tryck för att flytta till en mer modern moln miljö.This approach is a good choice also if you have time and cost pressures to move to a more modern cloud environment.

    • Stegvis metod som omfattar ändringar: Om ditt äldre lager har utvecklats över tid kan du behöva göra om data lagret för att bibehålla de prestanda som krävs eller för att stödja nya data källor som IoT-strömmar.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. Att migrera till Azure Synapse för de välkända fördelarna med en skalbar moln miljö kan betraktas som en del av processen för behandling.Migrating to Azure Synapse for the well-known benefits of a scalable cloud environment might be considered part of the reengineering process. Den här processen kan omfatta ändring av den underliggande data modellen, till exempel att flytta från en inMon-modell till Azure Data Vault.This process might include changing the underlying data model, such as moving from an Inmon model to Azure Data Vault.

      Den metod vi rekommenderar är att först flytta den befintliga data modellen till Azure.The approach we recommend is to initially move the existing data model as-is to Azure. Dra sedan nytta av prestanda och flexibilitet för Azure-tjänster för att tillämpa de tekniska ändringarna utan att påverka det befintliga käll systemet.Then, take advantage of the performance and flexibility of Azure services to apply the reengineering changes without affecting the existing source system.

    Samplacering av virtuella datorer för att stödja migreringVirtual machine colocation to support migration

    En valfri metod för att migrera från en lokal Teradata-miljö drar nytta av billig moln lagring och elastisk skalbarhet i Azure.An optional approach to migrate from an on-premises Teradata environment takes advantage of inexpensive cloud storage and elastic scalability in Azure. Först skapar du en Teradata-instans på en virtuell Azure-dator som samverkar med Azure Synapse-miljön.First, you create a Teradata instance on an Azure virtual machine that's colocated with the target Azure Synapse environment. Sedan använder du ett standard-Teradata-verktyg som Teradata Parallel transporter eller ett datareplikerings verktyg från tredje part som Qlik replikeras (tidigare än Attunity) för att effektivt flytta den delmängd av Teradata-tabeller som du migrerar till den virtuella dator instansen.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. Alla uppgifter om migrering sker i Azure-miljön.All migration tasks take place in the Azure environment.

    Den här metoden har flera fördelar:This approach has several benefits:

    • Efter den inledande replikeringen av data påverkas inte käll systemet av andra migreringsåtgärder.After the initial replication of data, the source system isn't affected by other migration tasks.
    • Välkända Teradata-gränssnitt, verktyg och verktyg är tillgängliga i Azure-miljön.Familiar Teradata interfaces, tools, and utilities are available in the Azure environment.
    • När migreringen flyttas till Azure-miljön har du inga potentiella problem med nätverks bandbreddens tillgänglighet mellan det lokala käll systemet och moln mål systemet.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.
    • Verktyg som Azure Data Factory effektivt anropa verktyg som Teradata Parallel-deportioner för att migrera data snabbt och enkelt.Tools like Azure Data Factory efficiently call utilities like Teradata Parallel Transporter to migrate data quickly and easily.
    • Migreringsprocessen dirigeras och kontrol leras helt och hållet i Azure-miljön.The migration process is orchestrated and controlled entirely from within the Azure environment.

    Migrering av metadataMetadata migration

    Det är klokt att automatisera och dirigera migreringsprocessen genom att använda funktionerna i Azure-miljön.It makes sense to automate and orchestrate the migration process by using the capabilities of the Azure environment. Den här metoden minimerar påverkan på den befintliga Teradata-miljön, som kanske redan kör nära full kapacitet.This approach minimizes impact on the existing Teradata environment, which might already be running close to full capacity.

    Azure Data Factory är en molnbaserad dataintegreringstjänst.Azure Data Factory is a cloud-based data integration service. Du kan använda Data Factory för att skapa data drivna arbets flöden i molnet för att samordna och automatisera data förflyttning och data omvandling.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 kan mata in data från olika data lager.Data Factory pipelines can ingest data from disparate datastores. Sedan bearbetar de och transformerar data med hjälp av beräknings tjänster som Azure HDInsight för Apache Hadoop och Apache Spark, Azure Data Lake Analytics och 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.

    Börja med att skapa metadata som visar de data tabeller som du vill migrera tillsammans med deras platser.Start by creating metadata that lists the data tables you want to migrate along with their locations. Använd sedan Data Factory-funktioner för att hantera migreringsprocessen.Then, use Data Factory capabilities to manage the migration process.

    Design skillnader mellan Teradata och Azure SynapseDesign differences between Teradata and Azure Synapse

    När du planerar migreringen från en äldre Teradata-miljö till Azure Synapse är det viktigt att tänka på design skillnaderna mellan de två plattformarna.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.

    Flera databaser jämfört med en enkel databas och schemanMultiple databases vs. a single database and schemas

    I en Teradata-miljö kan du ha flera separata databaser för olika delar av den övergripande miljön.In a Teradata environment, you might have multiple, separate databases for different parts of the overall environment. Du kan till exempel ha en separat databas för data inmatnings-och mellanlagrings tabeller, en databas för kärn lager tabeller och en annan databas för data Marts (kallas ibland för ett semantiskt lager).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). Bearbetning av separata databaser som ETL/ELT-pipeliner i Azure Synapse kan kräva att du implementerar koppling mellan databaser och flyttar data mellan de olika databaserna.Processing separate databases as ETL/ELT pipelines in Azure Synapse might require implementing cross-database joins and moving data between the separate databases.

    Azure Synapse-miljön har en enda databas.The Azure Synapse environment has a single database. Scheman används för att separera tabeller till logiskt åtskilda grupper.Schemas are used to separate tables into logically separate groups. Vi rekommenderar att du använder en uppsättning scheman i Azure Synapse för att efterlikna alla separata databaser som du migrerar från Teradata.We recommend that you use a set of schemas in Azure Synapse to mimic any separate databases you migrate from Teradata.

    Om du använder scheman i Teradata-miljön kan du behöva använda en ny namngivnings konvention för att flytta befintliga Teradata-tabeller och vyer till den nya miljön.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. Du kan till exempel sammanfoga befintliga Teradata-scheman och tabell namn till det nya namnet på Azure Synapse-tabellen och sedan använda schema namn i den nya miljön för att bevara de ursprungliga separata databas namnen.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.

    Ett annat alternativ är att använda SQL-vyer över de underliggande tabellerna för att underhålla deras logiska strukturer.Another option is to use SQL views over the underlying tables to maintain their logical structures. Det finns vissa möjliga nack delar med att använda SQL-vyer:There are some potential downsides to using SQL views:

    • Vyer i Azure Synapse är skrivskyddade, så du måste göra eventuella uppdateringar av data i de underliggande bas tabellerna.Views in Azure Synapse are read-only, so you must make any updates to the data on the underlying base tables.
    • Om det redan finns lager med vyer kan det påverka prestanda genom att lägga till ytterligare ett lager med vyer.If layers of views already exist, adding another layer of views might affect performance.

    TabellerTables

    När du migrerar tabeller mellan olika tekniker flyttar du bara rå data och metadata som beskriver den mellan de två miljöerna.When you migrate tables between different technologies, you physically move only raw data and the metadata that describes it between the two environments. Du migrerar inte databas element som index från käll systemet eftersom de kanske inte behövs eller också kan de implementeras på olika sätt i den nya miljön.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.

    Men att förstå var prestanda optimeringar som index har använts i käll miljön kan vara ett bra tecken på var du kan optimera prestanda i den nya miljön.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. Om t. ex. ett icke-unikt sekundärt index skapades i-källans Teradata-miljö, kan det vara en bra idé att skapa ett icke-grupperat index i den migrerade Azure Synapse-miljön, eller att använda andra funktioner för inbyggd prestanda optimering, t. ex. När det gäller att skapa ett liknande index.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.

    Databas med hög tillgänglighetHigh availability database

    Teradata har stöd för datareplikering över flera noder via FALLBACK alternativet.Teradata supports data replication across nodes via the FALLBACK option. Tabell rader som finns fysiskt på en nod replikeras till en annan nod i systemet.Table rows that reside physically on a node are replicated to another node within the system. Den här metoden garanterar att data inte förloras om en nod Miss lyckas, och den utgör grunden för scenarier med växling vid fel.This approach guarantees that data isn't lost if a node fails, and it provides the basis for failover scenarios.

    Målet med hög tillgänglighets arkitekturen i Azure SQL Database är att garantera att databasen är igång och är igång 99,99% av tiden.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. Du behöver inte tänka på hur underhålls åtgärder och avbrott kan påverka din arbets belastning.You don't need to consider how maintenance operations and outages might affect your workload. Azure hanterar automatiskt kritiska underhålls uppgifter som korrigeringar, säkerhets kopieringar och Windows-och SQL-uppgraderingar samt oplanerade händelser som underliggande maskin vara, program eller nätverks problem.Azure automatically handles critical servicing tasks like patching, backups, and Windows and SQL upgrades, and unplanned events like underlying hardware, software, or network failures.

    Ögonblicks bilder är en inbyggd funktion i tjänsten som skapar återställnings punkter i Azure Synapse.Snapshots are a built-in feature of the service that creates restore points in Azure Synapse. Ögonblicks bilder tillhandahåller automatisk säkerhets kopiering för data lagring i Azure Synapse.Snapshots provide automatic backup for data storage in Azure Synapse. Du behöver inte aktivera funktionen.You don't have to enable the capability. För närvarande kan enskilda användare inte ta bort automatiska återställnings punkter som tjänsten använder för att underhålla service avtal för återställning.Currently, individual users can't delete automatic restore points that the service uses to maintain SLAs for recovery.

    Azure Synapse tar ögonblicks bilder av data lagret under dagen.Azure Synapse takes snapshots of the data warehouse throughout the day. Återställnings punkterna som den skapar är tillgängliga i sju dagar.The restore points that it creates are available for seven days. Kvarhållningsperioden kan inte ändras.The retention period can't be changed. Azure Synapse har stöd för ett mål för återställnings punkt i åtta timmar.Azure Synapse supports an eight-hour recovery point objective. Du kan återställa ditt informations lager i den primära regionen från alla ögonblicks bilder som tagits under de senaste sju dagarna.You can restore your data warehouse in the primary region from any of the snapshots taken in the past seven days. Andra användardefinierade alternativ är tillgängliga om din organisation behöver mer detaljerade säkerhets kopior.Other user-defined options are available if your organization needs more granular backups.

    Teradata-tabell typer som inte stödsUnsupported Teradata table types

    Teradata innehåller stöd för särskilda tabell typer för tids serier och temporala data.Teradata includes support for special table types for time series and temporal data. Azure-Synapse har inte direkt stöd för syntaxen och vissa funktioner för dessa tabell typer, men du kan migrera data till en standard tabell som har de data typer som krävs, indexering eller partitionering i kolumnen datum/tid.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 implementerar temporala fråge funktioner med hjälp av Query-omskrivning för att lägga till filter till en temporal fråga som begränsar det tillämpliga datum intervallet.Teradata implements temporal query functionality by using query rewriting to add filters to a temporal query to limit the applicable date range. Om du använder temporala frågor i källans Teradata-miljö och du vill migrera den, måste du lägga till filter till relevanta temporala frågor.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.

    I Azure-miljön ingår även funktioner för komplex analys av tids serie data i skala genom 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 är utformad för program för IoT-dataanalys, och det kan vara mer lämpligt för det aktuella användnings fallet.Time Series Insights is designed for IoT data analysis applications, and it might be more appropriate for that use case. Mer information finns i Azure Time Series Insights.For more information, see Azure Time Series Insights.

    Data typs mappning för TeradataTeradata data type mapping

    Vissa Teradata-datatyper stöds inte direkt i Azure-Synapse.Some Teradata data types aren't directly supported in Azure Synapse. I följande tabell visas dessa data typer och den rekommenderade metoden för att hantera dem.The following table shows these data types and the recommended approach for handling them. I tabellen är Teradata-kolumn typen den typ som lagras i system katalogen (t. ex. i DBC.ColumnsV ).In the table, the Teradata column type is the type that's stored in the system catalog (for example, in DBC.ColumnsV).

    Använd metadata från Teradata Catalog-tabellerna för att ta reda på om någon av dessa data typer ska migreras och planera sedan för att stödja resurser i migreringen.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. Du kan till exempel använda en SQL-fråga som den som finns i nästa avsnitt för att hitta eventuella förekomster av data typer som inte stöds och som du behöver åtgärda.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.

    Leverantörer av tredje part erbjuder verktyg och tjänster som kan automatisera migrering, inklusive mappning av data typer mellan plattformar.Third-party vendors offer tools and services that can automate migration, including mapping data types between platforms. Om du redan använder ett ETL-verktyg från tredje part som Informatica eller Talend i Teradata-miljön kan du använda verktyget för att implementera alla obligatoriska data transformationer.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.

    Skillnader i syntax för SQL Data Manipulation Language (DML)SQL Data Manipulation Language (DML) syntax differences

    Du bör vara medveten om några skillnader i SQL Data Manipulation Language (DML)-syntaxen mellan Teradata SQL och 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 stöder QUALIFY operatorn.QUALIFY: Teradata supports the QUALIFY operator.

      Exempel:For example:

      SELECT col1 FROM tab1 WHERE col1='XYZ'

      Verktyg och tjänster från tredje part kan automatisera data mappnings uppgifter:Third-party tools and services can automate data-mapping tasks:

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

      I Azure Synapse kan du uppnå samma resultat med hjälp av följande syntax: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;

    • Aritmetiskt datum: Azure Synapse har operatörer som DATEADD och DATEDIFF , som du kan använda på DATE eller DATETIME .Date arithmetic: Azure Synapse has operators like DATEADD and DATEDIFF, which you can use on DATE or DATETIME.

      Teradata stöder direkt subtraktion av datum:Teradata supports direct subtraction on dates:

      • SELECT DATE1 - DATE2 FROM ...

      • LIKE ANY uttryckLIKE ANY syntax

        Exempel:Example:

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

        Motsvarande i Azure Synapse-syntaxen är:The equivalent in Azure Synapse syntax is:

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

    • Beroende på systeminställningarna kanske inte text jämförelser i Teradata är Skift läges bestämd som standard.Depending on system settings, character comparisons in Teradata might not be case-specific by default. I Azure Synapse är dessa jämförelser alltid särskilt Skift läges bara.In Azure Synapse, these comparisons are always case-specific.

    Funktioner, lagrade procedurer, utlösare och sekvenserFunctions, stored procedures, triggers, and sequences

    När du migrerar ett informations lager från en äldre miljö som Teradata behöver du ofta migrera andra element än enkla tabeller och vyer till den nya mål miljön.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. Exempel på icke-tabell element i Teradata som du kan behöva migrera till Azure Synapse är functions, lagrade procedurer, utlösare och sekvenser.Examples of non-table elements in Teradata that you might need to migrate to Azure Synapse are functions, stored procedures, triggers, and sequences. Under förberedelse fasen av migreringen bör du skapa en inventering av objekt att migrera.During the preparation phase of the migration, you should create an inventory of objects to migrate. I projektplanen definierar du metoden för att hantera alla objekt och allokera lämpliga resurser för att migrera dem.In the project plan, define the method of handling all objects and allocate the appropriate resources to migrate them.

    Du kan hitta tjänster i Azure-miljön som ersätter funktionerna som implementeras som Functions eller lagrade procedurer i Teradata-miljön.You might find services in the Azure environment that replace the functionality implemented as functions or stored procedures in the Teradata environment. Vanligt vis är det mer effektivt att använda de inbyggda Azure-funktionerna i stället för att koda om Teradata-funktionerna.Usually, it's more efficient to use the built-in Azure capabilities instead of recoding the Teradata functions.

    Här är mer information om hur du migrerar funktioner, lagrade procedurer, utlösare och sekvenser:Here's more information about migrating functions, stored procedures, triggers, and sequences:

    • Funktioner: Som de flesta databas produkter stöder Teradata systemfunktioner och användardefinierade funktioner i en SQL-implementering.Functions: Like most database products, Teradata supports system functions and user-defined functions in a SQL implementation. När vanliga systemfunktioner migreras till en annan databas plattform som Azure Synapse är de vanligt vis tillgängliga i den nya miljön och kan migreras utan ändring.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. Om system funktioner har något annorlunda syntax i den nya miljön, kan du vanligt vis automatisera de nödvändiga ändringarna.If system functions have slightly different syntax in the new environment, you usually can automate the required changes.

      Du kan behöva koda om godtyckligt användardefinierade funktioner och system funktioner som inte har någon motsvarighet i den nya miljön.You might need to recode arbitrary user-defined functions and system functions that have no equivalent in the new environment. Använd de språk som är tillgängliga i den nya miljön.Use the languages that are available in the new environment. Azure Synapse använder det populära Transact-SQL-språket för att implementera användardefinierade funktioner.Azure Synapse uses the popular Transact-SQL language to implement user-defined functions.

    • Lagrade procedurer: I de flesta moderna databas produkter kan du lagra procedurerna n databasen.Stored procedures: In most modern database products, you can store procedures n the database. En lagrad procedur innehåller vanligt vis SQL-uttryck och en procedur logik.A stored procedure typically contains SQL statements and some procedural logic. Det kan också returnera data eller status.It might also return data or a status.

      Teradata innehåller ett lagrat procedur språk för att skapa lagrade procedurer.Teradata provides stored procedure language to create stored procedures. Azure Synapse stöder lagrade procedurer med hjälp av T-SQL.Azure Synapse supports stored procedures by using T-SQL. Om du migrerar lagrade procedurer till Azure Synapse måste du koda om dem med hjälp av T-SQL.If you migrate stored procedures to Azure Synapse, you must recode them by using T-SQL.

    • Utlösare: Du kan inte skapa utlösare i Azure Synapse, men du kan implementera utlösare i Data Factory.Triggers: You can't create triggers in Azure Synapse, but you can implement triggers in Data Factory.

    • Sekvenser: Azure Synapse-sekvenser hanteras på samma sätt som hur de hanteras i Teradata.Sequences: Azure Synapse sequences are handled similarly to how they are handled in Teradata. Använd IDENTITY kolumner eller SQL-kod för att skapa nästa sekvensnummer i en serie.Use IDENTITY columns or SQL code to create the next sequence number in a series.

    Metadata och data extraheringMetadata and data extraction

    Tänk på följande när du planerar hur du extraherar metadata och data från Teradata-miljön:Consider the following information when you plan how to extract metadata and data from the Teradata environment:

    • Generering av DDL (Data Definition Language): Som tidigare nämnts är det möjligt att redigera befintliga Teradata CREATE TABLE och CREATE VIEW skript för att skapa motsvarande definitioner, med modifierade data typer, om det behövs.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. I det här scenariot måste du vanligt vis ta bort extra Teradata-särskilda satser (till exempel FALLBACK ).In this scenario, you usually must remove extra Teradata-specific clauses (for example, FALLBACK).

      Den information som anger aktuella tabell-och visnings definitioner underhålls i system katalog tabeller.The information that specifies the current table and view definitions is maintained in system catalog tables. System katalog tabeller är den bästa källan till informationen eftersom tabellerna som troligen är uppdaterade och slutförda.System catalog tables are the best source of the information because the tables likely are up to date and complete. Dokumentationen för användar underhåll kanske inte är synkroniserad med de aktuella tabell definitionerna.User-maintained documentation might not be in sync with current table definitions.

      Du kan komma åt informationen med hjälp av vyer i katalogen, till exempel DBC.ColumnsV .You can access the information by using views on the catalog, such as DBC.ColumnsV. Du kan också använda vyer för att skapa motsvarande CREATE TABLE DDL-uttryck (Data Definition Language) för motsvarande tabeller i Azure Synapse.You also can use views to generate the equivalent CREATE TABLE Data Definition Language (DDL) statements for the equivalent tables in Azure Synapse.

      Migrerings-och ETL-verktyg från tredje part använder också katalog informationen för att uppnå samma resultat.Third-party migration and ETL tools also use the catalog information to achieve the same result.

    • Data extraheringData extraction

      Migrera rå data från befintliga Teradata-tabeller med hjälp av standard-Teradata-verktyg som BTEQ och FASTEXPORT .Migrate the raw data from existing Teradata tables by using standard Teradata utilities like BTEQ and FASTEXPORT. I en migrering är det vanligt vis viktigt att extrahera data så effektivt som möjligt.In a migration exercise, it's generally important to extract the data as efficiently as possible. För de senaste versionerna av Teradata rekommenderar vi Teradata Parallel-deportioner, ett verktyg som använder flera parallella FASTEXPORT strömmar för att uppnå bästa möjliga data flöde.For recent versions of Teradata, we recommend Teradata Parallel Transporter, a utility that uses multiple parallel FASTEXPORT streams to achieve the best throughput.

      Du kan anropa Teradata parallell transporter direkt från Data Factory.You can call Teradata Parallel Transporter directly from Data Factory. Vi rekommenderar den här metoden för att hantera data migreringsprocessen, om Teradata-instansen är lokal eller kopierad till en virtuell dator i Azure-miljön, enligt beskrivningen ovan.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.

      Data formaten vi rekommenderar för extraherade data är avgränsade textfiler (kallas även kommaavgränsade värden), optimerade rad kolumns-filer eller Parquet-filer.The data formats we recommend for extracted data are delimited text files (also called comma-separated values), optimized row columnar files, or Parquet files.

    Detaljerad information om hur du migrerar data och ETL från en Teradata-miljö finns i Teradata-dokumentationen.For detailed information about the process of migrating data and ETL from a Teradata environment, see the Teradata documentation.

    Prestanda justerings rekommendationerPerformance-tuning recommendations

    Plattformarna har vissa skillnader när det kommer att optimeras.The platforms have some differences when it comes to optimization. I följande lista över prestanda justerings rekommendationer är lägre implementerings skillnader mellan Teradata och Azure Synapse och alternativ för migreringen markerade:In the following list of performance-tuning recommendations, lower-level implementation differences between Teradata and Azure Synapse and alternatives for your migration are highlighted:

    • Alternativ för data distribution: I Azure kan du ange data distributions metoder för enskilda tabeller.Data distribution options: In Azure, you can set the data distribution methods for individual tables. Syftet med funktionen är att minska mängden data som flyttas mellan bearbetnings noder när en fråga körs.The purpose of the functionality is to reduce the amount of data that moves between processing nodes when a query is executed.

      För en stor tabell/stor tabell koppling, kan hash distribueras i en eller båda tabellerna (helst) i kopplings kolumnerna för att säkerställa att anslutnings bearbetning kan utföras lokalt eftersom de data rader som ska anslutas redan finns i samma bearbetnings nod.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 tillhandahåller ett ytterligare sätt att nå lokala kopplingar för små tabell/stora tabell kopplingar (kallas ofta för en Dimensions tabell/fakta tabell koppling i en stjärn schema modell).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). Du replikerar den mindre tabellen över alla noder, vilket säkerställer att alla värden för kopplings nyckeln för den större tabellen har en matchande dimensions rad som är tillgänglig lokalt.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. Belastningen på att replikera dimensions tabellen är relativt låg om tabellerna inte är stora.The overhead of replicating the dimension table is relatively low if the tables aren't large. I det här fallet är det lämpligt att använda den hash-distribution som beskrivs ovan.In this case, using the hash distribution approach described earlier is preferable.

    • Data indexering: Azure Synapse innehåller olika indexerings alternativ, men alternativen skiljer sig åt i användning och användning från indexerings alternativ i Teradata.Data indexing: Azure Synapse provides various indexing options, but the options are different in operation and usage from indexing options in Teradata. Mer information om indexerings alternativ i Azure Synapse finns i design tabeller i en Azure Synapse-pool.To learn about the indexing options in Azure Synapse, see Design tables in an Azure Synapse pool.

      Befintliga index i-källans Teradata-miljö kan ge en användbar indikation på hur data används och ange en indikation på kandidat kolumner för indexering i Azure Synapse-miljön.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.

    • Data partitionering: I ett informations lager för företag kan fakta tabeller innehålla många miljarder rader med data.Data partitioning: In an enterprise data warehouse, fact tables might contain many billions of rows of data. Partitionering är ett sätt att optimera underhåll och fråga i dessa tabeller.Partitioning is a way to optimize maintenance and querying in these tables. Att dela upp tabellerna i separata delar minskar mängden data som bearbetas samtidigt.Splitting the tables into separate parts reduces the amount of data processed at one time. Partitionering för en tabell definieras i CREATE TABLE instruktionen.Partitioning for a table is defined in the CREATE TABLE statement.

      Det går bara att använda ett fält per tabell för partitionering.Only one field per table can be used for partitioning. Det fält som används för partitionering ofta är ett datum fält, eftersom många frågor filtreras efter datum eller av ett datum intervall.The field that's used for partitioning frequently is a date field because many queries are filtered by date or by a date range. Du kan ändra partitionering för en tabell efter den första belastningen.You can change the partitioning of a table after initial load. Om du vill ändra en tabell partitionering skapar du tabellen igen med en ny distribution som använder CREATE TABLE AS SELECT instruktionen.To change a table's partitioning, re-create the table with a new distribution that uses the CREATE TABLE AS SELECT statement. En detaljerad beskrivning av partitionering i Azure Synapse finns i partitionstabellen i en Azure SYNAPSE SQL-pool.For a detailed description of partitioning in Azure Synapse, see Partition tables in an Azure Synapse SQL pool.

    • Data tabell statistik: Du kan se till att statistik om data tabeller är uppdaterad genom att lägga till ett COLLECT STATISTICS steg i ETL/ELT-jobb eller genom att aktivera automatisk statistik insamling i tabellen.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 för data inläsning: PolyBase är den mest effektiva metoden som används för att läsa in stora mängder data i ett lager.PolyBase for data loading: PolyBase is the most efficient method to use to load large amounts of data into a warehouse. Du kan använda PolyBase för att läsa in data i parallella data strömmar.You can use PolyBase to load data in parallel streams.

    • Resurs klasser för hantering av arbets belastning: Azure-Synapse använder resurs klasser för att hantera arbets belastningar.Resource classes for workload management: Azure Synapse uses resource classes to manage workloads. I allmänhet ger stora resurs klasser bättre prestanda för enskilda frågor.In general, large resource classes provide better individual query performance. Mindre resurs klasser ger dig högre grad av samtidighet.Smaller resource classes give you higher levels of concurrency. Du kan använda vyer med dynamisk hantering för att övervaka användningen för att säkerställa att lämpliga resurser används effektivt.You can use dynamic management views to monitor utilization to help ensure that the appropriate resources are used efficiently.

    Nästa stegNext steps

    Om du vill ha mer information om hur du implementerar en Teradata-migrering kan du prata med din Microsoft-konto representant om erbjudanden vid lokal migrering.For more information about implementing a Teradata migration, talk with your Microsoft account representative about on-premises migration offers.