Database Migration Service (DMS) e Schema Conversion Tool
Migrare database omogenei ed eterogenei con DMS utilizzando il caricamento completo o CDC e convertire i dialetti degli schemi con Schema Conversion Tool
Database Migration Service (DMS) e Schema Conversion Tool è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Che cos'è AWS DMS?
AWS Database Migration Service (DMS) consente di migrare i database ad AWS con downtime minimo. Supporta migrazioni omogenee (ad esempio, da Oracle a Oracle o da MySQL a MySQL) ed eterogenee (ad esempio, da Oracle ad Aurora PostgreSQL o da SQL Server a MySQL). DMS utilizza un'istanza di replica che legge dall'origine, trasforma facoltativamente i dati e scrive nella destinazione. Pagate solo per il tempo di esecuzione dell'istanza di replica.
Componenti di DMS: endpoint e istanza di replica
DMS dispone di tre componenti fondamentali. Gli Source Endpoints definiscono la connessione al database di origine (URL JDBC, credenziali, TLS). I Target Endpoints definiscono il database di destinazione. La Replication Instance è un server gestito basato su EC2 che DMS configura nel vostro VPC per eseguire il carico di lavoro della migrazione. Scegliete le dimensioni dell'istanza di replica in base alla quantità di dati da migrare e alla necessità di utilizzare il multi-AZ per l'istanza stessa.
# 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 falseMigrazione Full Load e CDC a confronto
DMS supporta due modalità di migrazione. Full Load copia tutti i dati esistenti dall'origine alla destinazione: è adatta quando potete permettervi un downtime o quando l'origine è in sola lettura durante la migrazione. Change Data Capture (CDC) acquisisce le modifiche successive dal transaction log dell'origine al termine del full load, mantenendo sincronizzate origine e destinazione. Una migrazione combinata Full Load + CDC riduce al minimo il downtime: migrate i dati mentre l'origine rimane attiva, quindi eseguite il cutover quando la destinazione è aggiornata.
# 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) è un'applicazione scaricabile gratuita che converte automaticamente lo schema del database di origine (DDL) in un formato compatibile con il motore del database di destinazione. Gestisce definizioni di tabelle, viste, stored procedure, funzioni e trigger. Per le migrazioni eterogenee (ad esempio, da Oracle a PostgreSQL), SCT converte automaticamente la maggior parte degli oggetti e segnala quelli che richiedono una revisione manuale a causa di differenze nella sintassi non supportata.
# 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)Migrazione omogenea ed eterogenea a confronto
Per le migrazioni omogenee (stesso motore, ad esempio da MySQL on-premises a RDS for MySQL), SCT in genere non è necessario: lo schema è direttamente compatibile. DMS può eseguire immediatamente Full Load + CDC. Per le migrazioni eterogenee (motori diversi), SCT deve prima convertire lo schema, DMS gestisce la migrazione dei dati e potrebbe essere necessario riscrivere manualmente stored procedure e trigger privi di un equivalente nel motore di destinazione.
# 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 instanceDatabase di origine e di destinazione supportati
DMS supporta un'ampia gamma di origini: Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2 e S3. Le destinazioni supportate includono tutti i servizi elencati sopra, oltre a Amazon Redshift, DynamoDB, Kinesis Data Streams e Kafka. Questo rende DMS utile non solo per le migrazioni relazionali, ma anche per lo streaming degli eventi di modifica relazionali in un data lake o in un'architettura event-driven tramite CDC verso Kinesis.
Regole di mapping delle tabelle DMS
DMS utilizza regole di mapping delle tabelle (JSON) per controllare quali schemi e tabelle includere o escludere e per applicare trasformazioni ai dati. Potete rinominare schemi o tabelle, convertire i valori delle colonne (ad esempio, trasformare tutte le stringhe in maiuscolo), aggiungere colonne derivate o filtrare le righe. Questa funzionalità è utile quando eseguite la migrazione verso una destinazione con convenzioni di denominazione diverse o quando desiderate migrare solo un sottoinsieme di tabelle.
# 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'}
}
]
}Monitoraggio dell'avanzamento della migrazione DMS
DMS pubblica metriche in CloudWatch: FullLoadThroughputRowsSource (righe caricate al secondo), CDCLatencySource (ritardo tra il transaction log dell'origine e la relativa lettura da parte di DMS) e CDCLatencyTarget (ritardo tra la lettura da parte di DMS e la scrittura nella destinazione). Monitorate attentamente CDCLatencyTarget durante la fase di sincronizzazione: quando scende quasi a zero, la destinazione ha raggiunto l'origine e siete pronti per il cutover.
# 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 configura e ridimensiona automaticamente la capacità di replica in base al carico di lavoro della migrazione, eliminando la necessità di scegliere e gestire le dimensioni di un'istanza di replica. Specificate le unità di capacità DMS (DCU) minime e massime e DMS ridimensiona automaticamente la capacità all'interno di tale intervallo. È ideale per le migrazioni con carico variabile o quando desiderate evitare il rischio di dimensionare troppo poco l'istanza di replica durante i picchi del carico di migrazione.
# 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"]
}'Convalida della completezza della migrazione
Dopo la migrazione, convalidate la completezza dei dati utilizzando Data Validation di DMS. Abilitatela nelle impostazioni del task: DMS confronta il numero di righe e i checksum tra le tabelle di origine e di destinazione, segnalando le discrepanze in una tabella di convalida separata. Per le migrazioni eterogenee, eseguite anche smoke test a livello di applicazione. Non eseguite mai il cutover finché la convalida non mostra zero discrepanze: riconciliare i dati dopo un cutover errato è molto più costoso che dedicare tempo aggiuntivo alla convalida.
# Enable validation in DMS task settings (JSON)
{
'TargetMetadata': {'SupportLobs': true, 'FullLobMode': false},
'ValidationSettings': {
'EnableValidation': true,
'ValidationMode': 'ROW_LEVEL',
'ValidationOnly': false,
'FailureMaxCount': 10000
}
}Scenari d'esame comuni su DMS
Nell'esame SAA-C03, DMS compare negli scenari che richiedono la migrazione di database con downtime minimo. I segnali principali sono: 'migrate database with ongoing replication' → DMS Full Load + CDC. 'heterogeneous engine change' → prima SCT, poi DMS. 'replicate changes in near real time to a data lake' → DMS CDC verso Kinesis o S3. 'consolidate multiple source databases into one target' → più task DMS verso un unico target endpoint. DMS è specifico per la migrazione dei database: per la migrazione dei server utilizzate MGN, mentre per il trasferimento massivo di dati utilizzate DataSync o Snowball.
Verifica rapida
Verificate la vostra comprensione dei concetti AWS Solutions Architect (SAA-C03) trattati in questa lezione.
Riepilogo della lezione
In questa lezione avete imparato che: DMS supporta migrazioni di database omogenee ed eterogenee utilizzando le modalità Full Load e CDC, SCT automatizza la conversione dello schema nelle migrazioni con cambio di motore e segnala gli elementi da sottoporre a revisione manuale e DMS Serverless ridimensiona automaticamente la capacità di replica, eliminando la necessità di scegliere le dimensioni dell'istanza. Nella prossima lezione esploreremo Amazon EventBridge per il routing basato sugli eventi e l'architettura dei bus.
Domande Frequenti
La lezione «Database Migration Service (DMS) e Schema Conversion Tool» è gratuita?
Sì — il testo completo di «Database Migration Service (DMS) e Schema Conversion Tool» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Cosa imparerò in «Database Migration Service (DMS) e Schema Conversion Tool»?
Migrare database omogenei ed eterogenei con DMS utilizzando il caricamento completo o CDC e convertire i dialetti degli schemi con Schema Conversion Tool Eserciti Cloud & IT Cert Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cloud & IT Cert Prep?
Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Database Migration Service (DMS) e Schema Conversion Tool»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cloud & IT Cert Prep?
Sì. Ogni lezione Cloud & IT Cert Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Le 7 R della strategia di migrazione
- AWS Migration Hub e Application Discovery Service
- Application Migration Service (MGN)
- Database Migration Service (DMS) e Schema Conversion Tool