Write to DB

La etapa Write to DB escribe la salida de un flujo de datos en una base de datos.

Nota: Se pueden lograr mejoras significativas del rendimiento usando múltiples instancias de ejecución de Write to DB. Para especificar las múltiples instancias de ejecución, haga clic en el botón Runtime (Ejecución).

Ficha General

Nombre de la opción

Descripción

Conexión

Seleccione la conexión para la base de datos que quiere usar en el campo Conexión. Para realizar una nueva conexión de base de datos, haga clic en Manage (Administrar). Para obtener más información sobre la creación de conexiones de bases de datos, consulte Administrador de conexión de base de datos.

Tabla/Vista

Después de seleccionar una conexión, especifique la tabla o la vista donde se escribirá. Haga clic en el botón de examinar ([...]) para navegar hasta la tabla o la vista que quiere utilizar o haga clic en Create Table (Crear tabla) para crear una nueva tabla en la base de datos.

Nota: Si escribe en una base de datos SQL, no puede escribir en vistas que hagan referencia a más de una tabla. Ello se debe a una limitación en el servidor SQL.

Create Table (Crear tabla)

Crea una nueva tabla en la base de datos seleccionada. Elija el titular de la tabla en el campo Table owner (Titular de tabla) y especifique el nombre de la nueva tabla en el campo Table name (Nombre de tabla). Los nombres de las tablas distinguen mayúsculas de minúsculas. Especifique una clave principal al seleccionar una casilla de verificación en la columna Clave principal. Además, especifique los campos que quiere escribir en la nueva tabla seleccionando el casillero de la columna Include (Incluir). La columna Ancho especifica la longitud del campo para el tipo de datos de cadena de caracteres. De manera predeterminada es 512. Si se marca la columna Permitir nulos y los campos de entrada contienen un valor nulo, el flujo de datos escribirá el valor nulo en la base de datos. Cabe señalar que es posible editar el nombre de la columna cambiando el valor de la columna Campos de salida.

El botón Create Table (Crear tabla) admite la creación de tablas en las siguientes bases de datos:

  • Axion
  • DB2
  • Derby/Cloudscape
  • Firebird
  • HSQLDB
  • Interbase
  • MaxDB/SapDB
  • McKoi
  • MySQL
  • Oracle
  • PostgreSQL
  • SQL Server
  • Sybase
Nota: En las bases de datos DB2, si intenta crear una tabla y el tamaño de página es más pequeño que el largo total de todas las columnas, aparecerá un error que indica que no es posible crear un elemento del contenido y que la clase serializable no está disponible.

Campos de etapa

En la columna Campos de etapa, puede especificar el campo que quiere escribir en el campo de base de datos que se muestra en la columna Campo de base de datos.

Incluir

La columna Incluir le permite seleccionar los campos en los que quiere escribir.

Nota: Para evitar un rendimiento deficiente, debe contar con un índice ordenado o una clave ordenada en la tabla de base de datos.
Nota: La etapa Write to DB permite escribir todos los valores del tipo de datos date como valores String. Este es el comportamiento del controlador jTDS, que es el controlador predeterminado que usa Spectrum. Para manejar todos los valores de tipos de datos date tal como están, use el controlador JDBC de Microsoft.

Administrador de conexión de base de datos

El Administrador de conexión de base de datos le permite administrar las conexiones registradas de bases de datos. Para agregar, modificar, eliminar y probar las conexiones:

  1. En el cuadro de diálogo Write To DB Options (Opciones de Write To DB), haga clic en Manage (Administrar).
  2. Haga clic en Add (Agregar), Modify (Modificar) o Delete (Eliminar).
  3. Si va a agregar o modificar una conexión de base de datos, complete los siguientes campos:
    • Nombre de conexión: ingrese el nombre de la conexión nueva..
    • Controlador de base de datos: seleccione el tipo de base de datos correspondiente.
    • Opciones de conexión: especifique todas las opciones, por ejemplo, host, puerto, instancia, nombre de usuario y contraseña.
    Nota: Puede probar la conexión haciendo clic en Test (Probar).
  4. Si va a borrar una conexión de base de datos, seleccione la conexión que quiere quitar y haga clic en Eliminar.

Ficha Tiempo de ejecución

Nombre de la opción

Descripción

Modo de escritura

Especifica el tipo de acción que se realizará cuando se escriba en la base de datos, Una de las siguientes:

