Intento de acceso: Niveles de aislamiento y bloqueos de actualización

Las políticas de intento de acceso de WebSphere Application Server proporcionan un modo coherente de definir el nivel de aislamiento de los datos de bean CMP en las distintas bases de datos relacionales del entorno.

Dentro de una aplicación desplegada, la combinación de una definición de simultaneidad y el tipo de acceso de una política de intento de acceso significa el valor del nivel de aislamiento que el servidor de aplicaciones establece en una conexión de base de datos. Para obtener más información acerca de la simultaneidad y el tipo de acceso, consulte los artículos Control de simultaneidad e Intento de acceso y aislamiento. Esta combinación de propiedades también significa el distintivo de bloqueo de actualización que el servidor de aplicaciones pasa a la base de datos a través de la sentencia preparada JDBC.

Las bases de datos no proporcionan tantas definiciones de niveles de aislamiento como WebSphere Application Server. Las bases de datos definen un nivel de aislamiento como uno de sólo tres tipos. Asimismo, sólo un parámetro indica el tipo de nivel de aislamiento que las bases de datos establecen en las conexiones de entrada. Cada uno de los tipos puede representarse mediante un valor de parámetro distinto, según lo determine cada proveedor de bases de datos. Por ejemplo, una base de datos puede definir un nivel de aislamiento como RR (Lectura repetible de JDBC), mientras que una base de datos distinta puede definir el mismo nivel de aislamiento que RC (Lectura comprometida de JDBC).

Debido a esta incoherencia, WebSphere Application Server no correlaciona las políticas de intento de acceso con los valores de parámetros. En su lugar, el servidor de aplicaciones correlaciona las políticas de intento de acceso con los tipos de nivel de aislamiento que son comunes en todos los proveedores de bases de datos.

Tabla 1. Relación de las políticas de intento de acceso con los niveles de aislamiento de la base de datos y valores de bloqueo de actualización. La matriz siguiente muestra cómo las políticas de intento de acceso se corresponden con distintos niveles de aislamiento y valores de bloqueo de actualización.
Perfil de intento de acceso Nivel de aislamiento Implementación del bloqueo de actualización
  DB2 Oracle* SyBase Informix Apache Derby SQL Server  
wsPessimisticUpdate- Weakest LockAtLoad (política predeterminada) RR RC RR RR RR RR No (*Oracle, Sí)
wsPessimisticUpdate RR RC RR RR RR RR
wsPessimisticRead RR RC RR RR RR RR No
wsOptimisticUpdate RC RC RC RC RC RC No
wsOptimisticRead RC RC RC RC RC RC No
wsPessimisticUpdate sin colisiones RC RC RC RC RC RC No
wsPessimisticUpdate- Exclusivo S S S S S S

  • RC = Lectura comprometida de JDBC
  • RR = Lectura repetible de JDBC
  • RS = Serializable de JDBC
  • * Oracle no da soporte a la Lectura repetible (RR) de JDBC. Por lo tanto, wsPessimisticUpdate-weakestLockAtLoad y wsPessimisticUpdate se comportan de la misma forma en Oracle que wsPessismisticRead y wsOptimisticRead. Debido a la restricción de Oracle, la clase de JDBC OracleXADataSource no se puede ejecutar con un nivel de aislamiento de transacción S. Por lo tanto, no podrá utilizar esta clase para ejecutar una aplicación que contenga enterprise beans con las políticas de intento de acceso configuradas para que el bean se cargue con el aislamiento S.
  • En la versión 6.0, se pone en desuso el soporte del establecimiento de políticas de intento de acceso por método EJB. Se recomienda establecer el intento de acceso sólo para el bean completo.
Novedades de MS SQL Server 2005: MS SQL Server 2005 ofrece una nueva opción para el nivel de aislamiento Comprometido para lectura y una nueva opción para el nivel de aislamiento Serializable:
  • Comprometido para lectura con instantáneas
  • Instantánea de transacción (para Serializable)
Ambas opciones utilizan el bloqueo optimista. Para utilizar Comprometido para lectura con instantáneas el lugar de Comprometido para lectura, habilite el valor READ_COMMITTED_SNAPSHOT para la base de datos según la documentación de MS SQL Server 2005. Para utilizar Instantánea de transacción en lugar de Serializable, configure la propiedad de origen de datos personalizada snapshotSerializable en "true" y habilite el valor ALLOW_SNAPSHOT_ISOLATION para la base de datos según la documentación de MS SQL Server 2005.

Palabras clave y restricciones de SQL (Lenguaje de consulta estructurada)

Tabla 2. Palabras clave y restricciones de SQL. En la tabla siguiente se muestran qué palabras clave se utilizan durante el bloqueo de intentos de actualización así como las restricciones impuestas en SQL.
Base de datos sintaxis SQL utilizada para bloquear la actualización unir restricciones ordenar por restricciones subseleccionar restricciones restricciones de agregación
DB2 FOR UPDATE OF no permitido no permitido no permitido no permitido
DB2 UDB para iSeries (V5R3 y anteriores) FOR UPDATE OF no permitido permitido con limitaciones* permitido con limitaciones* no permitido
DB2 UDB para iSeries (V5R4 y posteriores) WITH RS/RR USE AND KEEP EXCLUSIVE LOCKS no permitido permitido con limitaciones* permitido con limitaciones* no permitido
DB2 en z/OS V8.x WITH RS/RR USE AND KEEP UPDATE LOCKS ninguno ninguno ninguno ninguno
Estación de trabajo DB2 UDB V8.2 WITH RS/RR USE AND KEEP UPDATE LOCKS ninguno ninguno ninguno ninguno
Oracle FOR UPDATE ninguno ninguno ninguno ninguno
Apache Derby FOR UPDATE OF no permitido no permitido no permitido no permitido
Informix FOR UPDATE no permitido no permitido no permitido no permitido
Sybase FOR UPDATE no permitido no permitido no permitido no permitido
Sqlserver UPDLOCK no permitido no permitido no permitido no permitido
Nota: Para obtener detalles sobre las limitaciones de estas restricciones de SQL permitidas, consulte la referencia SQL de DB2 Universal Database para iSeries. Puede encontrar este documento en iSeries Information Center, Version 5 Release 4. En el área de navegación Contenido, pulse Base de datos > Referencia > Referencia SQL.

Icon that indicates the type of topic Reference topic



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