Usare Netezza come fonte per 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à.

Usare Netezza come fonte per AWS SCT

Puoi utilizzarlo AWS SCT per convertire schemi, oggetti di codice e codice applicativo da Netezza ad Amazon Redshift.

Privilegi per Netezza come fonte

Per utilizzare Netezza come fonte sono necessari i seguenti privilegi:

  • seleziona nella vista system.definition_schema.system

  • seleziona nella tabella system.definition_schema.system

  • seleziona nella tabella system.definition_schema.management

  • elenco su <database_name>

  • elenco su <schema_name>

  • elenco su <database_name>.all.table

  • elenco nella <database_name>tabella.all.external

  • elenco su <database_name>.all.view

  • elenco nella vista <database_name>.all.materialized

  • elenco su <database_name>.all.procedure

  • elenco su <database_name>.all.sequence

  • elenco su <database_name>.all.function

  • elenco su <database_name>.all.aggregate

Nell'esempio precedente, sostituisci i segnaposti come segue:

  • Sostituisci database_name con il nome del database di origine.

  • Sostituisci schema_name con il nome dello schema di origine.

AWS SCTrichiede l'accesso alle seguenti tabelle e viste di sistema. È possibile concedere l'accesso a questi oggetti anziché concedere l'accesso a system.definition_schema.system view e system.definition_schema.system tables nell'elenco precedente.

  • seleziona su system.definition_schema. _t_aggregato

  • seleziona su system.definition_schema. _t_class

  • seleziona su system.definition_schema. _t_vincolo

  • seleziona su system.definition_schema. _t_const_relattr

  • seleziona su system.definition_schema. _t_banca dati

  • seleziona su system.definition_schema. _t_grpobj_priv

  • seleziona su system.definition_schema. _t_grupps

  • seleziona su system.definition_schema. _t_hist_config

  • seleziona su system.definition_schema. _t_oggetto

  • seleziona su system.definition_schema. _t_object_classes

  • seleziona su system.definition_schema. _t_proc

  • seleziona system.definition_schema. _t_type

  • seleziona system.definition_schema. _t_utente

  • seleziona system.definition_schema. _it_usrobj_priv

  • seleziona system.definition_schema. sequenza _vt

  • seleziona system.definition_schema. _v_aggregato

  • seleziona system.definition_schema. _v_constraint_dipende

  • seleziona system.definition_schema. _v_database

  • seleziona system.definition_schema. tipo di dati _v

  • seleziona system.definition_schema. _v_dslice

  • seleziona system.definition_schema. funzione _v

  • seleziona system.definition_schema. _v_gruppo

  • seleziona system.definition_schema. Relazione _v_obj_

  • seleziona system.definition_schema. _v_obj_relation_xdb

  • seleziona system.definition_schema. _v_procedura

  • seleziona system.definition_schema. _v_relazione_colonna

  • seleziona system.definition_schema. _v_relation_dati chiave

  • seleziona system.definition_schema. classi _v_relobjm

  • seleziona system.definition_schema. _v_schema_xdb

  • seleziona system.definition_schema. _v_sequenza

  • seleziona system.definition_schema. _v_sinonimo

  • seleziona system.definition_schema. _v_informazioni di sistema

  • seleziona system.definition_schema. vincolo _v_sys_

  • seleziona system.definition_schema. _v_sys_object_dslice_info

  • seleziona system.definition_schema. _v_sys_user

  • seleziona system.definition_schema. _v_tabella

  • seleziona system.definition_schema. _v_table_constraint

  • seleziona system.definition_schema. _v_tabella_dist_mappa

  • seleziona system.definition_schema. _v_table_organize_colonna

  • seleziona system.definition_schema. _v_tabella_storage_stat

  • seleziona system.definition_schema. _v_utente

  • seleziona system.definition_schema. _v_view

  • seleziona su system.information_schema. _v_relazione_colonna

  • seleziona su system.information_schema. _v_tabella

  • seleziona su $hist_column_access_*

