Conversione di schemi di database utilizzando AWS SCT - AWS Schema Conversion Tool

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Conversione di schemi di database utilizzando AWS SCT

Puoi utilizzare AWS Schema Conversion Tool (AWS SCT) per convertire gli schemi del database esistenti da un motore di database a un altro. La conversione di un database tramite l'interfaccia AWS SCT utente può essere abbastanza semplice, ma ci sono diversi aspetti da considerare prima di eseguire la conversione.

Ad esempio, puoi usare AWS SCT per fare quanto segue:

  • Puoi utilizzarlo AWS SCT per copiare uno schema di database locale esistente su un'istanza database Amazon RDS che esegue lo stesso motore. Puoi utilizzare questa caratteristica per analizzare il potenziale risparmio sui costi del passaggio al cloud e della modifica del tipo di licenza.

  • In alcuni casi, le funzionalità del database non possono essere convertite in funzionalità Amazon RDS equivalenti. Se ospiti e gestisci automaticamente un database sulla piattaforma Amazon Elastic Compute Cloud (Amazon EC2), puoi emulare queste funzionalità AWS sostituendole con servizi.

  • AWS SCTautomatizza gran parte del processo di conversione dello schema del database di elaborazione delle transazioni online (OLTP) in un'istanza database MySQL di Amazon Relational Database Service (Amazon RDS), un cluster di database Amazon Aurora o un'istanza database PostgreSQL. I motori del database di origine e di destinazione contengono molte caratteristiche e funzionalità diverse e AWS SCT tentano di creare uno schema equivalente nell'istanza database di Amazon RDS laddove possibile. Se non è possibile alcuna conversione diretta, AWS SCT fornisce un elenco di operazioni possibili da svolgere.

AWS SCTsupporta le seguenti conversioni OLTP (Online Transaction Processing).

Database di origine Database di destinazione

IBM Db2 per z/OS (versione 12)

Edizione compatibile con Amazon Aurora MySQL, edizione compatibile con Amazon Aurora PostgreSQL, MySQL, PostgreSQL

IBM Db2 LUW (versioni 9.1, 9.5, 9.7, 10.5, 11.1 e 11.5)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, PostgreSQL

Database SQL di Microsoft Azure

Aurora MySQL, Aurora PostgreSQL, MySQL, PostgreSQL

Microsoft SQL Server (versione 2008 R2 e successive)

Aurora MySQL, Aurora PostgreSQL, Babelfish per Aurora PostgreSQL, MariaDB, Microsoft SQL Server, MySQL, PostgreSQL

MySQL (versione 5.5 e successive)

Aurora PostgreSQL, MySQL, PostgreSQL

È possibile migrare schemi e dati da MySQL a un cluster Aurora MySQL DB senza utilizzarli. AWS SCT Per ulteriori informazioni, consulta Migrazione dei dati su un cluster Amazon Aurora DB.

Oracle (versione 10.2 e successive)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, Oracle, PostgreSQL

PostgreSQL (versione 9.1 e successive)

Aurora MySQL, Aurora PostgreSQL, MySQL, PostgreSQL

SAP ASE (12.5, 15.0, 15.5, 15.7 e 16.0)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, PostgreSQL

Per informazioni sulla conversione di uno schema di data warehouse, vedereConversione di schemi di data warehouse in Amazon Redshift utilizzando AWS SCT.

Per convertire lo schema del tuo database in Amazon RDS, segui i seguenti passaggi di alto livello:

Creazione di regole di migrazione in AWS SCT

Prima di convertire lo schema conAWS SCT, puoi configurare le regole di migrazione. Le regole di migrazione in AWS SCT possono eseguire trasformazioni come modificare il tipo di dati delle colonne, spostare oggetti da uno schema all'altro e modificare i nomi degli oggetti. Ad esempio, supponiamo di avere un set di tabelle denominato test_TABLE_NAME nello schema di origine. È possibile impostare una regola che modifichi il prefisso con test_ il prefisso demo_ nello schema di destinazione.

Nota

È possibile creare regole di migrazione solo per diversi motori di database di origine e di destinazione.

