Delen via


Migratiefasen van Oracle naar Azure Database for PostgreSQL

Voor een uitgebreide end-to-end migratie van Oracle naar Azure Postgres is het zorgvuldig uitvoeren van verschillende belangrijke stappen en migratiefasen vereist. Deze mijlpalen zijn allemaal nauw verwant en essentieel voor een volledige en succesvolle migratie.

Schermopname van migratiefasen: Detectie, evaluatie, schemamigratie, codemigratie, gegevensmigratie, toepassingsmigratie, prestaties afstemmen en cloudoptimalisatie.

Detectie

De meeste klanten zijn al bekend met de hoeveelheden en locaties van hun Oracle-database-exemplaren (met name de bijbehorende licentiekosten), maar voor de volledigheid benadrukken we deze fase als een belangrijk uitgangspunt in uw migratie. De detectiefase is een ideale fase om het juiste bereik van uw migratie-inspanningen te bepalen. Hebt u een Oracle-databaseserver 'farm'-omgeving waarvoor tientallen, honderden of zelfs duizenden databases moeten worden gemigreerd? Overweegt u een migratie op schaal volgens een 'migratiefactory'-benadering? Is uw omgeving beter geschikt voor de end-to-end migratie van één database, naast een parallelle modernisering van alle verbonden clients voordat u naar de volgende database in de migratielijst gaat? In beide gevallen is een up-to-date en grondige inventarisatie een essentiële vereiste en zorgt de detectiefase ervoor dat u voorbereid bent op succes.

Evaluaties

Evaluaties bevatten veel verschillende soorten verkennende bewerkingen op basis van schattingen, die afzonderlijk worden gedefinieerd door hun unieke kenmerken. Sommige evaluaties zijn ontworpen om de complexiteit van inspanning en resources die betrokken zijn bij de migratie van databaseobjecten te schatten en te categoriseren op basis van factoren zoals het aantal objecten (mogelijk zelfs het verkennen van het aantal regels code) waarvoor aandacht van een expert op het gebied van onderwerp is vereist. Andere typen evaluaties verkennen de structuur en grootte van de onderliggende gegevens en bieden richtlijnen met betrekking tot de hoeveelheid tijd die nodig is om gegevens volledig naar de doelomgeving te migreren. Nog een ander evaluatietype is gestructureerd om ervoor te zorgen dat uw Azure Postgres-doelresources op de juiste wijze worden geschaald om te voldoen aan de reken-, geheugen-, IOPS- en netwerkconfiguratie die nodig is om uw gegevens te verwerken. Een van de belangrijkste evaluaties die moeten worden opgenomen om ervoor te zorgen dat uw migratie is geslaagd, is een grondige beoordeling en overweging van alle verbonden clients en het bereik dat alle afhankelijke toepassingen omvat. Als u wilt samenvatten, moet u bij het voorbereiden van uw migratieevaluaties alle aspecten van uw databasemigratie beoordelen, waaronder:

  • Hoeveelheid en complexiteit van databaseschema/codeconversie
  • Databasegrootte en -schaal
  • Operationele vereisten voor databaseresources
  • Migratie van clienttoepassingscode

Uw evaluatienauwkeurigheid is nauw gekoppeld aan de specifieke onderliggende hulpprogramma's en serviceplatforms die betrokken zijn bij de uitvoering en voltooiing van volgende migratiestappen. Het is daarom belangrijk om te overwegen dat er verschillende factoren zijn die van invloed kunnen zijn op de nauwkeurigheid van deze evaluatieschattingen en gerapporteerde resultaten rechtstreeks worden gecorreleerd aan de onderliggende hulpprogramma's die in uw migratiebeoordeling worden gebruikt. Zorg ervoor dat u geen schattingsuitvoer van verschillende of gecombineerde hulpprogramma's interpoleert bij het beoordelen en opnemen van evaluatie-uitvoer in uw migratieplannen.

Zie ons Playbook oracle naar Azure Postgres Migration voor meer informatie

Databaseschemamigratie

