Ontwerpen en prestaties voor Teradata-migraties

Dit artikel is deel één van een zevendelige reeks die richtlijnen biedt voor het migreren van Teradata naar Azure Synapse Analytics. De focus van dit artikel ligt op aanbevolen procedures voor ontwerp en prestaties.

Overzicht

Veel bestaande gebruikers van Teradata-datawarehousesystemen willen profiteren van de innovaties die worden geboden door moderne cloudomgevingen. Met IaaS-omgevingen (Infrastructure-as-a-Service) en PaaS-cloudomgevingen (Platform as a Service) kunt u taken, zoals infrastructuuronderhoud en platformontwikkeling, delegeren aan de cloudprovider.

Tip

Meer dan alleen een database: de Azure-omgeving bevat een uitgebreide set mogelijkheden en hulpprogramma's.

Hoewel Teradata en Azure Synapse Analytics beide SQL-databases zijn die MPP-technieken (Massively Parallel Processing) gebruiken om hoge queryprestaties te bereiken op uitzonderlijk grote gegevensvolumes, zijn er enkele eenvoudige verschillen in aanpak:

  • Verouderde Teradata-systemen worden vaak on-premises geïnstalleerd en maken gebruik van eigen hardware, terwijl Azure Synapse cloudgebaseerd is en gebruikmaakt van Azure Storage- en rekenresources.

  • Omdat opslag- en rekenresources gescheiden zijn in de Azure-omgeving en elastisch kunnen worden geschaald, kunnen deze resources onafhankelijk van elkaar of naar beneden worden geschaald.

  • U kunt Azure Synapse zo nodig onderbreken of het formaat ervan wijzigen om het resourcegebruik en de kosten te verminderen.

  • Het upgraden van een Teradata-configuratie is een belangrijke taak met extra fysieke hardware en mogelijk langdurige herconfiguratie van databases of opnieuw laden.

Microsoft Azure is een wereldwijd beschikbare, uiterst veilige, schaalbare cloudomgeving met Azure Synapse en een ecosysteem van ondersteunende hulpprogramma's en mogelijkheden. In het volgende diagram ziet u een overzicht van het Azure Synapse-ecosysteem.

Chart showing the Azure Synapse ecosystem of supporting tools and capabilities.

Azure Synapse biedt de beste prestaties van relationele databases met behulp van technieken zoals MPP en meerdere niveaus van geautomatiseerde caching voor veelgebruikte gegevens. U kunt de resultaten van deze technieken zien in onafhankelijke benchmarks, zoals de techniek die onlangs door GigaOm wordt uitgevoerd, waarmee Azure Synapse wordt vergeleken met andere populaire clouddatawarehouseaanbiedingen. Klanten die migreren naar de Azure Synapse-omgeving, zien veel voordelen, waaronder:

  • Verbeterde prestaties en prijs/prestaties.

  • Verbeterde flexibiliteit en kortere tijd tot waarde.

  • Snellere serverimplementatie en toepassingsontwikkeling.

  • Elastische schaalbaarheid: alleen betalen voor werkelijk gebruik.

  • Verbeterde beveiliging/naleving.

  • Lagere kosten voor opslag en herstel na noodgevallen.

  • Lagere totale TCO, betere kostenbeheersing en gestroomlijnde operationele uitgaven (OPEX).

Als u deze voordelen wilt maximaliseren, migreert u nieuwe of bestaande gegevens en toepassingen naar het Azure Synapse-platform. In veel organisaties omvat migratie het verplaatsen van een bestaand datawarehouse van een verouderd on-premises platform, zoals Teradata, naar Azure Synapse. Op hoog niveau omvat het migratieproces de volgende stappen:

    Voorbereiding 🡆

  • Bereik definiëren: wat moet worden gemigreerd.

  • Inventaris maken van gegevens en processen voor migratie.

  • Wijzigingen in gegevensmodellen definiëren (indien van toepassing).

  • Mechanisme voor het extraheren van brongegevens definiëren.

  • Identificeer de juiste hulpprogramma's en functies van Azure en derden die moeten worden gebruikt.

  • Train het personeel vroeg op het nieuwe platform.

  • Stel het Azure-doelplatform in.

    Migratie 🡆

  • Begin klein en eenvoudig.

  • Automatiseer waar mogelijk.

  • Maak gebruik van ingebouwde Azure-hulpprogramma's en -functies om de migratie te verminderen.

  • Migreer metagegevens voor tabellen en weergaven.

  • Historische gegevens migreren die moeten worden onderhouden.

  • Opgeslagen procedures en bedrijfsprocessen migreren of herstructureren.

  • EtL/ELT incrementele belastingprocessen migreren of herstructureren.

    Na de migratie

  • Bewaak en documenteer alle fasen van het proces.

  • Gebruik de ervaring die is opgedaan om een sjabloon te maken voor toekomstige migraties.

  • Herbouw het gegevensmodel indien nodig (met behulp van nieuwe platformprestaties en schaalbaarheid).

  • Test toepassingen en queryhulpprogramma's.

  • Benchmarken en queryprestaties optimaliseren.