È possibile creare regole di migrazione che eseguano le seguenti attività:

  • Aggiungere, rimuovere o sostituire un prefisso

  • Aggiungere, rimuovere o sostituire un suffisso

  • Cambia le regole di confronto delle colonne

  • Modificare il tipo di dati

  • Modificare la lunghezza dichar, varcharnvarchar, e string i tipi di dati

  • Spostare oggetti

  • Rinominare oggetti

È possibile creare regole di migrazione per i seguenti oggetti:

  • Database

  • Schema

  • Tabella

  • Colonna

Creazione di regole di migrazione

Puoi creare regole di migrazione e salvarle come parte del tuo progetto. Con il progetto aperto, utilizza la procedura seguente per creare regole di migrazione.

Per creare regole di migrazione
  1. Nel menu Visualizza, selezionare Visualizzazione mappatura.

  2. In Mappature dei server, scegli una coppia di server di origine e di destinazione.

  3. Scegli Nuova regola di migrazione. Viene visualizzata la finestra di dialogo Regole di trasformazione.

  4. Selezionare Add new rule (Aggiungi nuova regola). Una nuova riga viene aggiunta all'elenco delle regole.

  5. Configura la tua regola:

    1. In Name (Nome) inserisci un nome per la regola.

    2. In Per, scegliere il tipo di oggetto al quale verrà applicata la regola.

    3. Per dove, inserisci un filtro da applicare agli oggetti prima di applicare la regola di migrazione. La clausola where viene valutata utilizzando una clausola like. Puoi inserire un nome esatto per selezionare un solo oggetto, oppure puoi inserire un modello per selezionare più oggetti.

      I campi disponibili per la clausola where (dove) cambiano in base al tipo di oggetto. Ad esempio, se il tipo di oggetto è schema, esiste un solo campo disponibile per il nome schema.

    4. In Azioni, scegli il tipo di regola di migrazione che desideri creare.

    5. A seconda del tipo di regola, inserisci uno o due valori aggiuntivi. Ad esempio, per rinominare un oggetto, immettete il nuovo nome dell'oggetto. Per sostituire un prefisso, inserisci il vecchio prefisso e il nuovo prefisso.

      Per i tipi di dati char, varchar, nvarchar e string, è possibile modificare la lunghezza del tipo di dati utilizzando l'operatore di moltiplicazione. Ad esempio, il %*4 valore trasforma il tipo di varchar(10) dati in. varchar(40)

  6. Dopo aver configurato la regola di migrazione, scegli Salva per salvare la regola. Puoi inoltre selezionare Cancel (Annulla) per annullare le modifiche.

    La finestra di dialogo delle regole di trasformazione
  7. Dopo aver aggiunto, modificato ed eliminato le regole, scegliere Save All (Salva tutto) per salvare tutte le modifiche.

  8. Scegliete Chiudi per chiudere la finestra di dialogo Regole di trasformazione.

Puoi utilizzare l'icona a forma di interruttore per disattivare una regola di migrazione senza eliminarla. È possibile utilizzare l'icona di copia per duplicare una regola di migrazione esistente. Puoi usare l'icona a forma di matita per modificare una regola di migrazione esistente. È possibile utilizzare l'icona di eliminazione per eliminare una regola di migrazione esistente. Per salvare le modifiche apportate alle regole di migrazione, scegli Salva tutto.

Esportazione delle norme sulla migrazione

Se si utilizza AWS DMS la migrazione dei dati dal database di origine al database di destinazione, è possibile fornire informazioni sulle regole di migrazione aAWS DMS. Per ulteriori informazioni sulle attività, vedere Utilizzo delle attività di AWS Database Migration Service replica.

Per esportare le norme sulla migrazione
  1. NelAWS Schema Conversion Tool, scegli Mapping View nel menu Visualizza.

  2. In Regole di migrazione, scegli una regola di migrazione, quindi scegli Modifica regola di migrazione.

  3. Scegli Esporta script per AWS DMS.

  4. Sfogliare la posizione in cui si intende salvare lo script e scegliere Salva. Le regole di migrazione vengono salvate come script JSON che può essere utilizzato daAWS DMS.

