Database Migration Service (DMS) ja Schema Conversion Tool
Siirrä samanlaisia ja erilaisia tietokantoja DMS:llä käyttäen täyslatausta tai CDC:tä ja muunna skeemadialekteja Schema Conversion Toolilla.
Database Migration Service (DMS) ja Schema Conversion Tool on ilmainen AWS Solutions Architect-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu AWS Solutions Architect-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. AWS Solutions Architect-kurssilla on yhteensä 4 oppituntia.
Mikä AWS DMS on?
AWS Database Migration Service (DMS) siirtää tietokantoja AWS:ään mahdollisimman lyhyellä käyttökatkolla. Se tukee homogeenisia migraatioita (esimerkiksi Oraclesta Oracleen ja MySQL:stä MySQL:ään) sekä heterogeenisia migraatioita (esimerkiksi Oraclesta Aurora PostgreSQL:ään ja SQL Serveristä MySQL:ään). DMS käyttää replikointi-instanssia, joka lukee tietoja lähteestä, muuntaa niitä tarvittaessa ja kirjoittaa ne kohteeseen. Maksatte vain replikointi-instanssin käyttöajasta.
DMS:n komponentit: päätepisteet ja replikointi-instanssi
DMS:llä on kolme keskeistä komponenttia. Source Endpoints määrittää yhteyden lähdetietokantaan (JDBC-URL-osoite, tunnistetiedot ja TLS). Target Endpoints määrittää kohdetietokannan. Replication Instance on EC2-pohjainen hallittu palvelin, jonka DMS ottaa käyttöön VPC:ssäsi migraatiokuorman suorittamista varten. Valitkaa replikointi-instanssin koko siirrettävän datamäärän perusteella ja päättäkää, tarvitsetteko replikointi-instanssille itselleen usean saatavuusalueen (multi-AZ) tuen.
# 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 falseFull Load -lataus ja CDC-migraatio
DMS tukee kahta migraatiotilaa. Full Load kopioi kaikki olemassa olevat tiedot lähteestä kohteeseen — tämä sopii tilanteisiin, joissa käyttökatko on mahdollinen tai lähde on migraation aikana vain luku -tilassa. Change Data Capture (CDC) tallentaa lähteen tapahtumalokista jatkuvat muutokset Full Load -latauksen valmistuttua ja pitää lähteen ja kohteen synkronoituina. Yhdistetty Full Load + CDC -migraatio minimoi käyttökatkon: siirtäkää tiedot lähteen pysyessä käytössä ja suorittakaa siirto, kun kohde on saavuttanut lähteen.
# 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) on maksutta ladattava sovellus, joka muuntaa lähdetietokannan skeeman (DDL) automaattisesti kohdetietokantamoottorin kanssa yhteensopivaan muotoon. Se käsittelee taulujen määrittelyt, näkymät, tallennetut proseduurit, funktiot ja triggerit. Heterogeenisissa migraatioissa (esimerkiksi Oraclesta PostgreSQL:ään) SCT muuntaa suurimman osan objekteista automaattisesti ja merkitsee manuaalista tarkistusta vaativat kohteet syntaksierojen vuoksi.
# 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)Homogeeninen ja heterogeeninen migraatio
Homogeenisissa migraatioissa (sama moottori, esimerkiksi paikallinen MySQL RDS for MySQL -palveluun) SCT:tä ei yleensä tarvita, koska skeema on suoraan yhteensopiva. DMS voi suorittaa Full Load + CDC -migraation heti. Heterogeenisissa migraatioissa (eri moottorit) SCT:n on muunnettava skeema ensin, DMS hoitaa tietojen siirron, ja saatatte joutua kirjoittamaan manuaalisesti uudelleen tallennetut proseduurit ja triggerit, joille kohdemoottorissa ei ole vastinetta.
# 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 instanceTuetut lähde- ja kohdetietokannat
DMS tukee useita lähteitä: Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2 ja S3. Tuettuihin kohteisiin kuuluvat kaikki edellä mainitut sekä Amazon Redshift, DynamoDB, Kinesis Data Streams ja Kafka. Tämän ansiosta DMS soveltuu relaatiotietokantojen migraatioiden lisäksi relaatiotietokantojen muutos tapahtumien suoratoistoon data lakeen tai tapahtumaohjattuun arkkitehtuuriin CDC:n avulla Kinesisiin.
DMS:n taulukon yhdistämissäännöt
DMS käyttää taulukon yhdistämissääntöjä (JSON), joilla hallitaan sisällytettäviä ja poissuljettavia skeemoja ja tauluja sekä tehdään tietomuunnoksia. Voitte nimetä skeemoja tai tauluja uudelleen, muuntaa sarakearvoja (esimerkiksi muuttaa kaikki merkkijonot suuraakkosiksi), lisätä johdettuja sarakkeita tai suodattaa rivejä. Tämä on hyödyllistä, kun kohteessa on erilaiset nimeämiskäytännöt tai haluatte siirtää vain osan tauluista.
# 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'}
}
]
}DMS-migraation edistymisen valvonta
DMS julkaisee mittareita CloudWatchiin: FullLoadThroughputRowsSource (ladatut rivit sekunnissa), CDCLatencySource (lähteen tapahtumalokin ja DMS:n lukemisen välinen viive) ja CDCLatencyTarget (DMS:n lukemisen ja kohteeseen kirjoittamisen välinen viive). Valvokaa CDCLatencyTarget-mittaria tarkasti synkronointivaiheessa — kun arvo laskee lähes nollaan, kohde on saavuttanut lähteen ja olette valmis siirtoon.
# 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 ottaa replikointikapasiteetin automaattisesti käyttöön ja skaalaa sitä migraatiokuorman perusteella, joten replikointi-instanssin kokoa ei tarvitse valita tai hallita. Määritätte DMS-kapasiteettiyksiköiden (DCU) vähimmäis- ja enimmäismäärät, ja DMS skaalaa kapasiteettia automaattisesti niiden rajoissa. Tämä sopii erinomaisesti migraatioihin, joiden kuorma vaihtelee, tai tilanteisiin, joissa haluatte välttää replikointi-instanssin alimitoituksen riskin migraation huippukuorman aikana.
# 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"]
}'Migraation täydellisyyden validointi
Validoikaa migraation jälkeen tietojen täydellisyys DMS:n Data Validation -toiminnolla. Ottakaa se käyttöön tehtävän asetuksissa, jolloin DMS vertaa lähde- ja kohdetaulujen rivimääriä ja tarkistussummia sekä raportoi poikkeamat erilliseen validointitauluun. Heterogeenisissa migraatioissa suorittakaa lisäksi sovellustason savutestit. Älkää suorittako siirtoa ennen kuin validointi osoittaa, ettei poikkeamia ole — tietojen täsmäyttäminen epäonnistuneen siirron jälkeen on paljon kalliimpaa kuin validointiin käytetty lisäaika.
# Enable validation in DMS task settings (JSON)
{
'TargetMetadata': {'SupportLobs': true, 'FullLobMode': false},
'ValidationSettings': {
'EnableValidation': true,
'ValidationMode': 'ROW_LEVEL',
'ValidationOnly': false,
'FailureMaxCount': 10000
}
}Yleiset DMS-koetilanteet
SAA-C03-kokeessa DMS esiintyy tilanteissa, joissa tietokanta on siirrettävä mahdollisimman lyhyellä käyttökatkolla. Keskeiset vihjeet: ”siirrä tietokanta jatkuvan replikoinnin kanssa” → DMS Full Load + CDC. ”vaihda tietokantamoottoria” → ensin SCT ja sitten DMS. ”replikoi muutokset lähes reaaliajassa data lakeen” → DMS CDC Kinesisiin tai S3:een. ”yhdistä useita lähdetietokantoja yhdeksi kohteeksi” → useita DMS-tehtäviä yhteen kohdepäätepisteeseen. DMS on tarkoitettu nimenomaan tietokantojen migraatioon — palvelinten siirtoon käytetään MGN:ää ja massadatan siirtoon DataSynciä tai Snowballia.
Pikatarkistus
Testatkaa, miten hyvin ymmärrätte tämän oppitunnin AWS Solutions Architect (SAA-C03) -käsitteet.
Oppitunnin kertaus
Tässä oppitunnissa opitte, että DMS tukee sekä homogeenisia että heterogeenisia tietokantamigraatioita Full Load- ja CDC-tiloilla, SCT automatisoi skeeman muunnon moottorin vaihtamiseen liittyvissä migraatioissa ja merkitsee manuaalisesti tarkistettavat kohteet ja DMS Serverless skaalaa replikointikapasiteettia automaattisesti, joten instanssin kokoa ei tarvitse määrittää. Seuraavaksi tutustumme Amazon EventBridgeen tapahtumaohjattua reititystä ja väyläarkkitehtuuria varten.
Opi AWS Solutions Architect tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”Database Migration Service (DMS) ja Schema Conversion Tool” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa AWS Solutions Architect-oppimispolun 3 oppituntia, myös oppitunnin “Database Migration Service (DMS) ja Schema Conversion Tool”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. AWS Solutions Architect-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Database Migration Service (DMS) ja Schema Conversion Tool”?
Siirrä samanlaisia ja erilaisia tietokantoja DMS:llä käyttäen täyslatausta tai CDC:tä ja muunna skeemadialekteja Schema Conversion Toolilla. Harjoittelet AWS Solutions Architect-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni AWS Solutions Architect-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin AWS Solutions Architect-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Database Migration Service (DMS) ja Schema Conversion Tool”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä AWS Solutions Architect-oppitunnilla?
Kyllä. Jokainen AWS Solutions Architect-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Migraatiostrategian 7 R:ää
- AWS Migration Hub ja Application Discovery Service
- Application Migration Service (MGN)
- Database Migration Service (DMS) ja Schema Conversion Tool