Dit artikel bevat algemene informatie en richtlijnen voor prestatieoptimalisatie bij het migreren van een datawarehouse vanuit een bestaande Netezza-omgeving naar Azure Synapse. Het doel van prestatieoptimalisatie is het bereiken van dezelfde of betere datawarehouseprestaties in Azure Synapse na de schemamigratie.

Ontwerpoverwegingen

Migratiebereik

Wanneer u zich voorbereidt om te migreren vanuit een Teradata-omgeving, moet u rekening houden met de volgende migratieopties.

De workload voor de eerste migratie kiezen

Verouderde Teradata-omgevingen zijn doorgaans in de loop van de tijd ontwikkeld om meerdere onderwerpgebieden en gemengde workloads te omvatten. Wanneer u besluit waar u wilt beginnen met een migratieproject, kiest u een gebied waar u het volgende kunt doen:

  • De levensvatbaarheid van de migratie naar Azure Synapse bewijzen door snel de voordelen van de nieuwe omgeving te bieden.

  • Laat uw interne technische medewerkers relevante ervaring opdoen met de processen en hulpprogramma's die ze gebruiken wanneer ze andere gebieden migreren.

  • Maak een sjabloon voor verdere migraties die specifiek zijn voor de Teradata-bronomgeving en de huidige hulpprogramma's en processen die al aanwezig zijn.

Een goede kandidaat voor een eerste migratie vanuit een Teradata-omgevingsondersteuning de voorgaande items en:

  • Implementeert een BI/Analytics-workload in plaats van een OLTP-workload (Online Transaction Processing).

  • Heeft een gegevensmodel, zoals een ster- of snowflake-schema, dat kan worden gemigreerd met minimale aanpassingen.

Tip

Maak een inventaris van objecten die moeten worden gemigreerd en documenteer het migratieproces.

Het volume van gemigreerde gegevens in een eerste migratie moet groot genoeg zijn om de mogelijkheden en voordelen van de Azure Synapse-omgeving te demonstreren, maar niet te groot om snel waarde te demonstreren. Een grootte in het bereik van 1-10 terabyte is typisch.

Voor uw eerste migratieproject minimaliseert u het risico, de inspanning en de migratietijd, zodat u snel de voordelen van de Azure-cloudomgeving kunt zien, het bereik van de migratie beperken tot alleen de datamarts, zoals het OLAP DB-onderdeel van een Teradata-warehouse. Zowel de lift-and-shift- als gefaseerde migratiemethoden beperken het bereik van de eerste migratie tot alleen de datamarts en hebben geen betrekking op bredere migratieaspecten, zoals ETL-migratie en historische gegevensmigratie. U kunt deze aspecten echter in latere fasen van het project aanpakken zodra de gemigreerde datamart-laag weer wordt gevuld met gegevens en de vereiste buildprocessen.

Lift-and-shift-migratie versus gefaseerde benadering

Over het algemeen zijn er twee soorten migratie, ongeacht het doel en het bereik van de geplande migratie: lift-and-shift as-is en een gefaseerde benadering die wijzigingen bevat.

Lift-and-shift