Conversione dello schema utilizzando AWS SCT

Dopo aver collegato il progetto sia al database di origine che all'istanza database Amazon RDS di destinazione, il AWS Schema Conversion Tool progetto visualizza lo schema del database di origine nel pannello di sinistra. Lo schema si presenta in un formato di visualizzazione ad albero e ogni nodo della struttura è a caricamento differito. Quando scegli un nodo nella visualizzazione ad albero, AWS SCT richiede le informazioni sullo schema dal database di origine.

Puoi scegliere gli elementi dello schema dal database di origine e in seguito convertire lo schema in uno schema equivalente per il motore di database della tua istanza database di destinazione. Puoi scegliere qualsiasi elemento dello schema dal database di origine da convertire. Se l'elemento dello schema scelto dipende da un elemento padre, AWS SCT genera anche lo schema per detto elemento. Ad esempio, supponiamo di scegliere una tabella da convertire. In tal caso, AWS SCT genera lo schema per la tabella e il database in cui si trova la tabella.

Conversione dello schema

Per convertire uno schema dal database di origine, seleziona la casella di controllo relativa al nome dello schema da convertire. Quindi, scegli questo schema dal pannello di sinistra del tuo progetto. AWS SCTevidenzia il nome dello schema in blu. Apri il menu contestuale (clic con il pulsante destro del mouse) per lo schema e scegli Converti schema, come illustrato di seguito.

Conversione dello schema

Dopo aver convertito lo schema dal database di origine, puoi scegliere gli elementi dello schema dal pannello a sinistra del progetto e visualizzare lo schema convertito nei pannelli centrali del progetto. Il pannello centrale inferiore visualizza le proprietà e il comando SQL per creare lo schema convertito, come illustrato di seguito.

Scelta dell'elemento dello schema di origine

Dopo aver convertito lo schema, puoi salvare il progetto. Le informazioni sullo schema del database di origine vengono salvate insieme al progetto. Questa funzionalità ti consente di lavorare offline senza essere connesso al database di origine. AWS SCT si connette al database di origine per aggiornare lo schema nel tuo progetto se scegli Refresh from Database (Aggiorna dal database) per il database di origine. Per ulteriori informazioni, consulta Aggiornamento e aggiornamento dello schema convertito in AWS SCT.

Puoi creare un report di valutazione della migrazione del database degli elementi che non possono essere convertiti automaticamente. Il report di valutazione è utile per identificare e risolvere gli elementi dello schema che non possono essere convertiti automaticamente. Per ulteriori informazioni, consulta Creazione di report di valutazione della migrazione conAWS SCT.

Quando AWS SCT genera uno schema convertito, non lo applica immediatamente all'istanza database di destinazione. Lo schema convertito rimane invece archiviato in locale fino a quando non sarai tu ad applicarlo all'istanza database di destinazione. Per ulteriori informazioni, consulta Applicazione dello schema convertito.

Modifica dello schema convertito

Puoi modificare uno schema convertito e salvare le modifiche come parte del progetto.

Modifica di uno schema convertito
  1. Nel pannello a sinistra, che visualizza lo schema del database di origine, scegliere l'elemento dello schema per il quale intendi modificare lo schema convertito.

  2. Nel pannello centrale inferiore, che visualizza lo schema convertito dell'elemento selezionato, scegliere la scheda SQL.

  3. Nel testo visualizzato nella scheda SQL, modificare lo schema a seconda delle necessità. Lo schema viene salvato automaticamente insieme al progetto quando lo aggiorni.

    Aggiornamento dello schema dall'istanza database di destinazione

Le modifiche apportate allo schema convertito vengono memorizzate insieme al progetto mentre esegui gli aggiornamenti. Se hai convertito un nuovo elemento dello schema del database di origine, e hai eseguito degli aggiornamenti a uno schema convertito in precedenza per quell'elemento, gli aggiornamenti esistenti vengono sostituiti dal nuovo elemento dello schema convertito in base al database di origine.

Cancellare uno schema convertito

