Memoria caché de objetos de datos
El Servicio de integración de datos utiliza la memoria caché de objetos de datos para acceder a tablas virtuales y objetos de datos lógicos pregenerados. Habilite la memoria caché de objetos de datos para aumentar el rendimiento de las asignaciones, las consultas del servicio de datos SQL y las solicitudes de servicio web que incluyen objetos de datos lógicos y tablas virtuales.
De forma predeterminada, el Servicio de integración de datos extrae los datos de origen y genera los objetos de datos requeridos cuando ejecuta una asignación, una consulta del servicio de datos SQL o una solicitud del servicio web. Cuando habilita la memoria caché de objetos de datos, el Servicio de integración de datos puede utilizar los objetos de datos lógicos y las tablas virtuales almacenados en la memoria caché.
Realice los siguientes pasos para configurar la memoria caché de objetos de datos para objetos de datos lógicos y tablas virtuales en una aplicación:
- 1. Configure la conexión de base de datos de la memoria caché de objetos de datos en las propiedades de memoria caché del Servicio de integración de datos.
- 2. Habilite la memoria caché en las propiedades de objetos de datos lógicos o tablas virtuales en una aplicación.
De forma predeterminada, el componente Administrador de memoria caché de objetos de datos del Servicio de integración de datos administra las tablas de la memoria caché para los objetos de datos lógicos y las tablas virtuales en la base de datos de la memoria caché de objetos de datos. Cuando el Administrador de memoria caché de objetos de datos administra la memoria caché, inserta todos los datos en las tablas de la memoria caché en cada actualización. Si desea actualizar las tablas de la memoria caché de forma incremental, puede administrar personalmente las tablas de la memoria caché mediante un cliente de base de datos u otra herramienta externa. Una vez habilitada la memoria caché de objetos de datos, puede configurar un objeto de datos lógicos o una tabla virtual para utilizar una tabla de memoria caché administrada por el usuario.
Tablas de memoria caché
El Administrador de memoria caché de objetos de datos es el componente del Servicio de integración de datos que crea y administra las tablas de memoria caché en una base de datos relacional.
Puede utilizar los siguientes tipos de base de datos para almacenar las tablas de memoria caché de objetos de datos:
- •IBM DB2
- •Microsoft SQL Server
- •Oracle
Una vez que el administrador de la base de datos configure la base de datos de memoria caché de objetos de datos, utilice la Herramienta del administrador para crear una conexión con la base de datos. A continuación, configure el Servicio de integración de datos que utilizará la conexión con la base de datos de memoria caché.
Cuando la memoria caché de objetos de datos está habilitada, el administrador de memoria caché de objetos de datos creará una tabla de memoria caché cuando inicie la aplicación que contiene el objeto de datos lógicos o la tabla virtual. Crea una tabla en la base de datos de memoria caché para cada objeto de datos lógicos o tabla virtual en una aplicación. El administrador de memoria caché de objetos de datos utiliza el prefijo CACHE para denominar cada tabla.
Los objetos de una aplicación comparten las tablas de la memoria caché, pero los objetos en diferentes aplicaciones no lo hacen. Si utiliza un objeto de datos lógicos o una tabla virtual en varias aplicaciones, el administrador de memoria caché de objetos de datos crea una tabla de la memoria caché independiente para cada instancia del objeto.
Configuración de almacenamiento en memoria caché de objetos de datos
Para configurar el almacenamiento en caché de objetos de datos, configure la conexión de base de datos de memoria caché para el Servicio de integración de datos. A continuación, habilite el almacenamiento en caché para cada objeto de datos lógicos o tabla virtual a los que accedan con frecuencia los usuarios finales.
Realice los siguientes pasos para configurar el almacenamiento en caché de objetos de datos:
- 1. Configure la conexión de base de datos de la memoria caché en las propiedades de la memoria caché del Servicio de integración de datos.
El Administrador de memoria caché de objetos de datos crea las tablas de la memoria caché en esta base de datos.
- 2. Habilite el almacenamiento en caché en las propiedades de objetos de datos lógicos o tablas virtuales en una aplicación.
Al habilitar el almacenamiento en caché, también puede configurar el Servicio de integración de datos para generar índices en las tablas de la memoria caché basados en una columna. Los índices pueden aumentar el rendimiento de las consultas en la base de datos de la memoria caché.
Paso 1. Configure la conexión con la base de datos de memoria caché
El Servicio de integración de datos almacena en caché objetos de datos lógicos y tablas virtuales en la base de datos de memoria caché de objetos de datos.La conexión que el Servicio de integración de datos utiliza para acceder a la base de datos se configura manualmente.
Compruebe que el administrador de la base de datos ha configurado la base de datos de memoria caché de objetos de datos y que ha creado la conexión a la base de datos.
Para configurar la conexión para el Servicio de integración de datos, haga clic en la vista Propiedades del servicio en la Herramienta del administrador. Haga clic en Editar en el área Caché de Objeto de datos lógicos/Tabla virtual y, a continuación, seleccione el nombre de la conexión de base de datos para la propiedad Conexión de la memoria caché. Reinicie el servicio para que la propiedad surta efecto.
Paso 2. Habilite el almacenamiento en memoria caché de objetos de datos para un objeto
Para habilitar el almacenamiento en caché para un objeto, detenga la aplicación que contiene el objeto de datos lógicos o la tabla virtual, edite las propiedades del objeto, y reinicie la aplicación.
1. En la Herramienta del administrador, seleccione el Servicio de integración de datos.
2. Haga clic en la vista Aplicaciones.
3. Seleccione la aplicación que contiene el objeto de datos lógicos o la tabla virtual para el que desee habilitar el almacenamiento en memoria caché.
4. Detenga la aplicación.
5. Expanda la aplicación y seleccione el objeto de datos lógicos o la tabla virtual.
6. En el área Propiedades del objeto de datos lógicos o Propiedades de la tabla virtual, haga clic en Editar.
Aparecerá el cuadro de diálogo Editar propiedades.
7. Seleccione Habilitar almacenamiento en memoria caché.
8. En la propiedad Periodo de actualización de la memoria caché, introduzca la cantidad de tiempo en minutos que el Administrador de memoria caché de objetos de datos esperará antes de actualizar la memoria caché.
Por ejemplo, si introduce 720, el Administrador de memoria caché de objetos de datos actualiza la memoria caché cada 12 horas. Si deja el valor predeterminado en cero, el Administrador de memoria caché de objetos de datos no actualizará la memoria caché siguiendo una programación. Deberá actualizar manualmente la memoria caché mediante el comando infacmd dis RefreshDataObjectCache.
9. Deje en blanco la propiedad Nombre de tabla de la memoria caché.
Al escribir un nombre de tabla, el Administrador de memoria caché de objetos de datos no administra la memoria caché para el objeto. Introduzca un nombre de tabla solo cuando desee utilizar una tabla de memoria caché administrada por el usuario. Una tabla de memoria caché administrada por el usuario es una tabla en la base de datos de la memoria caché del objeto de datos que se puede crear, rellenar y actualizar manualmente cuando sea necesario.
10. Haga clic en Aceptar.
11. Para generar índices en la tabla de memoria caché basados en una columna, expanda el objeto de datos lógicos o la tabla virtual.
- a. Seleccione una columna y, a continuación, haga clic en Editar en el área Propiedades de la columna de objetos de datos lógicos o Propiedades de la columna de tabla virtual.
Aparecerá el cuadro de diálogo Editar propiedades de columna.
- b. Seleccione Crear índice y, a continuación, haga clic en Aceptar.
12. Reinicie la aplicación.
El Administrador de memoria caché de objetos de datos crea y rellena la tabla de la memoria caché.
Administración de la memoria caché de objetos de datos
De forma predeterminada, el Administrador de memoria caché de objetos de datos administra las tablas de memoria caché en la base de datos de memoria caché de los objetos de datos. Puede utilizar la Herramienta del administrador o infacmd para configurar cuándo y cómo el Administrador de memoria caché de objetos de datos actualiza la memoria caché. O bien, puede administrar manualmente las tablas de la memoria caché utilizando un cliente de base de datos u otra herramienta externa.
Cuando el Administrador de memoria caché de objetos de datos administra la memoria caché, inserta todos los datos en la tabla de la memoria caché en cada actualización. Puede administrar manualmente las tablas de la memoria caché para poder actualizar la memoria caché de forma incremental.
Tablas de memoria caché administradas por el Administrador de memoria caché de objetos de datos
De forma predeterminada, el Administrador de memoria caché de objetos de datos administra las tablas de memoria caché en la base de datos de memoria caché de los objetos de datos.
Cuando el Administrador de memoria caché de objetos de datos administra las tablas de memoria caché, puede realizar las siguientes operaciones en la memoria caché del objeto de datos:
- Actualizar la memoria caché
- Puede actualizar la memoria caché para un objeto de datos lógicos o una tabla virtual según un programa o manualmente. Para actualizar los datos según un programa, establezca el período de actualización de la memoria caché para el objeto de datos lógicos o de tabla virtual en la Herramienta del administrador.
- Para actualizar la memoria caché manualmente, utilice el comando infacmd dis RefreshDataObjectCache. Cuando el Administrador de memoria caché de objetos de datos actualiza la memoria caché, crea una nueva memoria caché. Si un usuario final ejecuta una asignación o consulta un servicio de datos SQL durante una actualización de la memoria caché, el Servicio de integración de datos devuelve la información de la memoria caché existente.
- Anular una actualización
- Para anular una actualización de la memoria caché, utilice el comando infacmd dis CancelDataObjectCacheRefresh. Si anula una actualización de la memoria caché, el Administrador de memoria caché de objetos de datos restaura la memoria caché existente.
- Purgar la memoria caché
- Para purgar la memoria caché, utilice el comando infacmd dis PurgeDataObjectCache. Debe deshabilitar la aplicación antes de purgar la memoria caché.
Tablas de memoria caché administradas por el usuario
Una tabla de memoria caché administrada por el usuario es una tabla en la base de datos de la memoria caché del objeto de datos que se puede crear, rellenar y actualizar manualmente cuando sea necesario.
Configure un objeto de datos lógicos o una tabla virtual para utilizar una tabla de memoria caché administrada por el usuario cuando desee actualizar de forma incremental la memoria caché. Cuando el Administrador de memoria caché de objetos de datos administra la memoria caché, inserta todos los datos en la tabla de la memoria caché en cada actualización. Si el origen contiene un conjunto de datos de gran tamaño, la actualización puede tardar mucho tiempo en procesarse. En su lugar, puede configurar el objeto para que utilice una tabla de memoria caché administrada por el usuario y, a continuación, utilizar una herramienta externa para insertar solo los datos modificados en la tabla de memoria caché. Por ejemplo, puede utilizar una asignación de CDC de PowerCenter para extraer datos modificados para los objetos y actualizar de forma incremental la memoria caché.
Al configurar un objeto para que utilice una tabla de memoria caché administrada por el usuario, debe utilizar un cliente de base de datos u otra herramienta para crear, rellenar, purgar y actualizar la tabla de memoria caché. Cree la tabla de memoria caché administrada por el usuario en la base de datos de memoria caché de objetos de datos a la que accede el Servicio de integración de datos con la conexión de base de datos de memoria caché.
No se puede utilizar la Herramienta del administrador ni la herramienta de línea de comandos para administrar una tabla de memoria caché administrada por el usuario. El Servicio de integración de datos utiliza la memoria caché almacenada en la tabla de memoria caché administrada por el usuario cuando ejecuta una asignación, una consulta al servicio de datos SQL, o una solicitud de servicio web que incluye el objeto. Sin embargo, el Administrador de memoria caché de objetos de datos no administra la tabla de memoria caché. Cuando utiliza la ficha Supervisar para supervisar un objeto que utiliza una tabla de memoria caché administrada por el usuario, el objeto tiene un estado de memoria caché Omitido.
Nota: Si la tabla de memoria caché administrada por el usuario se almacena en una base de datos de SQL Server y el nombre de usuario de la base de datos no es el mismo que el nombre de esquema, debe especificar un nombre de esquema en el objeto de conexión de base de datos. De lo contrario, se pueden producir errores en las asignaciones, las consultas del servicio de datos SQL y las solicitudes de servicio web que acceden a la memoria caché.
Configurar tablas de memoria caché administradas por el usuario
Para configurar un objeto de datos lógicos o una tabla virtual para utilizar una tabla de memoria caché administrada por el usuario, debe crear una tabla en la base de datos de memoria caché de objetos de datos. Rellene la tabla con la memoria caché inicial y, a continuación, introduzca el nombre de la tabla en las propiedades del objeto de datos.
Nota: Antes de configurar un objeto para utilizar una tabla de memoria caché administrada por el usuario, debe configurar la conexión de base de datos de la memoria caché para el Servicio de integración de datos. También debe habilitar el almacenamiento en la memoria caché de objetos de datos para el objeto, de modo que el Administrador de memoria caché de objetos de datos cree la tabla de memoria caché predeterminada.
Paso 1. Busque el nombre de la tabla de memoria caché predeterminada
En la ficha Supervisar de la Herramienta del administrador, busque el nombre de la tabla de memoria caché predeterminada que el Administrador de memoria caché de objetos de datos creó después de que habilitara el almacenamiento en caché de objetos de datos para el objeto.
1. En la Herramienta del administrador, haga clic en la ficha Supervisar.
2. Haga clic en la vista Estadísticas de ejecución.
3. En el navegador, expanda un Servicio de integración de datos.
4. En el navegador, expanda una aplicación y seleccione Objetos de datos lógicos o Servicios de datos SQL.
5. En el panel de contenido, realice uno de los siguientes pasos:
- - Seleccione un objeto de datos lógicos.
- - Seleccione un servicio de datos SQL, haga clic en la vista Tablas virtuales y, a continuación, seleccione una fila de tabla.
Los detalles sobre el objeto seleccionado se muestran en el panel de detalle.
6. En el panel de detalle, seleccione la vista Actualizaciones de memoria caché.
La columna Nombre de almacenamiento muestra el nombre de la tabla de la memoria caché predeterminada que ha creado el Administrador de memoria caché de objetos de datos.
Por ejemplo, en la siguiente imagen se muestra una tabla de la memoria caché denominada CACHE5841939198782829781:
Paso 2. Cree la tabla de memoria caché administrada por el usuario
Pídale al administrador de la base de datos que cree una tabla en la base de datos de memoria caché de objetos de datos utilizando la misma estructura de tabla que la tabla de la memoria caché predeterminada.
Utilice un cliente de base de datos para buscar la tabla de la memoria caché predeterminada en la base de datos de memoria caché de objetos de datos. Utilice la DDL de SQL de la tabla de la memoria caché predeterminada para crear la tabla de memoria caché administrada por el usuario con un nombre diferente. El nombre de la tabla de memoria caché administrada por el usuario no puede tener el prefijo CACHE. El prefijo CACHE está reservado para los nombres de las tablas de memoria caché que están administradas por el Administrador de memoria caché de objetos de datos.
Después de crear la tabla de memoria caché administrada por el usuario, rellénela copiando los datos de la memoria caché iniciales de la tabla de la memoria caché predeterminada.
Paso 3. Configure el objeto para utilizar la tabla de memoria caché administrada por el usuario
Para configurar un objeto de datos lógicos o una tabla virtual para utilizar una tabla de memoria caché administrada por el usuario, detenga la aplicación que contiene el objeto, edite las propiedades del objeto, y reinicie la aplicación.
1. En la Herramienta del administrador, seleccione el Servicio de integración de datos.
2. Haga clic en la vista Aplicaciones.
3. Seleccione la aplicación que contiene el objeto de datos lógicos o la tabla virtual para el que desee utilizar una tabla de memoria caché administrada por el usuario.
4. Detenga la aplicación.
5. Expanda la aplicación y seleccione el objeto de datos lógicos o la tabla virtual.
6. En el área Propiedades del objeto de datos lógicos o Propiedades de la tabla virtual, haga clic en Editar.
Aparecerá el cuadro de diálogo Editar propiedades.
7. Introduzca el nombre de la tabla de memoria caché administrada por el usuario que ha creado en la base de datos de memoria caché de objetos de datos.
Cuando introduce un nombre de tabla de memoria caché, el Administrador de memoria caché de objetos de datos no genera la memoria caché para el objeto y omite el periodo de actualización de la memoria caché.
En la siguiente figura se muestra un objeto de datos lógicos configurado para utilizar una tabla de memoria caché administrada por el usuario:
8. Haga clic en Aceptar.
9. Reinicie la aplicación.