In een lift-and-shift-migratie wordt een bestaand gegevensmodel, zoals een stervormig schema, ongewijzigd gemigreerd naar het nieuwe Azure Synapse-platform. Deze aanpak minimaliseert de risico- en migratietijd door het werk te verminderen dat nodig is om de voordelen van de overstap naar de Azure-cloudomgeving te realiseren. Lift-and-shift-migratie is geschikt voor deze scenario's:

  • U hebt een bestaande Teradata-omgeving met één datamart die moet worden gemigreerd of
  • U hebt een bestaande Teradata-omgeving met gegevens die zich al in een goed ontworpen ster- of sneeuwvlokschema bevinden, of
  • U ondervindt tijd- en kostendruk om over te stappen naar een moderne cloudomgeving.

Tip

Lift and shift is een goed uitgangspunt, zelfs als volgende fasen wijzigingen in het gegevensmodel implementeren.

Gefaseerde benadering met wijzigingen

Als een verouderd datawarehouse gedurende een lange periode is ontwikkeld, moet u het mogelijk opnieuw ontwikkelen om de vereiste prestatieniveaus te behouden. Mogelijk moet u ook opnieuw engineeren om nieuwe gegevens te ondersteunen, zoals IoT-stromen (Internet of Things). Als onderdeel van het her-engineeringproces migreert u naar Azure Synapse om de voordelen van een schaalbare cloudomgeving te krijgen. Migratie kan ook een wijziging in het onderliggende gegevensmodel omvatten, zoals een verplaatsing van een Inmon-model naar een gegevenskluis.

Microsoft raadt u aan uw bestaande gegevensmodel naar Azure te verplaatsen (optioneel met behulp van een VM Teradata-exemplaar in Azure) en de prestaties en flexibiliteit van de Azure-omgeving te gebruiken om de wijzigingen voor opnieuw engineering toe te passen. Op die manier kunt u de mogelijkheden van Azure gebruiken om de wijzigingen aan te brengen zonder dat dit van invloed is op het bestaande bronsysteem.

Een Azure VM Teradata-exemplaar gebruiken als onderdeel van een migratie

Wanneer u migreert vanuit een on-premises Teradata-omgeving, kunt u gebruikmaken van cloudopslag en elastische schaalbaarheid in Azure om een Teradata-exemplaar binnen een VIRTUELE machine te maken. Met deze benadering wordt het Teradata-exemplaar samen met de Azure Synapse-doelomgeving gebruikt. U kunt de standaardhulpprogramma's van Teradata, zoals Teradata Parallel Data Transporter, gebruiken om de subset van Teradata-tabellen die worden gemigreerd naar het VM-exemplaar efficiënt te verplaatsen. Vervolgens kunnen alle verdere migratietaken worden uitgevoerd in de Azure-omgeving. Deze aanpak heeft verschillende voordelen:

  • Na de initiële replicatie van gegevens wordt het bronsysteem niet beïnvloed door de migratietaken.

  • Vertrouwde Teradata-interfaces, -hulpprogramma's en -hulpprogramma's zijn beschikbaar in de Azure-omgeving.

  • De Azure-omgeving veroorzaakt mogelijke problemen met de beschikbaarheid van netwerkbandbreedte tussen het on-premises bronsysteem en het clouddoelsysteem.

  • Hulpprogramma's zoals Azure Data Factory kunnen hulpprogramma's zoals Teradata Parallel Transporter aanroepen om gegevens efficiënt en snel te migreren.

  • U kunt het migratieproces volledig indelen en beheren in de Azure-omgeving.

Tip

Gebruik Azure-VM's om een tijdelijk Teradata-exemplaar te maken om de migratie te versnellen en de impact op het bronsysteem te minimaliseren.

Azure Data Factory gebruiken om een migratie op basis van metagegevens te implementeren

U kunt het migratieproces automatiseren en organiseren met behulp van de mogelijkheden van de Azure-omgeving. Deze aanpak minimaliseert de prestaties van de bestaande Netezza-omgeving, die mogelijk al dicht bij de capaciteit wordt uitgevoerd.

Azure Data Factory is een cloudservice voor gegevensintegratie die ondersteuning biedt voor het maken van gegevensgestuurde werkstromen in de cloud waarmee gegevensverplaatsing en gegevenstransformatie worden georganiseerd en geautomatiseerd. U kunt Data Factory gebruiken om gegevensgestuurde werkstromen (pijplijnen) te maken en te plannen die gegevens uit verschillende gegevensarchieven opnemen. Data Factory kan gegevens verwerken en transformeren met behulp van rekenservices zoals Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics en Azure Machine Learning.