Fino a quando non avrai applicato lo schema all'istanza database di destinazione, AWS SCT archivia lo schema convertito solamente in locale nel progetto. Puoi cancellare lo schema pianificato dal tuo progetto scegliendo il nodo di visualizzazione ad albero per l'istanza database e quindi scegliendo Aggiorna dal database. Poiché nessuno schema è stato scritto nell'istanza database di destinazione, l'aggiornamento dal database rimuove gli elementi dello schema pianificati nel AWS SCT progetto in modo che corrispondano a quelli esistenti nell'istanza database di origine.

Gestione delle conversioni manuali in AWS SCT

Il rapporto di valutazione include un elenco di elementi che non possono essere convertiti automaticamente nel motore di database dell'istanza database Amazon RDS di destinazione. Per ogni elemento che non può essere convertito, vi è un'azione nella scheda Action Items (Attività).

Puoi rispondere alle attività nel report di valutazione nei seguenti modi:

  • Modifica dello schema del database di origine.

  • Modifica dello schema del database di destinazione.

Modifica dello schema di origine

Per alcuni elementi, potrebbe essere più semplice modificare lo schema del database nel database di origine in uno schema che può essere convertito automaticamente. In primo luogo, verifica che le nuove modifiche siano compatibili con l'architettura della tua applicazione, quindi aggiorna lo schema del database di origine. Infine, aggiorna il progetto con le informazioni sullo schema aggiornato. Ora puoi convertire lo schema aggiornato e generare un nuovo report di valutazione della migrazione del database. Le attività non saranno più visibili per gli elementi modificati nello schema di origine.

Il vantaggio di questo processo è che lo schema aggiornato è sempre disponibile quando esegui l'aggiornamento dal database di origine.

Modifica dello schema di destinazione

Per alcuni elementi, potrebbe essere più semplice applicare lo schema convertito al database di destinazione, e in seguito aggiungere manualmente gli elementi dello schema equivalente al database di destinazione per gli elementi che non sono stati convertiti automaticamente. Puoi scrivere tutti gli schemi che possono essere convertiti automaticamente nell'istanza database di destinazione applicando lo schema. Per ulteriori informazioni, consulta Salvare e applicare lo schema convertito in AWS SCT.

Gli schemi scritti nell'istanza database di destinazione non contengono gli elementi che non possono essere convertiti automaticamente. Dopo aver applicato lo schema all'istanza database di destinazione, puoi creare manualmente lo schema nell'istanza database di destinazione equivalente a quello del database di origine. Le attività del report di valutazione della migrazione del database contengono suggerimenti per la creazione dello schema equivalente.

avvertimento

Se creai manualmente lo schema nella tua istanza database di destinazione, salva una copia di qualsiasi tuo lavoro manuale. Se applichi di nuovo lo schema convertito dal tuo progetto all'istanza database di destinazione, il lavoro manuale viene sovrascritto.

In alcuni casi, potresti non essere in grado di creare uno schema equivalente nell'istanza database di destinazione. Potrebbe essere necessario riprogettate una porzione dell'applicazione e del database per utilizzare la funzionalità disponibile nel motore di database per l'istanza database di destinazione. In altri casi, puoi semplicemente ignorare lo schema che non può essere convertito automaticamente.

Aggiornamento e aggiornamento dello schema convertito in AWS SCT

Nel progetto AWS Schema Conversion Tool puoi aggiornare sia lo schema di origine che lo schema di destinazione.

  • Origine: se si aggiorna lo schema per il database di origine, AWS SCT sostituisce lo schema del progetto con lo schema più recente del database di origine. Mediante questa funzionalità puoi aggiornare il progetto nel caso siano state apportate delle modifiche allo schema del database di origine.

  • Target: se aggiorni lo schema per l'istanza database Amazon RDS di destinazione, AWS SCT sostituisci lo schema del progetto con lo schema più recente dell'istanza database di destinazione. Se non hai applicato lo schema all'istanza database di destinazione, AWS SCT cancella lo schema convertito dal progetto. Quindi puoi convertire lo schema dal database di origine per una nuova istanza database di destinazione pulita.

Puoi aggiornare lo schema nel tuo AWS SCT progetto scegliendo Aggiorna dal database.

