Utilizar Netezza como origen para AWS SCT - AWS Schema Conversion Tool

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Utilizar Netezza como origen para AWS SCT

Puede utilizar AWS SCT para convertir esquemas, objetos de código y código de aplicación de Netezza a Amazon Redshift.

Privilegios para Netezza como origen

Los privilegios necesarios para Netezza como origen se enumeran a continuación:

  • select on system.definition_schema.system view

  • select on system.definition_schema.system table

  • select on system.definition_schema.management table

  • list on <database_name>

  • list on <schema_name>

  • list on <database_name>.all.table

  • list on <database_name>.all.external table

  • list on <database_name>.all.view

  • list on <database_name>.all.materialized view

  • list on <database_name>.all.procedure

  • list on <database_name>.all.sequence

  • list on <database_name>.all.function

  • list on <database_name>.all.aggregate

En el ejemplo anterior, sustituya los marcadores de posición del modo que sigue:

  • Sustituya database_name por el nombre de la base de datos de origen.

  • Sustituya schema_name por el nombre del esquema de origen.

AWS SCT requiere acceso a las siguientes vistas y tablas del sistema. Puede conceder el acceso a estos objetos en lugar de conceder el acceso a system.definition_schema.system view y system.definition_schema.system tables en la lista anterior.

  • select on system.definition_schema._t_aggregate

  • select on system.definition_schema._t_class

  • select on system.definition_schema._t_constraint

  • select on system.definition_schema._t_const_relattr

  • select on system.definition_schema._t_database

  • select on system.definition_schema._t_grpobj_priv

  • select on system.definition_schema._t_grpusr

  • select on system.definition_schema._t_hist_config

  • select on system.definition_schema._t_object

  • select on system.definition_schema._t_object_classes

  • select on system.definition_schema._t_proc

  • select on system.definition_schema._t_type

  • select on system.definition_schema._t_user

  • select on system.definition_schema._t_usrobj_priv

  • select on system.definition_schema._vt_sequence

  • select on system.definition_schema._v_aggregate

  • select on system.definition_schema._v_constraint_depends

  • select on system.definition_schema._v_database

  • select on system.definition_schema._v_datatype

  • select on system.definition_schema._v_dslice

  • select on system.definition_schema._v_function

  • select on system.definition_schema._v_group

  • select on system.definition_schema._v_obj_relation

  • select on system.definition_schema._v_obj_relation_xdb

  • select on system.definition_schema._v_procedure

  • select on system.definition_schema._v_relation_column

  • select on system.definition_schema._v_relation_keydata

  • select on system.definition_schema._v_relobjclasses

  • select on system.definition_schema._v_schema_xdb

  • select on system.definition_schema._v_sequence

  • select on system.definition_schema._v_synonym

  • select on system.definition_schema._v_system_info

  • select on system.definition_schema._v_sys_constraint

  • select on system.definition_schema._v_sys_object_dslice_info

  • select on system.definition_schema._v_sys_user

  • select on system.definition_schema._v_table

  • select on system.definition_schema._v_sys_constraint

  • select on system.definition_schema._v_table

  • select on system.definition_schema._v_table

  • select on system.definition_schema._v_table

  • select on system.definition_schema._v_user

  • select on system.definition_schema._v_user

  • select on system.information_schema._v_relation_column

  • select on system.information_schema._v_table

  • select on $hist_column_access_*

Conectar a Netezza como origen

Utilice el siguiente procedimiento para conectarse a su base de datos de origen de Netezza con AWS Schema Conversion Tool.