Gestructureerde gegevensdefinities zijn een van de kenmerken van transactionele database-engines en een essentiële basis voor een goed ontworpen gegevensplatform. Ervoor zorgen dat uw unieke Oracle-gegevensstructuren en -definities correct worden toegewezen aan hun respectieve tabellen in Azure Postgres, is een essentiële vereiste voor het algehele succes van uw migratie. Hoewel alle transactionele databases veel overeenkomsten delen, bestaan er verschillen in gegevenstabel- en kolomgegevenstypen en moet u ervoor zorgen dat uw gegevens niet per ongeluk verloren gaan, afgekapt of worden beheerd vanwege niet-overeenkomende gegevensdefinities. Numerieke gegevenstypen, datum/tijd-gegevenstypen en op tekst gebaseerde gegevenstypen zijn slechts enkele voorbeelden van gebieden die nauwkeurig moeten worden onderzocht bij het ontwikkelen van bijbehorende gegevenstoewijzingen voor uw migratie.

Zie ons Playbook Oracle naar Azure Postgres Migration Voor meer informatie en voorbeelden van de verschillen tussen Oracle- en Postgres-gegevenstypen

Databasecodemigratie

Databasecodemigratie verwijst naar het proces van het converteren van databasecode die is geschreven voor Oracle om compatibel te zijn met de Postgres-database-engine, terwijl zowel de oorspronkelijke functionaliteit als de bestaande prestatiekenmerken behouden blijven. Dit proces omvat het converteren van Oracle PL/SQL-query's, opgeslagen procedures, functies, triggers en andere databaseobjecten die compatibel zijn met Postgres PL/pgSQL. Gelukkig delen de PL/SQL- en Postgres-dialecten van de PL/pgSQL-procedurele taal van Oracle veel overeenkomsten. Dit is meestal de eerste factor die veel organisaties identificeren bij het selecteren van Postgres als de beste oplossing voor Oracle-databasemigraties. Er zijn echter enkele unieke verschillen en onderscheid tussen de twee databasetalen die moeten worden overwogen. Aandachtsgebieden zijn onder andere: databasespecifieke trefwoorden en syntaxis, afhandeling van uitzonderingen, ingebouwde functies, gegevenstypen en incrementatie van reeksen.

In veel gevallen kan het Postgres-extensie-ecosysteem een krachtige ally zijn om u te helpen bij het stroomlijnen van uw codemigratieproces. De extensie 'Oracle Functions for PostgreSQL' (orafce) biedt bijvoorbeeld een set ingebouwde Oracle-compatibiliteitsfuncties en -pakketten die de noodzaak kunnen verminderen om onderdelen van uw codebasis te herschrijven die afhankelijk zijn van en verwijzen naar deze Oracle-functies. Het gebruik van deze op compatibiliteit gebaseerde benadering tijdens de migratie van Oracle-code naar PostgreSQL biedt aanzienlijke voordelen in termen van het verminderen van de complexiteit, tijd en kosten van het migratieproces door de oorspronkelijke logica en functionaliteit van uw brondatabasedefinities te behouden, consistentie in resultaten te garanderen en de productiviteit van ontwikkelaars te verbeteren. Al deze voordelen bieden een vereenvoudigde en efficiëntere codemigratie naar PostgreSQL.

Zie ons Playbook Oracle naar Azure Postgres Migration Voor meer informatie en voorbeelden van de verschillen tussen ingebouwde functies en logische operators van Oracle en Postgres

Gegevensmigratie

In de huidige gegevensgestuurde omgeving zijn uw gegevens waarschijnlijk uw meest waardevolle asset. Uw gegevensresources beïnvloeden steeds meer elk aspect van geïnformeerde bedrijfsactiviteiten en strategische besluitvorming. Het is daarom vooral essentieel dat uw pijplijnen voor gegevensmigratie efficiënt en expedient werken, volledig consistent en verifieerbaar zijn en uiteindelijk succesvol zijn voltooid.

Uw strategie voor gegevensmigratie moet zorgvuldig worden overwogen om te bepalen of 'offline' of 'live'-benaderingen van toepassing zijn op uw omgeving. Elke strategie voor gegevensmigratie heeft een eigen combinatie van voordelen en overwegingen, en de keuze tussen 'offline' en 'live'-bewerkingen is afhankelijk van de specifieke vereisten en beperkingen van uw omgeving. 'offline'-migraties kunnen bijvoorbeeld eenvoudiger en minder complex zijn dan 'live'-migraties, maar 'offline'-migraties hebben betrekking op downtime voor de periode die nodig is om uw gegevens volledig naar uw doeldatabase te migreren. Livemigraties bieden minimale tot geen downtime, maar ze hebben meer complexiteit en infrastructuur nodig om toezicht te houden op de initiële backfillgegevensbelasting en de volgende gegevenssynchronisatie van wijzigingen die zich mogelijk hebben voorgedaan sinds het begin van de gegevensmigratie. Zorgvuldige planning, grondige beoordeling van bedrijfsvereisten en overwegingen van de specifieke kritieke factoren van uw team zorgen ervoor dat u een weloverwogen beslissing kunt nemen die volledig is afgestemd op uw behoeften voor gegevensmigratie.