Nota

Quando aggiorni lo schema, AWS SCT carica i metadati solo quando sono necessari. Per caricare completamente tutto lo schema del database, apri il menu contestuale (clic con il pulsante destro del mouse) dello schema e scegli Carica schema. Ad esempio, puoi utilizzare questa opzione per caricare tutti i metadati del tuo database contemporaneamente e quindi lavorare offline.

Salvare e applicare lo schema convertito in AWS SCT

Quando AWS Schema Conversion Tool genera lo schema convertito (come mostrato in Conversione dello schema utilizzando AWS SCT), lo schema convertito non viene applicato immediatamente all'istanza database di destinazione. Lo schema convertito rimane invece archiviato in locale nel progetto fino a quando non sarai tu ad applicarlo all'istanza database di destinazione. Con questa funzionalità puoi utilizzare gli elementi dello schema che non possono essere convertiti automaticamente nel motore del database di destinazione. Per ulteriori informazioni sugli elementi che non possono essere convertiti automaticamente, consulta Creazione di report di valutazione della migrazione conAWS SCT.

Facoltativamente, puoi fare in modo che lo strumento salvi lo schema convertito in un file come script SQL prima di applicare lo schema all'istanza database di destinazione. Puoi anche fare in modo che lo strumento applichi lo schema convertito direttamente all'istanza database di destinazione.

Salvare lo schema convertito in un file

Puoi salvare lo schema convertito come script SQL in un file di testo. Utilizzando questo approccio, puoi modificare lo script SQL generato da AWS SCT per gestire gli elementi che lo strumento non è in grado di convertire automaticamente. Puoi quindi eseguire gli script aggiornati nell'istanza database di destinazione per applicare lo schema convertito al database di destinazione.

Per salvare lo schema convertito come script SQL
  1. Scegli il tuo schema e apri il menu contestuale (clic con il pulsante destro del mouse).

  2. Scegli Salva come SQL.

  3. Inserisci il nome del file e scegli Salva.

  4. Salva lo schema convertito utilizzando una delle seguenti opzioni:

    • File singolo

    • File singolo per fase

    • File singolo per dichiarazione

Per scegliere il formato dello script SQL
  1. Nel menu Impostazioni, scegli Impostazioni progetto.

  2. Scegli Salva script.

  3. Per Vendor, scegli la piattaforma del database.

  4. In Salva script SQL in, scegli come vuoi salvare lo script dello schema del database.

  5. Scegliete OK per salvare le impostazioni.

Applicazione dello schema convertito

Quando sei pronto per applicare lo schema convertito all'istanza database Amazon RDS di destinazione, scegli l'elemento dello schema dal pannello di destra del tuo progetto. Apri il menu contestuale (tasto destro del mouse) per l'elemento dello schema, quindi scegli Apply to database(Applica al database), come illustrato di seguito.

Applica al database

Lo schema del pacchetto di estensione

Quando applichi per la prima volta lo schema convertito all'istanza database di destinazione, AWS SCT aggiunge un ulteriore schema all'istanza database di destinazione. Questo schema implementa le funzioni di sistema del database di origine richieste durante la scrittura dello schema convertito nell'istanza database di destinazione. Lo schema viene chiamato schema del pacchetto di estensione.

Non modificare lo schema del pacchetto di estensione, in quanto questo potrebbe comportare risultati inattesi nello schema convertito scritto nell'istanza database di destinazione. Quando lo schema è completamente migrato all'istanza database di destinazione, e AWS SCT non è più necessario, puoi eliminare lo schema del pacchetto di estensione.

Lo schema del pacchetto di estensione viene denominato in base al database di origine come segue:

  • IBM Db2 LUW: aws_db2_ext

  • Microsoft SQL Server: aws_sqlserver_ext

  • MySQL: aws_mysql_ext

  • Oracle: aws_oracle_ext

  • PostgreSQL: aws_postgresql_ext

  • CUSTODIA SAP: aws_sapase_ext

Per ulteriori informazioni, consulta Utilizzo delle AWS Lambda funzioni del pacchetto di AWS SCT estensione .