Wanneer u van plan bent om Data Factory-faciliteiten te gebruiken om het migratieproces te beheren, maakt u metagegevens waarin alle gegevenstabellen worden vermeld die moeten worden gemigreerd en hun locatie.

Ontwerpverschillen tussen Teradata en Azure Synapse

Zoals eerder vermeld, zijn er enkele basisverschillen in de benadering tussen Teradata- en Azure Synapse Analytics-databases. Deze verschillen worden hierna besproken.

Meerdere databases versus één database en schema's

De Teradata-omgeving bevat vaak meerdere afzonderlijke databases. Er kunnen bijvoorbeeld afzonderlijke databases zijn voor: gegevensopname- en faseringstabellen, kernwarehousetabellen en datamarts (ook wel de semantische laag genoemd). ETL- of ELT-pijplijnprocessen kunnen cross-database-joins implementeren en gegevens verplaatsen tussen de afzonderlijke databases.

De Azure Synapse-omgeving bevat daarentegen één database en maakt gebruik van schema's om tabellen te scheiden in logisch gescheiden groepen. U wordt aangeraden een reeks schema's in de Azure Synapse-doeldatabase te gebruiken om de afzonderlijke databases na te bootsen die zijn gemigreerd vanuit de Teradata-omgeving. Als de Teradata-omgeving al schema's gebruikt, moet u mogelijk een nieuwe naamconventie gebruiken wanneer u de bestaande Teradata-tabellen en -weergaven naar de nieuwe omgeving verplaatst. U kunt bijvoorbeeld de bestaande Teradata-schema- en tabelnamen samenvoegen in de nieuwe Azure Synapse-tabelnaam en schemanamen gebruiken in de nieuwe omgeving om de oorspronkelijke afzonderlijke databasenamen te behouden. Als naamgeving voor schemaconsolidatie puntjes bevat, kan Azure Synapse Spark problemen hebben. Hoewel u SQL-weergaven boven op de onderliggende tabellen kunt gebruiken om de logische structuren te onderhouden, zijn er potentiële nadelen voor deze aanpak:

  • Weergaven in Azure Synapse hebben het kenmerk Alleen-lezen, dus alle updates voor de gegevens moeten plaatsvinden op de onderliggende basistabellen.

  • Er bestaan mogelijk al een of meer weergavelagen en het toevoegen van een extra weergavelaag kan van invloed zijn op de prestaties en ondersteuning, omdat geneste weergaven moeilijk op te lossen zijn.

Tip

Combineer meerdere databases in één database in Azure Synapse en gebruik schemanamen om de tabellen logisch te scheiden.

Overwegingen voor tabellen

Wanneer u tabellen migreert tussen verschillende omgevingen, worden doorgaans alleen de onbewerkte gegevens en de metagegevens beschreven waarmee deze fysiek worden gemigreerd. Andere database-elementen van het bronsysteem, zoals indexen, worden meestal niet gemigreerd omdat ze mogelijk onnodig zijn of anders worden geïmplementeerd in de nieuwe omgeving. Prestatieoptimalisaties in de bronomgeving, zoals indexen, geven aan waar u prestatieoptimalisatie in de nieuwe omgeving kunt toevoegen. Als een tabel in de Teradata-bronomgeving bijvoorbeeld een niet-unieke secundaire index (NUSI) heeft, wordt aangegeven dat er een niet-geclusterde index moet worden gemaakt in Azure Synapse. Andere systeemeigen technieken voor prestatieoptimalisatie, zoals tabelreplicatie, zijn mogelijk meer van toepassing dan het rechtstreeks maken van een dergelijke index.

Tip

Bestaande indexen geven kandidaten aan voor indexering in het gemigreerde magazijn.

Hoge beschikbaarheid voor de database

Teradata ondersteunt gegevensreplicatie tussen knooppunten via de FALLBACK optie, waarmee tabelrijen die zich fysiek op een bepaald knooppunt bevinden, worden gerepliceerd naar een ander knooppunt in het systeem. Deze aanpak garandeert dat gegevens niet verloren gaan als er een knooppuntfout opgetreden is en de basis biedt voor failoverscenario's.