Migratie van toepassingscode

Hoewel externe toepassingen technisch gezien buiten het domein van de migratieverantwoordelijkheden van het databaseteam kunnen worden beschouwd, is het bijwerken en moderniseren van de databaseconnectiviteit met uw clienttoepassingen een essentiële en nauw verwante fase voor het algehele succes van uw databasemigratietraject. Net als bij de andere fasen van uw migratie is de bijbehorende inspanning en complexiteit bij het oplossen van de compatibiliteit van uw clienttoepassingsplatform afhankelijk van de unieke omstandigheden van uw omgeving. Zijn uw clienttoepassingen ontwikkeld door een derde partij? Zo ja, dan is het belangrijk om ervoor te zorgen dat hun softwareproduct is gecertificeerd ter ondersteuning van het Postgres-databaseplatform. Zijn uw interne toepassingen die gebruikmaken van object-relationele toewijzingstechnologieën, zoals Sluimerstand of Entity Framework? In sommige gevallen is een kleine configuratie of bestandswijziging mogelijk alles wat vereist is. Als u echter aanzienlijke hoeveelheden databasequery's en instructies in uw code hebt ingesloten, moet u mogelijk meer tijd toewijzen om uw codewijzigingen op de juiste manier te controleren, te wijzigen en te valideren.

Er zijn ook partneroplossingsproviders die nieuwe benaderingen bieden waarmee verouderde clientdatabasebewerkingen in realtime kunnen worden vertaald. Deze proxyservices bieden een abstractie van uw databaselagen die uw toepassingen effectief loskoppelen van databasespecifieke taalafhankelijkheden.

In veel gevallen kan uw beslissing een combinatie van meerdere strategieën en hybride benadering omvatten die gezamenlijk worden gebruikt voor hun respectieve sterke punten en gecombineerde mogelijkheden. Door een realtime databasevertalingslaag te implementeren, kunnen uw teams hun clienttoepassingen snel opnieuw implementeren en tegelijkertijd uw softwaretechnici en ontwikkelaars de juiste tijd en resourceplanning bieden om hun databasespecifieke afhankelijkheden te herstructureren ter ondersteuning van systeemeigen Postgres-bewerkingen.

Belangrijk

Elk van deze keuzes gaat gepaard met hun eigen specifieke reeksen overwegingen en voordelen en het is essentieel dat uw teams elk van deze benaderingen zorgvuldig bekijken om het ideale strategische pad vooruit te bepalen.

Migratievalidatie

Bij het migreren van Oracle naar PostgreSQL is het essentieel dat gegevensintegriteit en logische consistentie worden gegarandeerd. Migratievalidatie speelt een belangrijke rol in dit proces, omdat hierbij wordt gecontroleerd of de gegevens die zijn overgedragen uit de brondatabase van Oracle nauwkeurig en volledig zijn in het PostgreSQL-doelsysteem. Deze stap is niet alleen essentieel voor het handhaven van de betrouwbaarheid van de gegevens, maar ook voor het bevestigen dat het migratieproces geen fouten of verschillen heeft geïntroduceerd. Validatiecontroles kunnen bestaan uit het vergelijken van tabelaantallen, het verifiëren van gegevenstypen en structuren, het vergelijken van kolomwaarden op rijniveau en het garanderen dat complexe query's consistente resultaten opleveren voor beide databases. Daarnaast moet speciale aandacht worden besteed tijdens het afhandelen van verschillen in de manier waarop de twee databasesystemen gegevens beheren, zoals variaties in datum- en tijdnotaties, tekencodering en verwerking van null-waarden.