Para conectarse a una base de datos Netezza de origen
  1. En AWS Schema Conversion Tool, seleccione Agregar origen.

  2. Seleccione Netezza y, a continuación, seleccione Siguiente.

    Se abrirá el cuadro de diálogo Agregar origen.

  3. En Nombre de conexión, escriba un nombre para su base de datos. AWS SCT muestra este nombre en el árbol del panel izquierdo.

  4. Utilice las credenciales de la base de datos de AWS Secrets Manager o introdúzcalas manualmente:

    • Para usar las credenciales de base de datos de Secrets Manager, siga las instrucciones siguientes:

      1. En Secreto de AWS, elija el nombre del secreto.

      2. Seleccione Rellenar para rellenar automáticamente todos los valores del cuadro de diálogo de conexión a la base de datos de Secrets Manager.

      Para obtener información sobre el uso de las credenciales de bases de datos de Secrets Manager, consulteUtilizar AWS Secrets Manager.

    • Para introducir manualmente la información de conexión a la base de datos de origen de Netezza, siga las instrucciones siguientes:

      Parámetro Acción
      Server name

      Escriba el nombre del sistema de nombres de dominio (DNS) o la dirección IP del servidor de base de datos de origen.

      Server port

      Escriba el puerto utilizado para conectarse al servidor de base de datos de origen.

      User name y Password

      Introduzca las credenciales de la base de datos para conectarse al servidor de base de datos de origen.

      AWS SCT utiliza la contraseña para conectarse a la base de datos de origen solo cuando decide conectarse a la base de datos en un proyecto. Para evitar que la contraseña de la base de datos de origen quede expuesta, AWS SCT no la almacena por defecto. Si cierra su proyecto de AWS SCT y vuelve a abrirlo, se le solicitará la contraseña para conectarse a su base de datos de origen, según sea necesario.

      Store password

      AWS SCT crea un almacén seguro para almacenar certificados SSL y contraseñas de la base de datos. Puede habilitar esta opción para almacenar la contraseña de la base de datos y conectarse rápidamente a la base de datos sin necesidad de introducir la contraseña.

      Netezza driver path

      Escriba la ruta al controlador que va a usar para conectarse a la base de datos de origen. Para obtener más información, consulte Descarga de los controladores de base de datos necesarios.

      Si almacena la ruta al controlador en la configuración global del proyecto, la ruta del controlador no aparecerá en el cuadro de diálogo de conexión. Para obtener más información, consulte Almacenamiento de rutas a los controladores en la configuración global.

  5. Seleccione Probar la conexión para verificar que AWS SCT pueda conectarse a su base de datos de origen.

  6. Seleccione Conectar para conectarse a su base de datos de origen.

Configurar la replicación continua de datos

Tras convertir los esquemas de base de datos de Netezza y aplicarlos a la base de datos de Amazon Redshift, puede migrar los datos con agentes de extracción de datos de AWS SCT. El agente extrae los datos y los carga en el bucket de Amazon S3. Puede utilizar AWS SCT para copiar los datos de Amazon S3 a Amazon Redshift.

Si los datos de la base de datos de origen cambian durante el proceso de migración, puede capturar los cambios en curso con sus agentes de extracción de datos de AWS SCT. Seguidamente, puede replicar estos cambios continuos en la base de datos de destino después de completar la migración de datos inicial. Este proceso se denomina replicación continua o captura de datos de cambio (CDC).

