Acerca de los pipelines de datos en la base de datos de IA autónoma

Los pipelines de datos de Autonomous AI Database son pipelines de carga o pipelines de exportación.

Los pipelines de carga proporcionan carga incremental continua de datos desde orígenes externos (a medida que los datos llegan al almacén de objetos, se cargan en una tabla de base de datos). Los pipelines de exportación proporcionan una exportación de datos incremental continua al almacén de objetos (a medida que aparecen nuevos datos en una tabla de base de datos, se exportan al almacén de objetos). Los pipelines utilizan el programador de base de datos para cargar o exportar continuamente datos incrementales.

Los pipelines de datos de base de datos de IA autónoma proporcionan lo siguiente:

  • Operaciones unificadas: los pipelines le permiten cargar o exportar datos de forma rápida y sencilla y repetir estas operaciones a intervalos regulares para nuevos datos. El paquete DBMS_CLOUD_PIPELINE proporciona un juego unificado de procedimientos PL/SQL para la configuración de pipeline y para crear e iniciar un trabajo programado para operaciones de carga o exportación.

  • Procesamiento de datos programado: los pipelines supervisan su origen de datos y cargan o exportan periódicamente los datos a medida que llegan nuevos datos.

  • Alto rendimiento: los pipelines escalan las operaciones de transferencia de datos con los recursos disponibles en su base de datos de IA autónoma. Los pipelines por defecto utilizan el paralelismo para todas las operaciones de carga o exportación, y se escalan en función de los recursos de CPU disponibles en la base de datos de IA autónoma o en función de un atributo de prioridad configurable.

  • Atomicidad y recuperación: los pipelines garantizan la atomicidad de modo que los archivos del almacén de objetos se cargan exactamente una vez para un pipeline de carga.

  • Supervisión y solución de problemas: los pipelines proporcionan tablas de estado y log detalladas que permiten supervisar y depurar operaciones de pipeline.

  • Compatible con multinube: los pipelines de base de datos de IA autónoma admiten un cambio sencillo entre proveedores de nube sin cambios en las aplicaciones. Los pipelines admiten todos los formatos de URI de almacén de objetos y credenciales que admite Autonomous AI Database (Oracle Cloud Infrastructure Object Storage, Amazon S3, Azure Blob Storage, Google Cloud Storage y almacenes de objetos compatibles con Amazon S3).

Temas relacionados

Ciclo de vida del pipeline de datos

El paquete DBMS_CLOUD_PIPELINE proporciona procedimientos para crear, configurar, probar e iniciar un pipeline. El ciclo de vida y los procedimientos del pipeline son los mismos para los pipelines de carga y exportación.

A continuación se muestra la descripción de pipeline_lifecycle.eps
Descripción de la ilustración pipeline_lifecycle.eps

Para cualquier tipo de pipeline, realice los siguientes pasos para crear y utilizar un pipeline:

  1. Cree y configure el pipeline. Consulte Creación y configuración de pipelines para obtener más información.

  2. Pruebe un nuevo pipeline. Consulte Pipelines de prueba para obtener más información.

  3. Iniciar un pipeline. Consulte Inicio de un pipeline para obtener más información.

Además, puede supervisar, parar o borrar pipelines:

Cargar pipelines

Utilice un pipeline de carga para la carga incremental continua de datos de archivos externos en el almacén de objetos en una tabla de base de datos. Un pipeline de carga identifica periódicamente nuevos archivos en el almacén de objetos y carga los nuevos datos en la tabla de la base de datos.

Un pipeline de carga funciona de la siguiente forma (algunas de estas funciones se pueden configurar mediante atributos de pipeline):

  • Los archivos del almacén de objetos se cargan en paralelo en una tabla de base de datos.

    • Un pipeline de carga utiliza el nombre de archivo del almacén de objetos para identificar y cargar archivos más recientes de forma única.
    • Una vez que se haya cargado un archivo en el almacén de objetos en la tabla de base de datos, si el contenido del archivo cambia en el almacén de objetos, no se volverá a cargar.
    • Si se suprime el archivo del almacén de objetos, no afecta a los datos de la tabla de la base de datos.
  • Si se encuentran fallos, un pipeline de carga reintenta automáticamente la operación. Los reintentos se intentan en cada ejecución posterior del trabajo programado del pipeline.

  • En los casos en los que los datos de un archivo no cumplen con la tabla de la base de datos, se marcan como FAILED y se pueden revisar para depurar y solucionar el problema.

    • Si algún archivo no se carga, el pipeline no se para y continúa cargando los demás archivos.
  • Los pipelines de carga soportan varios formatos de archivo de entrada, incluidos JSON, CSV, XML, Avro, ORC y Parquet.