Dit omvat meestal het instellen van geautomatiseerde validatiescripts waarmee gegevenssets in beide databases kunnen worden vergeleken en eventuele afwijkingen kunnen worden gemarkeerd. Hulpprogramma's en frameworks die zijn ontworpen voor gegevensvergelijking, kunnen worden gebruikt om dit proces te stroomlijnen. Validatie na de migratie moet een iteratief proces zijn, waarbij meerdere controles in verschillende fasen van de migratie worden uitgevoerd om problemen vroegtijdig te ondervangen en het risico op beschadiging van gegevens te minimaliseren. Door gegevensvalidatie te prioriteren, kunnen organisaties met vertrouwen overstappen van Oracle naar PostgreSQL, wetende dat hun gegevens betrouwbaar en uitvoerbaar blijven.

Prestaties afstemmen

Prestaties worden over het algemeen beschouwd als een van de meest tastbare en belangrijke kenmerken die de perceptie en bruikbaarheid van uw platform bepalen. Ervoor zorgen dat uw migratie zowel nauwkeurig als performant is, is van cruciaal belang voor het bereiken van succes en kan niet worden over het hoofd gezien. Queryprestaties worden vaak beschouwd als de meest kritieke indicator van optimale databaseconfiguratie en worden vaak gebruikt als een litmustest door uw gebruikers om de status van uw omgeving te bepalen.

Gelukkig bevat het Azure-platform systeemeigen de hulpprogramma's en mogelijkheden die nodig zijn voor het bewaken van prestatiepunten in verschillende metrische gegevens, waaronder schalen, efficiëntie en misschien wel het belangrijkst, snelheid. Deze intelligente prestatiefuncties werken hand in hand met de Postgres-bewakingsbronnen om uw afstemmingsprocessen te vereenvoudigen en in veel gevallen deze stappen te automatiseren om deze stappen automatisch aan te passen en zo nodig aan te passen. De volgende Azure-hulpprogramma's kunnen ervoor zorgen dat uw databasesystemen op hun beste niveau werken.

Query Store

Query Store voor Azure Postgres fungeert als de basis voor uw bewakingsfuncties. Query Store houdt de statistieken en operationele metrische gegevens bij van uw Postgres-database, inclusief query's, gekoppelde uitlegplannen, resourcegebruik en timing van workloads. Deze gegevenspunten kunnen langdurige query's ontdekken, query's die de meeste resources verbruiken, de meest frequent uitgevoerde query's, overmatige tabelbloat en nog veel meer operationele facetten van uw database. Deze informatie helpt u minder tijd te besteden aan het oplossen van problemen door snel te identificeren welke bewerkingen of gebieden aandacht vereisen. Query Store biedt een uitgebreid overzicht van de algehele workloadprestaties door het volgende te identificeren:

  • Langlopende query's en hoe ze in de loop van de tijd veranderen.
  • Wachttypen die van invloed zijn op deze query's.
  • Details over de belangrijkste databasequery's op aanroepen (aantal uitvoeringen), op gegevensgebruik, IOPS en op tijdelijk bestandsgebruik (mogelijke afstemmingskandidaten voor prestatieverbeteringen).
  • Details van een query inzoomen om de query-id en geschiedenis van resourcegebruik weer te geven.
  • Dieper inzicht in het totale resourceverbruik van databases.

Indexafstemming

Indexafstemming is een functie van een flexibele Azure Database for PostgreSQL-server waarmee de prestaties van uw workload automatisch kunnen worden verbeterd door bijgehouden query's te analyseren en indexaan aanbevelingen te geven. Het is systeemeigen ingebouwd in Azure Database for PostgreSQL Flexible Server en bouwt voort op de Functionaliteit van Query Store. Indexafstemming analyseert werkbelastingen die worden bijgehouden door Query Store en produceert indexaankopen om de prestaties van de geanalyseerde workload te verbeteren of dubbele of ongebruikte indexen te verwijderen. Dit wordt op drie unieke manieren bereikt:

  • Bepaal welke indexen nuttig zijn om te maken, omdat ze de query's die tijdens een sessie voor het afstemmen van de index worden geanalyseerd aanzienlijk kunnen verbeteren.
  • Identificeer indexen die exacte duplicaten zijn en kunnen worden geëlimineerd om de prestaties te verminderen die hun bestaan en onderhoud hebben op de algehele prestaties van het systeem.
  • Identificeer indexen die niet worden gebruikt in een configureerbare periode die kandidaten kunnen zijn om te elimineren.

Intelligent afstemmen