Para configurar la replicación continua de datos para migraciones de Netezza a Amazon Redshift
  1. En la base de datos de origen, cree una base de datos de historial. Puede utilizar el siguiente ejemplo de código en la interfaz de la línea de comandos (CLI) de Netezza.

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

    En el ejemplo anterior, sustituya history_database_name por el nombre de la base de datos de historial. A continuación, sustituya load_user por el nombre del usuario que ha definido para cargar los datos del historial en la base de datos. A continuación, sustituya histdb_owner por el nombre del usuario que ha definido como propietario de la base de datos del historial. Asegúrese de haber creado este usuario y de haberle concedido el permiso CREATE DATABASE. Por último, sustituya your_password por una contraseña segura.

  2. Configure el registro del historial. Para ello, use el siguiente ejemplo de código.

    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;

    En el ejemplo anterior, sustituya history_configuration_name y history_database_name por los nombres de la configuración del historial y de la base de datos del historial. A continuación, sustituya load_user por el nombre del usuario que ha definido para cargar los datos del historial en la base de datos. Por último, sustituya your_password por una contraseña segura.

  3. Otorgar permisos de lectura para todas las tablas de la base de datos del historial. Puede utilizar el siguiente código de ejemplo para conceder el permiso SELECT.

    GRANT SELECT ON history_database_name.ALL.TABLE TO your_user;

    En el ejemplo anterior, sustituya history_database_name por el nombre de la base de datos de historial. A continuación, sustituya your_user por el nombre del usuario con permisos mínimos para trabajar con la base de datos de Netezza. Utilice las credenciales de este usuario de la base de datos en AWS SCT.

  4. Recopile las estadísticas de cada tabla del esquema de origen para obtener información sobre la cardinalidad de las columnas. Puede utilizar el siguiente comando para generar estadísticas en la base de datos de historial.

    GENERATE STATISTICS on "schema_name"."table_name";

    En el ejemplo anterior, sustituya schema_name y table_name por el nombre del esquema y la tabla de la base de datos.

  5. Asegúrese de que ha completado los requisitos. Para ello, ejecute la siguiente consulta:

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

    En el ejemplo anterior, sustituya history_database_name y history_schema_name por el nombre del esquema y la base de datos del historial. A continuación, sustituya N por el número de versión de la base de datos del historial. Para obtener más información sobre las versiones de la base de dato del historial, consulte Documentación de IBM Netezza.

  6. Instale el agente de extracción de datos. Para obtener más información, consulte Instalación de agentes de extracción.

    Asegúrese de que el parámetro {working.folder} del archivo settings.properties de todas las instancias del extractor apunte a la misma carpeta. En este caso, sus extractores pueden coordinar la sesión de CDC y utilizar un único punto de transacción para todas las tareas secundarias.

  7. Registre su agente de extracción de datos. Para obtener más información, consulte Registrar los agentes de extracción con el AWS Schema Conversion Tool.

  8. Cree su tarea de CDC. Para obtener más información, consulte Crear, ejecutar y supervisar una AWS SCT tarea.

    1. Abra su proyecto en AWS SCT. En el panel izquierdo, elija la tabla de origen. Abra el menú contextual (clic secundario) y seleccione Crear tarea local.

    2. En Nombre de la tarea, introduzca un nombre para la tarea de migración de datos.

    3. En Modo de migración, seleccione Extraer, cargar y copiar.

    4. Seleccione Habilitar CDC.

    5. Elija la pestaña Configuración de CDC y defina el ámbito y la programación de las sesiones de CDC.

    6. Seleccione Probar tarea para comprobar que se puede conectar a su carpeta de trabajo, bucket de Amazon S3 y almacenamiento de datos de Amazon Redshift.

    7. Seleccione Crear para crear su tarea.

    8. Elija la pestaña Tareas, seleccione su tarea de la lista y elija Iniciar.

  9. La tarea de AWS SCT mantiene la coherencia transaccional en la base de datos de destino. El agente de extracción de datos replica las transacciones del origen en el orden de los identificadores de transacción.

    Si detiene alguna de las sesiones de migración o si se produce un error, el procesamiento de la CDC también se detiene.

Configuración de conversión de Netezza a Amazon Redshift

Para editar la configuración de conversión de Netezza a Amazon Redshift, seleccione Configuración en AWS SCT y, a continuación, elija Configuración de conversión. En la lista superior, elija Netezza y, a continuación, elija Netezza — Amazon Redshift. AWS SCT muestra todos los ajustes disponibles para la conversión de Netezza a Amazon Redshift.

La configuración de conversión de Netezza a Amazon Redshift en AWS SCT incluye opciones para lo siguiente:

  • Limitar el número de comentarios con elementos de acción en el código convertido.

    En Añadir comentarios en el código convertido para los elementos de acción de la gravedad seleccionada o superior, seleccione la gravedad de los elementos de acción. AWS SCTañade comentarios en el código convertido para los elementos de acción de la gravedad seleccionada o superior.

    Por ejemplo, para minimizar el número de comentarios en el código convertido, seleccione Solo errores. Para incluir comentarios para todos los elementos de acción del código convertido, seleccione Todos los mensajes.

  • Establecer el número máximo de tablas que AWS SCT puede aplicar a su clúster de Amazon Redshift de destino.

    En El número máximo de tablas para el clúster de Amazon Redshift de destino, elija el número de tablas que AWS SCT puede aplicar a su clúster de Amazon Redshift.

    Amazon Redshift tiene cuotas que limitan las tablas de uso para los distintos tipos de nodos de clúster. Si elige Auto, AWS SCT determina el número de tablas que se van a aplicar al clúster de Amazon Redshift de destino en función del tipo de nodo. Si lo desea, elija el valor manualmente. Para obtener más información, consulte Cuotas y límites de Amazon Redshift en la Guía de administración de Amazon Redshift.

    AWS SCT convierte todas las tablas de origen, aunque sean más de las que su clúster de Amazon Redshift puede almacenar. AWS SCTalmacena el código convertido en su proyecto y no lo aplica a la base de datos de destino. Si alcanza la cuota del clúster de Amazon Redshift para las tablas al aplicar el código convertido, AWS SCT mostrará un mensaje de advertencia. Además, AWS SCT aplica tablas a su clúster de Amazon Redshift de destino hasta que el número de tablas alcanza el límite.

  • Aplicar compresión a las columnas de la tabla de Amazon Redshift. Para ello, seleccione Usar codificación de compresión.

    AWS SCT asigna automáticamente la codificación de compresión a las columnas mediante el algoritmo Amazon Redshift predeterminado. Para obtener más información, consulte Codificaciones de compresión en la Guía para desarrolladores de bases de datos de Amazon Redshift.

    De forma predeterminada, Amazon Redshift no aplica compresión a las columnas definidas como claves de clasificación y distribución. Puede cambiar este comportamiento y aplicar compresión a estas columnas. Para ello, seleccione Usar codificación de compresión para columnas KEY. Puede seleccionar esta opción solo si selecciona la opción Usar codificación de compresión.