Connessione a Netezza come fonte

Utilizza la seguente procedura per connetterti al database di origine Netezza con AWS Schema Conversion Tool.

Per connetterti a un database di origine Netezza
  1. NelAWS Schema Conversion Tool, scegli Aggiungi fonte.

  2. Scegli Netezza, quindi scegli Avanti.

    Viene visualizzata la finestra di dialogo Aggiungi fonte.

  3. In Nome connessione, inserisci un nome per il tuo database. AWS SCTvisualizza questo nome nell'albero nel pannello di sinistra.

  4. Usa le credenziali del database AWS Secrets Manager o inseriscile manualmente:

    • Per utilizzare le credenziali del database di Secrets Manager, segui le seguenti istruzioni:

      1. Per AWSSecret, scegli il nome del segreto.

      2. Scegliete Compila per inserire automaticamente tutti i valori nella finestra di dialogo di connessione al database di Secrets Manager.

      Per informazioni sull'utilizzo delle credenziali del database di Secrets Manager, vedereUtilizzo di AWS Secrets Manager.

    • Per inserire manualmente le informazioni di connessione al database di origine Netezza, utilizzare le seguenti istruzioni:

      Parametro Operazione
      Server name (Nome del server)

      Inserisci il nome DNS (Domain Name System) o l'indirizzo IP del server del database di origine.

      Porta del server

      Immetti la porta utilizzata per la connessione al server del database di origine.

      User name (Nome utente) e Password (Password)

      Inserisci le credenziali del database per connetterti al server del database di origine.

      AWS SCTutilizza la password per connettersi al database di origine solo quando si sceglie di connettersi al database in un progetto. Per evitare di esporre la password per il database di origine, AWS SCT non memorizza la password per impostazione predefinita. Se chiudi il tuo progetto AWS SCT e lo riapri, ti viene richiesta la password per la connessione al database di origine in base alle necessità.

      Memorizza la password

      AWS SCT crea un insieme di credenziali sicure per archiviare i certificati SSL e le password del database. Attivando questa opzione, è possibile memorizzare la password del database e connettersi rapidamente al database senza dover inserire la password.

      Percorso del driver Netezza

      Immetti il percorso al driver da utilizzare per la connessione al database di origine. Per ulteriori informazioni, consulta Scaricamento dei driver di database richiesti.

      Se archivi il percorso del driver nelle impostazioni globali del progetto, il percorso del driver non viene visualizzato nella finestra di dialogo della connessione. Per ulteriori informazioni, consulta Memorizzazione dei percorsi dei driver nelle impostazioni globali.

  5. Scegli Test Connection per verificare che AWS SCT possa connettersi al tuo database di origine.

  6. Scegli Connetti per connetterti al tuo database di origine.

Configurazione della replica continua dei dati

Dopo aver convertito gli schemi del database Netezza e averli applicati al database Amazon Redshift, puoi migrare i dati con AWS SCT agenti di estrazione dei dati. L'agente estrae i tuoi dati e li carica nel tuo bucket Amazon S3. Puoi quindi utilizzarli AWS SCT per copiare i dati da Amazon S3 ad Amazon Redshift.

Se i dati nel database di origine cambiano durante il processo di migrazione, puoi acquisire le modifiche in corso con AWS SCT i tuoi agenti di estrazione dei dati. Quindi puoi replicare queste modifiche in corso nel tuo database di destinazione dopo aver completato la migrazione iniziale dei dati. Questo processo è chiamato replica continua dei dati o acquisizione dei dati di modifica (CDC).