Intelligent afstemmen is een doorlopend bewakings- en analyseproces dat niet alleen leert over de kenmerken van uw workload, maar ook uw huidige belasting en resourcegebruik bijhoudt, zoals CPU of IOPS. De normale bewerkingen van uw toepassingsworkload worden niet verstoord. Met het proces kan de database dynamisch worden aangepast aan uw workload door de huidige bloatverhouding, schrijfprestaties en de efficiëntie van controlepunten op uw exemplaar te onderscheiden. Met deze inzichten implementeert Intelligent Tuning afstemmingsacties die de prestaties van uw workload verbeteren en potentiële valkuilen voorkomen. Deze functie bestaat uit twee functies voor automatisch afstemmen:

  • Autovacuum-afstemming: Met deze functie wordt de verhouding van de bloat bijgehouden en worden de instellingen voor autovacuum dienovereenkomstig aangepast. Het is een factor in zowel het huidige als voorspelde resourcegebruik om onderbrekingen van de werkbelasting te voorkomen.
  • Schrijfafstemming: Deze functie bewaakt het volume en de patronen van schrijfbewerkingen en wijzigt parameters die van invloed zijn op de schrijfprestaties. Deze aanpassingen verbeteren zowel systeemprestaties als betrouwbaarheid, om proactief potentiële complicaties te voorkomen.

Tip

Meer informatie over het toepassen van Intelligente prestaties om uw Azure Postgres-platformen te maximaliseren.

Cloudoptimalisatie

Optimalisatie van uw nieuwe Azure Postgres-databaseomgeving geeft het hoogtepunt aan van al het ongelooflijke werk en harde werk dat uw team heeft geleid om op dit belangrijke punt te komen. Cloudoptimalisatie kan een nieuwe verantwoordelijkheid zijn, met name wanneer deze afkomstig is van een on-premises of verouderde databaseomgeving. Het Azure-cloudplatform introduceert een nieuwe en verbeterde set waardevolle en geavanceerde schaalbaarheidsfuncties, zodat uw team de precieze toewijzing van resources, functies en kostenefficiëntie kan 'inbellen' zodat deze voldoet aan de behoeften van uw organisatie. Cloudoptimalisatie is een doorlopend proces van continue verfijning voor uw omgeving, zoals wordt bekeken door de lenzen van de best practices die zijn gekoppeld aan het goed ontworpen Framework van Microsoft: kostenoptimalisatie, operationele uitmuntendheid, prestatie-efficiëntie, betrouwbaarheid en beveiliging.

Kostenoptimalisatie is een combinatie van het juiste formaat van uw resources, het toepassen van strategieën voor kostenbeheer en efficiënt resourcegebruik.

Operating Excellence omvat de acceptatie van automatisering voor implementaties, bewaking en schaalaanpassing, en vermindert fouten terwijl de efficiëntie toeneemt.

Prestatie-efficiëntie zorgt ervoor dat u de juiste resources kiest om te voldoen aan vereisten zonder over-inrichting, terwijl u ook aanbevolen procedures toepast voor schaalbaarheid om verschillende belastingen efficiënt te verwerken tijdens piekperioden in operationele perioden.

Betrouwbaarheid begeleidt u bij het ontwerpen van maximaal beschikbare en fouttolerante systemen met redundantie- en failovermechanismen om downtime te minimaliseren en strategieën voor herstel na noodgevallen voor het implementeren van robuuste herstelplannen, waaronder back-up- en herstelprocedures.

Beveiliging benadrukt het belang van sterke identiteitsprotocollen en procedures voor toegangsbeheer, zoals toegang tot minimale bevoegdheden, verificatie zonder wachtwoord en op rollen gebaseerd toegangsbeheer. Gegevensbescherming en -versleuteling zorgen ervoor dat gevoelige gegevens zowel at-rest als in transit worden beveiligd. Beveiliging omvat ook hulpprogramma's en aanbevolen procedures voor detectie van bedreigingen en geautomatiseerde reacties om beveiligingsincidenten onmiddellijk aan te pakken. Naleving zorgt ervoor dat uw omgeving voldoet aan industriestandaarden en -voorschriften.

Voor meer informatie over de vijf pijlers van implementatierichtlijnen en basisprincipes voor cloudoptimalisatie, gaat u naar ons WaF-centrum (Azure Well-Architected Framework).

Raadpleeg onze Azure Well-Architected Framework-servicehandleiding voor PostgreSQL om ervoor te zorgen dat deze pijlers zijn afgestemd op uw Azure Postgres-implementatie.