Configuración de optimización de la conversión de Netezza a Amazon Redshift

Para editar la configuración de optimización de la conversión de Netezza a Amazon Redshift, seleccione Configuración en AWS SCT y, a continuación, elija Configuración de conversión. En la lista superior, elija Netezza y, a continuación, Netezza — Amazon Redshift. En el panel izquierdo, elija Estrategias de optimización. AWS SCT muestra la configuración de optimización de la conversión para la conversión de Netezza a Amazon Redshift.

La configuración de optimización de la conversión de Netezza a Amazon Redshift en AWS SCT incluye opciones para lo siguiente:

  • Trabajar con optimización automática de tablas. Para ello, seleccione Utilizar el ajuste automático de tablas de Amazon Redshift.

    La optimización automática de tablas es una capacidad de autoajuste presente en Amazon Redshift que optimiza automáticamente el diseño de tablas. Para obtener más información, consulte Trabajar con optimización automática de tablas en la Guía para desarrolladores de bases de datos de Amazon Redshift.

    Para confiar únicamente en la optimización automática de las tablas, elija Ninguna en Estrategia inicial de selección de claves.

  • Elegir las claves de clasificación y distribución según su estrategia.

    Puede elegir las claves de clasificación y distribución utilizando metadatos de Amazon Redshift, información estadística o ambas opciones. En estrategia inicial de selección de claves, en la pestaña Estrategias de optimización, elija una de las siguientes opciones:

    • Utilizar metadatos e ignorar la información estadística

    • Ignorar los metadatos, utilizar información estadística

    • Utilizar metadatos e información estadística

    En función de la opción que elija, puede seleccionar estrategias de optimización. A continuación, introduzca el valor (0—100) para cada estrategia. Estos valores definen la ponderación de cada estrategia. Con estos valores de ponderación, AWS SCT define cómo influye cada regla en la elección de las claves de distribución y clasificación. Los valores predeterminados se basan en las prácticas recomendadas de migración de AWS.

    Puede definir el tamaño de las tablas pequeñas para la estrategia Buscar tablas pequeñas. En Recuento mínimo de filas de la tabla y Recuento máximo de filas de la tabla, introduzca el número mínimo y máximo de filas de una tabla para definirla como una tabla pequeña. AWS SCT aplica el estilo de distribución ALL a las tablas pequeñas. En este caso, se distribuye una copia de toda la tabla a cada nodo.

  • Configurar los detalles de la estrategia.

    Además de definir la ponderación de cada estrategia de optimización, puede configurar los ajustes de optimización. Para ello, elija Optimización de la conversión.

    • En Límite de columnas de clave de clasificación, introduzca el número máximo de columnas en la clave de clasificación.

    • En Valor de umbral descompensado, introduzca el porcentaje (0—100) de un valor descompensado para una columna. AWS SCT excluye de la lista de candidatos a la clave de distribución las columnas con un valor de sesgo superior al umbral. AWS SCT define el valor descompensado de una columna como la relación porcentual entre el número de apariciones del valor más común y el número total de registros.

    • En Consultas N principales de la tabla del historial de consultas, introduzca el número (1–100) de las consultas que se van a analizar con más frecuencia.

    • En Seleccionar usuario de estadísticas, elija el usuario de la base de datos cuyas estadísticas de consulta desee analizar.

    Además, en la pestaña Estrategias de optimización, puede definir el tamaño de las tablas pequeñas para la estrategia Buscar tablas pequeñas. En Recuento mínimo de filas de la tabla y Recuento máximo de filas de la tabla, introduzca el número mínimo y máximo de filas de una tabla para considerarla una tabla pequeña. AWS SCT aplica el estilo de distribución ALL a las tablas pequeñas. En este caso, se distribuye una copia de toda la tabla a cada nodo.