Per configurare la replica continua dei dati per le migrazioni da Netezza ad Amazon Redshift
  1. Nel tuo database di origine, crea un database di cronologia. È possibile utilizzare il seguente esempio di codice nell'interfaccia a riga di comando (CLI) di Netezza.

    nzhistcreatedb -d history_database_name -t query -v 1 -u load_user -o histdb_owner -p your_password

    Nell'esempio precedente, sostituisci history_database_name con il nome del tuo database di cronologia. Quindi, sostituisci load_user con il nome dell'utente che hai definito per caricare i dati della cronologia nel database. Quindi, sostituisci histdb_owner con il nome dell'utente che hai definito come proprietario del database di cronologia. Assicurati di aver già creato questo utente e di aver concesso l'CREATE DATABASEautorizzazione. Infine, sostituisci your_password con una password sicura.

  2. Configura la registrazione della cronologia. A tale scopo, utilizzate il seguente esempio di codice.

    CREATE HISTORY CONFIGURATION history_configuration_name HISTTYPE QUERY DATABASE history_database_name USER load_user PASSWORD your_password COLLECT PLAN, COLUMN LOADINTERVAL 1 LOADMINTHRESHOLD 0 LOADMAXTHRESHOLD 0 STORAGELIMIT 25 LOADRETRY 2 VERSION 1;

    Nell'esempio precedente, sostituisci history_configuration_name e history_database_name con i nomi della tua configurazione della cronologia e del tuo database di cronologia. Quindi, sostituisci load_user con il nome dell'utente che hai definito per caricare i dati della cronologia nel database. Quindi, sostituisci your_password con una password sicura.

  3. Concedi le autorizzazioni di lettura per tutte le tabelle nel database della cronologia. È possibile utilizzare il seguente esempio di codice per concedere l'SELECTautorizzazione.

    GRANT SELECT ON history_database_name.ALL.TABLE TO your_user;

    Nell'esempio precedente, sostituisci history_database_name con il nome del tuo database di cronologia. Quindi, sostituisci your_user con il nome dell'utente con autorizzazioni minime per lavorare con il tuo database Netezza. Utilizzi le credenziali di questo utente del database inAWS SCT.

  4. Raccogli le statistiche per ogni tabella nello schema di origine per ottenere informazioni sulla cardinalità delle colonne. Puoi usare il seguente comando per generare statistiche nel tuo database di cronologia.

    GENERATE STATISTICS on "schema_name"."table_name";

    Nell'esempio precedente, sostituisci schema_name e table_name con il nome dello schema e della tabella del tuo database.

  5. Assicurati di aver completato i prerequisiti eseguendo la seguente query:

    SELECT COUNT(*) FROM history_database_name.history_schema_name."$hist_column_access_N";

    Nell'esempio precedente, sostituisci history_database_name e history_schema_name con il nome del database e dello schema della cronologia. Quindi, sostituisci N con il numero di versione del tuo database di cronologia. Per ulteriori informazioni sulle versioni del database cronologico, consulta la documentazione IBM Netezza.

  6. Installa i tuoi agenti di estrazione dei dati. Per ulteriori informazioni, consulta Installazione degli agenti di estrazione.

    Assicurati che il {working.folder} parametro nel settings.properties file per tutte le istanze dell'estrattore punti alla stessa cartella. In questo caso, gli estrattori possono coordinare la sessione CDC e utilizzare un unico punto di transazione per tutte le sottoattività.

  7. Registra il tuo agente di estrazione dei dati. Per ulteriori informazioni, consulta Registrazione degli agenti di estrazione con AWS Schema Conversion Tool.

  8. Crea la tua attività CDC. Per ulteriori informazioni, consulta Creazione, esecuzione e monitoraggio di qualsiasi AWS SCT attività.

    1. Apri il tuo progetto inAWS SCT. Nel riquadro a sinistra, scegli la tua tabella di origine. Apri il menu contestuale (clic con il pulsante destro del mouse) e scegli Crea attività locale.

    2. In Nome attività, inserisci un nome descrittivo per l'attività di migrazione dei dati.

    3. Per la modalità di migrazione, scegli Estrai, carica e copia.

    4. Seleziona Abilita CDC.

    5. Scegli la scheda delle impostazioni CDC e definisci l'ambito e la pianificazione delle sessioni CDC.

    6. Scegli Test task per verificare di poterti connettere alla tua cartella di lavoro, al bucket Amazon S3 e al data warehouse Amazon Redshift.

    7. Scegli Crea per creare la tua attività.

    8. Scegli la scheda Attività, scegli l'attività dall'elenco e scegli Avvia.

  9. L'AWS SCTattività mantiene la coerenza transazionale nel database di destinazione. L'agente di estrazione dei dati replica le transazioni dall'origine in ordine di ID della transazione.

    Se interrompi una delle sessioni di migrazione o se fallisce, anche l'elaborazione del CDC si interrompe.

