Database Migration Service (DMS) og Schema Conversion Tool
Migrer homogene og heterogene databaser med DMS ved hjelp av full lasting eller CDC, og konverter skjema-dialekter med Schema Conversion Tool
Database Migration Service (DMS) og Schema Conversion Tool er en gratis leksjon i Cloud & IT Cert Prep på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cloud & IT Cert Prep, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cloud & IT Cert Prep inneholder totalt 4 leksjoner.
Hva er AWS DMS?
AWS Database Migration Service (DMS) migrerer databaser til AWS med minimal nedetid. Den støtter homogene migreringer (for eksempel Oracle til Oracle, MySQL til MySQL) og heterogene migreringer (for eksempel Oracle til Aurora PostgreSQL, SQL Server til MySQL). DMS bruker en replikasjonsinstans som leser fra kilden, eventuelt transformerer dataene og skriver til målet. De betaler bare for kjøretiden til replikasjonsinstansen.
DMS-komponenter: Endepunkter og replikasjonsinstans
DMS har tre nøkkelkomponenter. Source Endpoints definerer tilkoblingen til kildedatabasen (JDBC-URL, legitimasjon, TLS). Target Endpoints definerer måldatabasen. Replication Instance er en EC2-basert, administrert server som DMS klargjør i VPC-en Deres for å kjøre migreringsbelastningen. Velg størrelse på replikasjonsinstansen basert på hvor mye data som skal migreres, og om De ønsker multi-AZ for selve replikasjonsinstansen.
# Create a DMS replication instance
aws dms create-replication-instance \
--replication-instance-identifier my-dms-instance \
--replication-instance-class dms.t3.medium \
--allocated-storage 50 \
--vpc-security-group-ids sg-abc123 \
--replication-subnet-group-identifier my-dms-subnet-group \
--multi-az false \
--publicly-accessible falseMigrering med Full Load kontra CDC
DMS støtter to migreringsmoduser. Full Load kopierer alle eksisterende data fra kilde til mål – egnet når De kan akseptere nedetid, eller når kilden er skrivebeskyttet under migreringen. Change Data Capture (CDC) fanger opp løpende endringer fra kildens transaksjonslogg etter at full last er fullført, slik at kilde og mål holdes synkronisert. En kombinert migrering med Full Load + CDC minimerer nedetiden: migrer data mens kilden er aktiv, og gjennomfør deretter overgangen når målet er à jour.
# Create a DMS replication task with Full Load + CDC
aws dms create-replication-task \
--replication-task-identifier sales-migration \
--source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
--target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
--replication-instance-arn arn:aws:dms:us-east-1:123:rep:my-dms-instance \
--migration-type full-load-and-cdc \
--table-mappings '{"rules": [{"rule-type": "selection", "rule-id": "1", "rule-name": "all", "object-locator": {"schema-name": "%", "table-name": "%"}, "rule-action": "include"}]}'Schema Conversion Tool (SCT)
AWS Schema Conversion Tool (SCT) er en gratis applikasjon som kan lastes ned, og som automatisk konverterer kildedatabasens skjema (DDL) til et format som er kompatibelt med måldatabasemotoren. Den håndterer tabelldefinisjoner, visninger, lagrede prosedyrer, funksjoner og utløsere. Ved heterogene migreringer (for eksempel Oracle til PostgreSQL) konverterer SCT de fleste objektene automatisk og markerer elementer som krever manuell gjennomgang på grunn av forskjeller i syntaks som ikke støttes.
# SCT is a GUI desktop tool, but here is the workflow:
# 1. Connect SCT to source Oracle database
# 2. Connect SCT to target Aurora PostgreSQL database
# 3. Run schema assessment: SCT rates conversion complexity per object
# 4. Convert schema automatically (SCT generates PostgreSQL DDL)
# 5. Apply converted DDL to target (SCT executes or exports SQL script)
# 6. Review and manually fix flagged items (e.g., PL/SQL procedures with Oracle-specific syntax)Homogen kontra heterogen migrering
Ved homogene migreringer (samme motor, for eksempel MySQL lokalt til RDS for MySQL) er SCT vanligvis ikke nødvendig – skjemaet er direkte kompatibelt. DMS kan kjøre Full Load + CDC umiddelbart. Ved heterogene migreringer (ulike motorer) må SCT konvertere skjemaet først. DMS håndterer datamigreringen, og De må kanskje skrive om lagrede prosedyrer og utløsere manuelt dersom de ikke har noen tilsvarende funksjon i målmotoren.
# Example heterogeneous migration workflow:
# On-premises Oracle -> Amazon Aurora PostgreSQL
#
# Step 1: SCT converts Oracle DDL to PostgreSQL DDL
# Step 2: Apply PostgreSQL DDL to Aurora target
# Step 3: DMS Full Load + CDC copies Oracle table data to Aurora
# Step 4: Validate row counts and checksums
# Step 5: Cut over application connections to Aurora endpoint
# Step 6: Terminate DMS task and replication instanceStøttede kilde- og måldatabaser
DMS støtter et bredt utvalg av kilder: Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2 og S3. Støttede mål omfatter alle de ovennevnte samt Amazon Redshift, DynamoDB, Kinesis Data Streams og Kafka. Dette gjør DMS nyttig ikke bare for relasjonelle migreringer, men også for strømming av relasjonelle endringshendelser til en datasjø eller en hendelsesdrevet arkitektur ved hjelp av CDC til Kinesis.
Regler for DMS-tabelltilordning
DMS bruker table mapping rules (JSON) til å styre hvilke skjemaer og tabeller som skal inkluderes eller utelates, og til å bruke datatransformasjoner. De kan gi skjemaer eller tabeller nye navn, konvertere kolonneverdier (for eksempel gjøre alle strenger til store bokstaver), legge til avledede kolonner eller filtrere rader. Dette er nyttig ved migrering til et mål med andre navnekonvensjoner, eller når De bare vil migrere et delsett av tabellene.
# Table mapping: include only the 'orders' table, rename schema
{
'rules': [
{
'rule-type': 'selection',
'rule-id': '1',
'rule-name': 'select-orders',
'object-locator': {'schema-name': 'prod_db', 'table-name': 'orders'},
'rule-action': 'include'
},
{
'rule-type': 'transformation',
'rule-id': '2',
'rule-name': 'rename-schema',
'rule-action': 'convert-uppercase',
'rule-target': 'schema',
'object-locator': {'schema-name': 'prod_db'}
}
]
}Overvåke fremdriften i DMS-migreringen
DMS publiserer metrikkdata til CloudWatch: FullLoadThroughputRowsSource (antall innlastede rader per sekund), CDCLatencySource (forsinkelsen mellom kildens transaksjonslogg og DMS-lesingen) og CDCLatencyTarget (forsinkelsen mellom DMS-lesingen og skrivingen til målet). Følg nøye med på CDCLatencyTarget under synkroniseringsfasen – når den nærmer seg null, er målet à jour med kilden, og De er klare for overgang.
# Monitor CDC latency via CloudWatch CLI
aws cloudwatch get-metric-statistics \
--namespace AWS/DMS \
--metric-name CDCLatencyTarget \
--dimensions Name=ReplicationInstanceIdentifier,Value=my-dms-instance \
--start-time 2024-01-01T00:00:00Z \
--end-time 2024-01-01T01:00:00Z \
--period 60 \
--statistics AverageDMS Serverless
DMS Serverless klargjør og skalerer replikasjonskapasiteten automatisk basert på migreringsbelastningen, slik at De slipper å velge og administrere størrelsen på en replikasjonsinstans. De angir minimum og maksimum for DMS-kapasitetsenheter (DCU), og DMS skalerer automatisk innenfor dette området. Dette er ideelt for migreringer med varierende belastning, eller når De vil unngå risikoen for at replikasjonsinstansen er underdimensjonert under perioder med høy migreringsbelastning.
# Create a DMS Serverless replication
aws dms create-replication \
--replication-config-identifier my-serverless-migration \
--replication-type full-load-and-cdc \
--source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
--target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
--compute-config '{
"MinCapacityUnits": 2,
"MaxCapacityUnits": 64,
"MultiAZ": false,
"ReplicationSubnetGroupId": "my-subnet-group",
"VpcSecurityGroupIds": ["sg-abc123"]
}'Validere at migreringen er fullført
Valider at alle data er med etter migreringen, ved hjelp av DMS Data Validation. Aktiver funksjonen i oppgaveinnstillingene, så sammenligner DMS radantall og kontrollsummer mellom kilde- og måltabellene og rapporterer avvik til en separat valideringstabell. Ved heterogene migreringer bør De også kjøre smoke-tester på applikasjonsnivå. Gjennomfør aldri overgangen før valideringen viser null avvik – det er langt mer kostbart å avstemme data etter en mislykket overgang enn å bruke ekstra tid på validering.
# Enable validation in DMS task settings (JSON)
{
'TargetMetadata': {'SupportLobs': true, 'FullLobMode': false},
'ValidationSettings': {
'EnableValidation': true,
'ValidationMode': 'ROW_LEVEL',
'ValidationOnly': false,
'FailureMaxCount': 10000
}
}Vanlige eksamensscenarioer for DMS
I SAA-C03-eksamen forekommer DMS i scenarioer som krever databasemigrering med minimal nedetid. Viktige signaler er: «migrer en database med løpende replikering» → DMS Full Load + CDC. «bytte databasemotor» → SCT først, deretter DMS. «repliker endringer til en datasjø i tilnærmet sanntid» → DMS CDC til Kinesis eller S3. «konsolider flere kildedatabaser i ett mål» → flere DMS-oppgaver til ett målendepunkt. DMS er spesifikt beregnet på databasemigrering – bruk MGN til servermigrering og DataSync eller Snowball til storskala dataoverføring.
Kunnskapssjekk
Test forståelsen Deres av AWS Solutions Architect-konsepter (SAA-C03) fra denne leksjonen.
Oppsummering av leksjonen
I denne leksjonen har De lært at DMS støtter både homogene og heterogene databasemigreringer ved hjelp av modusene Full Load og CDC, at SCT automatiserer skjemakonvertering ved migreringer som bytter motor, og markerer elementer som må gjennomgås manuelt, og at DMS Serverless skalerer replikasjonskapasiteten automatisk, slik at De slipper å bestemme instansstørrelsen. Deretter skal vi se nærmere på Amazon EventBridge for hendelsesdrevet ruting og bussarkitektur.
Lær deg Cloud & IT Cert Prep med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 150
- Leksjoner
- 600
Ofte stilte spørsmål
Er leksjonen «Database Migration Service (DMS) og Schema Conversion Tool» gratis?
Ja – hele teksten i «Database Migration Service (DMS) og Schema Conversion Tool» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Cloud & IT Cert Prep-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Cloud & IT Cert Prep inneholder totalt 4 leksjoner.
Hva lærer jeg i «Database Migration Service (DMS) og Schema Conversion Tool»?
Migrer homogene og heterogene databaser med DMS ved hjelp av full lasting eller CDC, og konverter skjema-dialekter med Schema Conversion Tool Du øver på Cloud & IT Cert Prep med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Cloud & IT Cert Prep?
Ingen tidligere erfaring er nødvendig. Cloud & IT Cert Prep på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Database Migration Service (DMS) og Schema Conversion Tool»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Cloud & IT Cert Prep-leksjonen?
Ja. Alle Cloud & IT Cert Prep-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Migreringsstrategiens 7 R-er
- AWS Migration Hub og Application Discovery Service
- Application Migration Service (MGN)
- Database Migration Service (DMS) og Schema Conversion Tool