Het doel van de architectuur voor hoge beschikbaarheid in Azure Synapse Analytics is om ervoor te zorgen dat uw database 99,9% van de tijd actief is, zonder dat u zich zorgen hoeft te maken over de gevolgen van onderhoudsbewerkingen en storingen. Zie SLA voor Azure Synapse Analytics voor meer informatie over de SLA. Azure verwerkt automatisch kritieke onderhoudstaken, zoals patching, back-ups en Windows- en SQL-upgrades. Azure verwerkt ook automatisch niet-geplande gebeurtenissen, zoals fouten in de onderliggende hardware, software of het netwerk.

Er wordt automatisch een back-up gemaakt van gegevensopslag in Azure Synapse met momentopnamen. Deze momentopnamen zijn een ingebouwde functie van de service waarmee herstelpunten worden gemaakt. De gebruiker hoeft deze mogelijkheid niet in te schakelen. Gebruikers kunnen momenteel geen automatische herstelpunten verwijderen die door de service worden gebruikt voor het onderhouden van serviceovereenkomsten (SLA's) voor herstel.

De toegewezen SQL-pool van Azure Synapse maakt de hele dag momentopnamen van het datawarehouse om herstelpunten te maken die zeven dagen beschikbaar zijn. Deze bewaarperiode kan niet worden gewijzigd. Azure Synapse ondersteunt een RPO (Recovery Point Objective) van acht uur. U kunt uw datawarehouse in de primaire regio herstellen vanaf een van de momentopnamen die in de afgelopen zeven dagen zijn gemaakt. Als u gedetailleerdere back-ups nodig hebt, kunt u een andere door de gebruiker gedefinieerde optie gebruiken.

Niet-ondersteunde Teradata-tabeltypen

Teradata ondersteunt speciale tabeltypen voor tijdreeksen en tijdelijke gegevens. De syntaxis en sommige functies voor deze tabeltypen worden niet rechtstreeks ondersteund in Azure Synapse. U kunt de gegevens echter migreren naar een standaardtabel in Azure Synapse door de toewijzing aan de juiste gegevenstypen toe te passen en de datum/tijd-kolom te indexeren of partitioneren.

Tip

Standaardtabellen in Azure Synapse kunnen gemigreerde Teradata-tijdreeksen en tijdelijke gegevens ondersteunen.

Teradata implementeert tijdelijke queryfunctionaliteit met behulp van het herschrijven van query's om extra filters toe te voegen binnen een tijdelijke query om het toepasselijke datumbereik te beperken. Als u van plan bent deze functionaliteit te migreren vanuit de Bron-Teradata-omgeving, voegt u de extra filtering toe aan de relevante tijdelijke query's.

De Azure omgevingsondersteuning inzichten in tijdreeksen voor complexe analyses op tijdreeksgegevens op schaal. Deze functionaliteit is gericht op IoT-toepassingen voor gegevensanalyse.

Verschillen in SQL DML-syntaxis

DML-syntaxisverschillen (SQL Data Manipulation Language) bestaan tussen Teradata SQL en Azure Synapse T-SQL:

  • QUALIFY: Teradata ondersteunt de QUALIFY operator. Voorbeeld:

    SELECT col1
    FROM tab1
    WHERE col1='XYZ'
    QUALIFY ROW_NUMBER () OVER (PARTITION by
    col1 ORDER BY col1) = 1;
    

    De equivalente Azure Synapse-syntaxis is:

    SELECT * FROM (
    SELECT col1, ROW_NUMBER () OVER (PARTITION by col1 ORDER BY col1) rn
    FROM tab1 WHERE col1='XYZ'
    ) WHERE rn = 1;
    
  • Datumberekening: Azure Synapse heeft operators zoals DATEADD en DATEDIFF, die kunnen worden gebruikt voor DATE of DATETIME velden. Teradata ondersteunt directe aftrekking op datums zoals SELECT DATE1 - DATE2 FROM...

  • GROUP BY: geef voor het GROUP BY rangnummer expliciet een T-SQL-kolomnaam op.

  • LIKE ANY: Teradata ondersteunt LIKE ANY syntaxis zoals:

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

    Het equivalent in de Azure Synapse-syntaxis is:

    SELECT * FROM CUSTOMER
    WHERE
    (POSTCODE LIKE 'CV1%') OR (POSTCODE LIKE 'CV2%') OR (POSTCODE LIKE 'CV3%');
    
  • Afhankelijk van systeeminstellingen kunnen tekenvergelijkingen in Teradata standaard niet hoofdlettergevoelig zijn. In Azure Synapse zijn tekenvergelijkingen altijd hoofdlettergevoelig.

Functies, opgeslagen procedures, triggers en reeksen

Wanneer u een datawarehouse migreert vanuit een volwassen omgeving zoals Teradata, moet u waarschijnlijk andere elementen dan eenvoudige tabellen en weergaven migreren. Voorbeelden hiervan zijn functies, opgeslagen procedures, triggers en reeksen. Controleer of hulpprogramma's in de Azure-omgeving de functionaliteit van functies, opgeslagen procedures en reeksen kunnen vervangen, omdat het meestal efficiënter is om ingebouwde Azure-hulpprogramma's te gebruiken dan deze elementen opnieuw te coderen voor Azure Synapse.

Als onderdeel van de voorbereidingsfase maakt u een inventaris van objecten die moeten worden gemigreerd, definieert u een methode voor het afhandelen ervan en wijst u de juiste resources toe aan uw migratieplan.

Gegevensintegratiepartners bieden hulpprogramma's en services waarmee de migratie van functies, opgeslagen procedures en reeksen kan worden geautomatiseerd.

In de volgende secties worden de migratie van functies, opgeslagen procedures en reeksen verder besproken.

Functies

Net als bij de meeste databaseproducten ondersteunt Teradata systeem- en door de gebruiker gedefinieerde functies binnen een SQL-implementatie. Wanneer u een verouderd databaseplatform migreert naar Azure Synapse, kunnen algemene systeemfuncties meestal zonder wijzigingen worden gemigreerd. Sommige systeemfuncties hebben mogelijk een iets andere syntaxis, maar alle vereiste wijzigingen kunnen worden geautomatiseerd.

Voor Teradata-systeemfuncties of willekeurige door de gebruiker gedefinieerde functies die geen equivalent hebben in Azure Synapse, codeert u deze functies opnieuw met behulp van een doelomgevingstaal. Azure Synapse maakt gebruik van de Transact-SQL-taal om door de gebruiker gedefinieerde functies te implementeren.

Opgeslagen procedures

De meeste moderne databaseproducten ondersteunen het opslaan van procedures in de database. Teradata biedt hiervoor de SPL-taal. Een opgeslagen procedure bevat doorgaans zowel SQL-instructies als procedurelogica en retourneert gegevens of een status.

Azure Synapse ondersteunt opgeslagen procedures met behulp van T-SQL, dus u moet alle gemigreerde opgeslagen procedures in die taal opnieuw coderen.

Triggers

Azure Synapse biedt geen ondersteuning voor het maken van triggers, maar het maken van triggers kan worden geïmplementeerd met behulp van Azure Data Factory.

Reeksen

Azure Synapse verwerkt reeksen op een vergelijkbare manier als Teradata en u kunt reeksen implementeren met behulp van IDENTITY-kolommen of SQL-code waarmee het volgende reeksnummer in een reeks wordt gegenereerd. Een reeks biedt unieke numerieke waarden die u kunt gebruiken als surrogaatsleutelwaarden voor primaire sleutels.

Metagegevens en gegevens extraheren uit een Teradata-omgeving

DDL-generatie (Data Definition Language)

De ANSI SQL-standaard definieert de basissyntaxis voor DDL-opdrachten (Data Definition Language). Sommige DDL-opdrachten, zoals CREATE TABLE en CREATE VIEW, zijn gebruikelijk voor zowel Teradata als Azure Synapse, maar bieden ook implementatiespecifieke functies, zoals indexering, tabeldistributie en partitioneringsopties.

U kunt bestaande Teradata CREATE TABLE en CREATE VIEW scripts bewerken om gelijkwaardige definities te bereiken in Azure Synapse. Hiervoor moet u mogelijk gewijzigde gegevenstypen gebruiken en teradata-specifieke componenten verwijderen of wijzigen, zoals FALLBACK.

Alle informatie die de huidige definities van tabellen en weergaven in de bestaande Teradata-omgeving aangeeft, wordt echter onderhouden in systeemcatalogustabellen. Deze tabellen zijn de beste bron van deze informatie, omdat deze gegarandeerd up-to-date en voltooid zijn. Door de gebruiker onderhouden documentatie is mogelijk niet gesynchroniseerd met de huidige tabeldefinities.

In de Teradata-omgeving geven systeemcatalogustabellen de huidige tabel en weergavedefinitie op. In tegenstelling tot door de gebruiker onderhouden documentatie is systeemcatalogusinformatie altijd volledig en synchroon met de huidige tabeldefinities. Door weergaven in de catalogus te gebruiken, zoals DBC.ColumnsV, hebt u toegang tot systeemcatalogusgegevens om DDL-instructies te genereren CREATE TABLE die gelijkwaardige tabellen maken in Azure Synapse.

Tip

Gebruik bestaande Teradata-metagegevens om het genereren van CREATE TABLE en CREATE VIEW DDL voor Azure Synapse te automatiseren.

U kunt ook migratieprogramma's van derden en ETL-hulpprogramma's gebruiken waarmee systeemcatalogusgegevens worden verwerkt om vergelijkbare resultaten te bereiken.

Gegevensextractie uit Teradata

U kunt onbewerkte tabelgegevens uit Teradata-tabellen extraheren naar platte bestanden, zoals CSV-bestanden, met behulp van standaardhulpprogramma's van Teradata, zoals Basic Teradata Query (BTEQ), Teradata FastExport of Teradata Parallel Transporter (TPT). Gebruik TPT om tabelgegevens zo efficiënt mogelijk te extraheren. TPT maakt gebruik van meerdere parallelle FastExport-streams om de hoogste doorvoer te bereiken.

Tip

Gebruik Teradata Parallel Transporter voor het meest efficiënte gegevensextract.

Roep TPT rechtstreeks aan vanuit Azure Data Factory. Dit is de aanbevolen methode voor gegevensmigratie van on-premises Teradata-exemplaren en Teradata-exemplaren die worden uitgevoerd binnen een VIRTUELE machine in de Azure-omgeving.

Geëxtraheerde gegevensbestanden moeten tekstbestanden met scheidingstekens bevatten in CSV-, geoptimaliseerde rijkolommen (ORC) of Parquet-indeling.

Zie Gegevensmigratie, ETL en laden voor Teradata-migraties voor meer informatie over het migreren van gegevens en ETL vanuit een Teradata-omgeving.

Prestatieaan aanbevelingen voor Teradata-migraties

Het doel van prestatieoptimalisatie is dezelfde of betere prestaties van het datawarehouse na de migratie naar Azure Synapse.

Tip

Prioriteit geven aan de afstemmingsopties in Azure Synapse aan het begin van een migratie.

Verschillen in de benadering voor het afstemmen van prestaties

In deze sectie worden de verschillen tussen implementatieverschillen op laag niveau gemarkeerd tussen Teradata en Azure Synapse.

Opties voor gegevensdistributie

Voor prestaties is Azure Synapse ontworpen met architectuur met meerdere knooppunten en wordt parallelle verwerking gebruikt. Als u de prestaties van afzonderlijke tabellen in Azure Synapse wilt optimaliseren, kunt u een optie voor gegevensdistributie definiëren in CREATE TABLE instructies met behulp van de DISTRIBUTION instructie. U kunt bijvoorbeeld een door hash gedistribueerde tabel opgeven, waarmee tabelrijen over rekenknooppunten worden verdeeld met behulp van een deterministische hash-functie. Het doel is om de hoeveelheid gegevens te verminderen die wordt verplaatst tussen verwerkingsknooppunten bij het uitvoeren van een query.

Voor grote tabellen tot grote tabel joins, hash distribueert u een of, idealiter, beide tabellen in een van de joinkolommen, die een breed scala aan waarden hebben om een gelijkmatige verdeling te garanderen. Voer de joinverwerking lokaal uit omdat de gegevensrijen die worden samengevoegd, zich op hetzelfde verwerkingsknooppunt bevinden.

Azure Synapse ondersteunt ook lokale joins tussen een kleine tabel en een grote tabel via kleine tabelreplicatie. Denk bijvoorbeeld aan een kleine dimensietabel en een grote feitentabel binnen een stervormig schemamodel. Azure Synapse kan de kleinere dimensietabel repliceren op alle knooppunten om ervoor te zorgen dat de waarde van een joinsleutel voor de grote tabel een overeenkomende, lokaal beschikbare dimensierij heeft. De overhead van dimensietabelreplicatie is relatief laag voor een kleine dimensietabel. Voor grote dimensietabellen is een hashdistributiebenadering geschikter. Zie Ontwerprichtlijnen voor het gebruik van gerepliceerde tabellen en richtlijnen voor het ontwerpen van gedistribueerde tabellen voor meer informatie over opties voor gegevensdistributie.

Gegevensindexering

Azure Synapse ondersteunt verschillende door de gebruiker gedefinieerde indexeringsopties die afwijken van de indexeringsopties die zijn geïmplementeerd in Teradata. Zie Indexen voor toegewezen SQL-pooltabellen voor meer informatie over de verschillende indexeringsopties in Azure Synapse.

Bestaande indexen in de teradata-bronomgeving bieden een nuttige indicatie van het gegevensgebruik en de kandidaatkolommen voor indexering in de Azure Synapse-omgeving.

Gegevenspartitionering

In een datawarehouse voor ondernemingen kunnen feitentabellen miljarden rijen bevatten. Partitionering optimaliseert het onderhoud en de queryprestaties van deze tabellen door ze op te splitsen in afzonderlijke onderdelen om de hoeveelheid verwerkte gegevens te verminderen. In Azure Synapse definieert de CREATE TABLE instructie de partitioneringsspecificatie voor een tabel. Alleen zeer grote tabellen partitioneren en ervoor zorgen dat elke partitie ten minste 60 miljoen rijen bevat.

U kunt slechts één veld per tabel gebruiken voor partitionering. Dat veld is vaak een datumveld omdat veel query's worden gefilterd op datum- of datumbereik. Het is mogelijk om na de eerste belasting de partitionering van een tabel te wijzigen met behulp van de CREATE TABLE AS instructie (CTAS) om de tabel opnieuw te maken met een nieuwe distributie. Zie Partitioneringstabellen in een toegewezen SQL-pool voor een gedetailleerde bespreking van partitionering in Azure Synapse.

Statistieken van gegevenstabellen

U moet ervoor zorgen dat statistieken voor gegevenstabellen up-to-date zijn door een stap voor statistieken in te bouwen voor ETL-/ELT-taken.

PolyBase of COPY INTO voor het laden van gegevens

PolyBase ondersteunt het efficiënt laden van grote hoeveelheden gegevens naar een datawarehouse met behulp van parallelle laadstromen. Zie De polybase-strategie voor het laden van gegevens voor meer informatie.

COPY INTO biedt ook ondersteuning voor gegevensopname met hoge doorvoer en:

  • Gegevens ophalen uit alle bestanden in een map en submappen.

  • Gegevens ophalen vanaf meerdere locaties in hetzelfde opslagaccount. U kunt meerdere locaties opgeven met door komma's gescheiden paden.

  • Azure Data Lake Storage (ADLS) en Azure Blob Storage.

  • CSV-, PARQUET- en ORC-bestandsindelingen.

Werklastbeheer

Het uitvoeren van gemengde workloads kan problemen met resources opleveren voor drukke systemen. Een succesvol workloadbeheerschema beheert resources effectief, zorgt voor een zeer efficiënt resourcegebruik en maximaliseert het rendement op investeringen (ROI). Workloadclassificatie, workloadbelang en isolatie van werkbelastingen geven meer controle over hoe werkbelasting systeembronnen gebruikt.

In de handleiding voor workloadbeheer worden de technieken beschreven voor het analyseren van de workload, het beheren en bewaken van het belang van de werkbelasting en de stappen voor het converteren van een resourceklasse naar een workloadgroep. Gebruik de Azure-portal en T-SQL-query's op DMV's om de workload te bewaken om ervoor te zorgen dat de toepasselijke resources efficiënt worden gebruikt.

Volgende stappen

Zie het volgende artikel in deze reeks: Gegevensmigratie, ETL en laden voor Teradata-migraties voor meer informatie over ETL en belasting voor Teradata-migraties.