Impostazioni di conversione da Netezza ad Amazon Redshift

Per modificare le impostazioni di conversione da Netezza ad Amazon Redshift, scegli Impostazioni inAWS SCT, quindi scegli Impostazioni di conversione. Dall'elenco superiore, scegli Netezza, quindi scegli Netezza — Amazon Redshift. AWS SCTvisualizza tutte le impostazioni disponibili per la conversione da Netezza ad Amazon Redshift.

Le impostazioni di conversione da Netezza ad Amazon Redshift AWS SCT includono opzioni per quanto segue:

  • Per limitare il numero di commenti con le azioni nel codice convertito.

    Per Aggiungi commenti nel codice convertito per le azioni con gravità selezionata e superiore, scegli la gravità delle azioni. AWS SCTaggiunge commenti nel codice convertito per le azioni con la gravità selezionata e superiore.

    Ad esempio, per ridurre al minimo il numero di commenti nel codice convertito, scegli Solo errori. Per includere commenti per tutte le azioni nel codice convertito, scegli Tutti i messaggi.

  • Per impostare il numero massimo di tabelle che AWS SCT possono essere applicate al cluster Amazon Redshift di destinazione.

    Per Il numero massimo di tabelle per il cluster Amazon Redshift di destinazione, scegli il numero di tabelle che AWS SCT possono essere applicate al tuo cluster Amazon Redshift.

    Amazon Redshift prevede quote che limitano le tabelle di utilizzo per diversi tipi di nodi del cluster. Se scegli Auto, AWS SCT determina il numero di tabelle da applicare al cluster Amazon Redshift di destinazione in base al tipo di nodo. Facoltativamente, scegli il valore manualmente. Per ulteriori informazioni, consulta Quote e limiti in Amazon Redshift nella Guida alla gestione di Amazon Redshift.

    AWS SCTconverte tutte le tabelle di origine, anche se sono più di quelle che il tuo cluster Amazon Redshift può archiviare. AWS SCTmemorizza il codice convertito nel progetto e non lo applica al database di destinazione. Se raggiungi la quota del cluster Amazon Redshift per le tabelle quando applichi il codice convertito, viene AWS SCT visualizzato un messaggio di avviso. Inoltre, AWS SCT applica le tabelle al cluster Amazon Redshift di destinazione fino a quando il numero di tabelle raggiunge il limite.

  • Per applicare la compressione alle colonne della tabella Amazon Redshift. A tale scopo, seleziona Usa la codifica di compressione.

    AWS SCTassegna automaticamente la codifica di compressione alle colonne utilizzando l'algoritmo Amazon Redshift predefinito. Per ulteriori informazioni, consulta Codifiche di compressione nella Amazon Redshift Database Developer Guide.

    Per impostazione predefinita, Amazon Redshift non applica la compressione alle colonne definite come chiavi di ordinamento e distribuzione. È possibile modificare questo comportamento e applicare la compressione a queste colonne. A tale scopo, seleziona Usa la codifica di compressione per le colonne KEY. È possibile selezionare questa opzione solo quando si seleziona l'opzione Usa codifica di compressione.

Impostazioni di ottimizzazione della conversione da Netezza ad Amazon Redshift