Insertar
Inserta registros nuevos en la base de datos pero no actualiza los registros existentes. Esta es la configuración predeterminada.
Actualizar
Actualiza los registros existentes en la base de datos pero no inserta nuevos registros.
Nota: Si selecciona Update (Actualizar), el nombre de columna de clave principal que se utiliza en la tabla de entrada debe coincidir con el nombre de columna de clave principal de la tabla de salida. Si trata de actualizar una tabla cuya clave principal del nombre de la columna no coincide con la entrada o no está definida, la actualización no se realizará.
Insertar si no es posible actualizar
Inserta nuevos registros en la base de datos si el registro no existe, de lo contrario, actualiza el registro existente.

Confirmación de lote

Seleccione esta opción para confirmar cambios en la base de datos tras procesar un número específico de registros. Esta opción no está seleccionada de forma predeterminada, por lo tanto, los cambios se confirman luego de que se procesa cada registro. Si se selecciona esta opción, es posible mejorar significativamente el rendimiento de la etapa Write to DB.

Tamaño de lote

Si activa la opción Batch commit (Confirmación de lote), se especifica el número de registros a confirmar en la base de datos dentro de cada lote. El valor predeterminado es 1,000. Para los flujos de datos creados en Spectrum™ Technology Platform 7.0 y versiones anteriores, el valor predeterminado es 100.

No siempre los lotes de gran de tamaño ofrecen mejor rendimiento de carga. Tenga en cuenta los siguientes factores al elegir el tamaño del lote:

  • Data arrival rate to Write To DB stage (Velocidad de llegada de los datos a la etapa Write To DB): Si los datos llegan a un ritmo más lento de lo que puede procesar la base de datos, entonces la modificación del tamaño del lote no mejorará el rendimiento general del flujo de datos. Por ejemplo, es posible que los flujos de datos con validación de direcciones o geocodificación no mejoren el rendimiento si se aumenta el tamaño del lote.
  • Network traffic (Tráfico de la red): En el caso de redes lentas, el aumento del lote a un tamaño mediano (de 1000 a 10.000) mejora el rendimiento.
  • Database load and/or processing speed (Velocidad de procesamiento o carga de la base de datos): En el caso de las bases de datos que tienen una gran capacidad de procesamiento, el aumento del tamaño del lote mejorará el rendimiento.
  • Multiple runtime instances (Utilización de múltiples instancias): Si utiliza múltiples instancias de ejecución de la etapa Write to DB, los lotes de gran tamaño consumirán mucha memoria, por lo tanto, es recomendable usar un tamaño pequeño o mediano (de 100 a 10.000).
  • Database roll backs (Reversión de la base de datos): Cada vez que falla una instrucción, todo el lote se revierte. Mientras más grande sea el tamaño del lote, más tiempo tardará en revertirse.
Confirmación al final Seleccione esta opción para garantizar que la operación de confirmación en la base de datos ocurra después de transferir todos los registros a la base de datos.
Conteo por lotes para confirmar Especifica un valor después del cual los registros se deben confirmar. Los registros se confirman en la base de datos después de que se transfiere una cantidad de registros (conteo por lotes para confirmar * tamaño del lote) a la base de datos. Por ejemplo, si Tamaño del lote se configura como 1000 y Conteo por lotes para confirmar se establece como 3, la confirmación ocurre después de que se transfieren 3000 registros la base de datos.

Truncar tabla antes de insertar datos

Seleccione esta opción si desea borrar todos los datos de la tabla antes de escribir la base de datos.

Descartar la tabla y recrearla si ya existe

Seleccione esta opción para eliminar y volver a crear la tabla antes de copiarle la salida del flujo de datos. Esta opción resulta útil si se desea que el esquema de tabla coincida con los campos del flujo de datos y no contenga información de esquema no relacionada.

La tabla que se elimina y se crea nuevamente es la que se especifica en el campo Table/View (Tabla/Vista) de la ficha General. Por ejemplo, si se especifica la tabla Customers (Clientes) en el campo Table/View (Tabla/Vista) y se selecciona la opción Drop and recreate the table if it already exists (Descartar la tabla y recrearla si ya existe), la tabla Customers (Clientes) se eliminará de la base de datos y se creará una nueva tabla con el mismo nombre, con un esquema que coincide con los campos reales copiados en la tabla.