Cambio a un esquema de varias filas

La configuración del esquema de varias filas soporta el almacenamiento de una cantidad ilimitada de datos que sólo se enlazan por las capacidades de la base de datos en una aplicación. La aplicación puede leer campos individuales en lugar de todo el registro, que puede ayudarle a mejorar el rendimiento evitando la serialización innecesaria de objetos Java™. Configure el recurso de gestión de sesiones para almacenar cada atributo de un objeto de sesión en su propia fila de la base de datos mediante la configuración del esquema de varias filas.

Acerca de esta tarea

El único límite práctico que se conserva es el tamaño del objeto de atributo de la sesión. El esquema de varias filas tiene beneficios potenciales en algunos escenarios de uso, como cuando se almacenan grandes cantidades de datos en la sesión pero sólo se accede específicamente a pequeñas cantidades durante el proceso de una petición HTTP por parte de un servlet determinado. En un escenario así, evitar la serialización innecesaria de objetos Java es beneficioso para el rendimiento.

Además de permitir registros de sesiones más grandes, la utilización de un esquema de varias filas puede proporcionar ventajas en el rendimiento. Sin embargo, es preciso efectuar determinados pasos para conmutar del esquema de una sola fila al de varias filas, tal como se indica en la tabla siguiente.

De forma predeterminada, una sola sesión se correlaciona con una sola fila en la tabla de base de datos utilizada para mantener sesiones. En esta configuración, existen límites establecidos para la cantidad de datos específicos de la aplicación y definidos por el usuario a los que WebSphere Application Server puede acceder.

Tal vez desee establecer la configuración para usar una sola fila en una base de datos y varias filas en otra base de datos, mientras verifica qué opción se adapta a las necesidades de la aplicación. Esta acción se realiza en el código cambiando el origen de datos utilizado; a continuación, debe supervisarse el rendimiento.

Tabla 1. Selección de una configuración del esquema de una sola fila o varias filas. Configuración de esquema de una sola fila o de varias filas
Cuestiones de programación Caso de aplicación
Motivos para usar una sola fila
  • Puede leer todos los valores con solo una lectura y grabación de registros.
  • Esto ocupa menos espacio en una base de datos, porque se le garantiza que cada sesión sólo ocupa un registro.
Motivos para no utilizar una sola fila Límite de 2 megabytes de datos almacenados por sesión.
Motivos para utilizar varias filas
  • La aplicación puede almacenar una cantidad ilimitada de datos; es decir, sólo le limita el tamaño de la base de datos y el límite de 2 megabytes por registro.
  • La aplicación puede leer campos individuales en vez de todo el registro. Cuando se almacenan grandes cantidades de datos en la sesión pero sólo se accede específicamente a pequeñas cantidades durante el proceso de una solicitud HTTP por parte de un servlet, las sesiones de varias filas pueden aumentar el rendimiento evitando la innecesaria serialización del objeto Java.
Motivos para no utilizar varias filas Si los datos son de tamaño pequeño, probablemente no querrá la actividad adicional de tener que leer varias filas cuando puede almacenar todo en una sola fila.

En el caso de la utilización de varias filas, diseñe los objetos de datos de la aplicación para que no tengan referencias mutuas y de este modo se eviten las referencias circulares. Por ejemplo, suponga que almacena dos objetos, A y B, en la sesión utilizando el método HttpSession.put(..). A contiene una referencia a B. En el caso de varias filas, puesto que los objetos se almacenan en filas diferentes de la base de datos, cuando posteriormente se recuperen los objetos A y B, el gráfico de objeto entre A y B será diferente que el que se almacenó. A y B se comportan como objetos diferentes.

Procedimiento

  1. Modifique las propiedades del recurso Gestión de sesiones para cambiar de un solo esquema a un esquema de varias filas.
  2. Elimine la tabla manualmente.

    [AIX Solaris HP-UX Linux Windows][IBM i]Para eliminar la tabla:

    1. Determine la configuración de origen de datos que el Gestor de sesiones está utilizando.
    2. En la configuración de origen de datos, busque el nombre de la base de datos.
    3. Use los recursos de la base de datos para conectar con la base de datos.
    4. Elimine la tabla SESSIONS.
  3. [z/OS]Vuelva a crear la tabla de base de datos o suprima todas las filas de la tabla de base de datos que el producto utiliza para mantener objetos HttpSession.

    Consulte la publicación DB2 UDB para OS/390 y z/OS V7 Administration Guide para obtener una descripción de cómo borrar una tabla de base de datos deDB2.

    Creación de una tabla DB2 para la persistencia de sesiones se describe cómo crear una nueva tabla de base de datos DB2.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tprs_swsk
File name: tprs_swsk.html