Per modificare le impostazioni di ottimizzazione della conversione da Netezza ad Amazon Redshift, scegli Impostazioni inAWS SCT, quindi scegli Impostazioni di conversione. Dall'elenco superiore, scegli Netezza, quindi scegli Netezza — Amazon Redshift. Nel riquadro a sinistra, scegli Strategie di ottimizzazione. AWS SCTvisualizza le impostazioni di ottimizzazione della conversione per la conversione da Netezza ad Amazon Redshift.

Le impostazioni di ottimizzazione della conversione da Netezza ad Amazon Redshift AWS SCT includono opzioni per quanto segue:

  • Per lavorare con l'ottimizzazione automatica delle tabelle. A tale scopo, seleziona Utilizza l'ottimizzazione automatica della tabella di Amazon Redshift.

    L'ottimizzazione automatica delle tabelle è un processo di ottimizzazione automatica in Amazon Redshift che ottimizza automaticamente la progettazione delle tabelle. Per ulteriori informazioni, consulta Working with Automatic Tabelle Optimization nella Amazon Redshift Database Developer Guide.

    Per fare affidamento solo sull'ottimizzazione automatica della tabella, scegli Nessuno per la strategia di selezione iniziale delle chiavi.

  • Per scegliere le chiavi di ordinamento e distribuzione utilizzando la tua strategia.

    Puoi scegliere le chiavi di ordinamento e distribuzione utilizzando i metadati di Amazon Redshift, le informazioni statistiche o entrambe queste opzioni. Per la strategia di selezione iniziale delle chiavi nella scheda Strategie di ottimizzazione, scegli una delle seguenti opzioni:

    • Usa i metadati, ignora le informazioni statistiche

    • Ignora i metadati, utilizza le informazioni statistiche

    • Usa metadati e informazioni statistiche

    A seconda dell'opzione scelta, puoi selezionare strategie di ottimizzazione. Quindi, per ogni strategia, inserisci il valore (0-100). Questi valori definiscono il peso di ogni strategia. Utilizzando questi valori di peso, AWS SCT definisce in che modo ciascuna regola influisce sulla scelta delle chiavi di distribuzione e ordinamento. I valori predefiniti si basano sulle best practice di AWS migrazione.

    È possibile definire la dimensione delle tabelle di piccole dimensioni per la strategia Trova tabelle di piccole dimensioni. Per Numero minimo di righe della tabella e Numero massimo di righe della tabella, inserite il numero minimo e massimo di righe in una tabella per definirla come una tabella piccola. AWS SCTapplica lo stile ALL di distribuzione alle tabelle di piccole dimensioni. In questo caso, una copia dell'intera tabella viene distribuita su ogni nodo.

  • Per configurare i dettagli della strategia.

    Oltre a definire il peso di ogni strategia di ottimizzazione, puoi configurare le impostazioni di ottimizzazione. Per farlo, scegli Ottimizzazione delle conversioni.

    • In Limite colonne chiave di ordinamento, immettete il numero massimo di colonne nella chiave di ordinamento.

    • In Valore di soglia inclinato, inserisci la percentuale (0-100) di un valore inclinato per una colonna. AWS SCTesclude le colonne con un valore di inclinazione superiore alla soglia dall'elenco dei candidati per la chiave di distribuzione. AWS SCTdefinisce il valore distorto per una colonna come il rapporto percentuale tra il numero di occorrenze del valore più comune e il numero totale di record.

    • Per le prime N query della tabella della cronologia delle query, inserisci il numero (1—100) delle query utilizzate più di frequente da analizzare.

    • In Seleziona utente delle statistiche, scegli l'utente del database per il quale desideri analizzare le statistiche della query.

    Inoltre, nella scheda Strategie di ottimizzazione, puoi definire la dimensione delle tabelle di piccole dimensioni per la strategia Trova tabelle piccole. Per Numero minimo di righe della tabella e Numero massimo di righe della tabella, inserisci il numero minimo e massimo di righe in una tabella per considerarla una tabella piccola. AWS SCTapplica lo stile ALL di distribuzione alle tabelle di piccole dimensioni. In questo caso, una copia dell'intera tabella viene distribuita su ogni nodo.