A continuación se muestra la descripción de load-pipeline.eps
Descripción de la ilustración load-pipeline.eps

La migración desde bases de datos que no son de Oracle es un posible caso de uso para un pipeline de carga. Cuando necesite migrar los datos de una base de datos que no sea de Oracle a Oracle Autonomous AI Database on Dedicated Exadata Infrastructure, puede extraer los datos y cargarlos en Autonomous AI Database (el formato de Oracle Data Pump no se puede utilizar para migraciones desde bases de datos que no sean de Oracle). Al utilizar un formato de archivo genérico, como CSV, para exportar datos de una base de datos que no sea de Oracle, puede guardar los datos en archivos y cargarlos en el almacén de objetos. A continuación, cree un pipeline para cargar los datos en Autonomous AI Database. El uso de un pipeline de carga para cargar un gran conjunto de archivos CSV proporciona importantes ventajas, como la tolerancia a fallos, y las operaciones de reanudación y reintento. Para una migración con un juego de datos grande, puede crear varios pipelines, uno por tabla para los archivos de base de datos que no son de Oracle, para cargar datos en Autonomous AI Database.

Exportar pipelines

Utilice un pipeline de exportación para la exportación incremental continua de datos de la base de datos al almacén de objetos. Un pipeline de exportación identifica periódicamente datos de candidatos y carga los datos en el almacén de objetos.

Hay tres opciones de pipeline de exportación (las opciones de exportación se pueden configurar mediante atributos de pipeline):

  • Exportar resultados incrementales de una consulta al almacén de objetos mediante una columna de fecha o registro de hora como clave para realizar un seguimiento de los datos más recientes.

  • Exportar datos incrementales de una tabla al almacén de objetos mediante una columna de fecha o registro de hora como clave para realizar un seguimiento de los datos más recientes.

  • Exportar datos de una tabla al almacén de objetos mediante una consulta para seleccionar datos sin una referencia a una columna de fecha o registro de hora (para que el pipeline exporte todos los datos que la consulta selecciona para cada ejecución del programador).

Los pipelines de exportación tienen las siguientes funciones (algunas de ellas se pueden configurar mediante atributos de pipeline):

  • Los resultados se exportan en paralelo al almacén de objetos.

  • En caso de fallos, un trabajo de pipeline posterior repite la operación de exportación.

  • Los pipelines de exportación soportan varios formatos de archivo de exportación, incluidos: CSV, JSON, Parquet o XML.

Pipelines con Mantenimiento de Oracle

Autonomous AI Database on Dedicated Exadata Infrastructure proporciona pipelines incorporados para exportar logs específicos a un almacén de objetos en formato JSON. Estos pipelines están preconfigurados, se inician y son propiedad del usuario ADMIN.

Los pipelines mantenidos por Oracle son:

  • ORA$AUDIT_EXPORT: este pipeline exporta los logs de auditoría de la base de datos al almacén de objetos en formato JSON y se ejecuta cada 15 minutos después de iniciar el pipeline (según el valor de atributo interval).

  • ORA$APEX_ACTIVITY_EXPORT: este pipeline exporta el log de actividad del espacio de trabajo de Oracle APEX al almacén de objetos en formato JSON. Este pipeline está preconfigurado con la consulta SQL para recuperar los registros de actividad de APEX y se ejecuta cada 15 minutos después de iniciar el pipeline (según el valor del atributo interval).

Para configurar e iniciar un pipeline gestionado por Oracle:

  1. Determine el pipeline gestionado por Oracle que desea utilizar: ORA$AUDIT_EXPORT o ORA$APEX_ACTIVITY_EXPORT.
  2. Defina los atributos credential_name y location.

    Note:

    credential_name es un valor obligatorio en la base de datos de IA autónoma en infraestructura de Exadata dedicada.

    Por ejemplo:

    BEGIN
      DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
        pipeline_name => 'ORA$AUDIT_EXPORT',
        attribute_name => 'credential_name',
        attribute_value => 'DEF_CRED_OBJ_STORE'
      );
      DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
        pipeline_name => 'ORA$AUDIT_EXPORT',
        attribute_name => 'location',
        attribute_value => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/'
      );
    END;
    /

    Los datos de log de la base de datos se exportan a la ubicación del almacén de objetos que especifique.

    Consulte SET_ATTRIBUTE para obtener más información.

  3. Opcionalmente, defina los atributos interval, format o priority.

    Consulte SET_ATTRIBUTE para obtener más información.

  4. Inicie el pipeline.

    Consulte START_PIPELINE para obtener más información.