Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Aporte] Final de Gestion de Datos 16/12/2014
Autor Mensaje
fede333lago Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 36
Agradecimientos dados: 8
Agradecimientos: 38 en 12 posts
Registro en: Dec 2013
Mensaje: #16
RE: [Aporte] Final de Gestion de Datos 16/12/2014
Buenas, hay algo que no me cerro en la resolucion. Pusieron que la respuesta al 3) a. es:
" Devolvia a=c=n y b=n+1 siendo n la cantidad de registros."
Pero la transaccion 2 al ser serializable, establece con el select un exclusive lock sobre toda la tabla, que no se va a liberar hasta que commitee. La transaccion 1 por mas que sea read uncommited, intenta establecer un shared lock por el select solo durante la duracion del select (despues lo libera), pero el shared lock es incompatible con el exclusive lock. Por ende deberian devolver las 3 variables el mismo resultado...

Leyendo en la pagina de microsoft sobre locks, dice que el select con read uncommited si establece un shared lock y lo libera:
"Shared (S) locks allow concurrent transactions to read (SELECT) a resource under pessimistic concurrency control. For more information, see Types of Concurrency Control. No other transactions can modify the data while shared (S) locks exist on the resource. Shared (S) locks on a resource are released as soon as the read operation completes, unless the transaction isolation level is set to repeatable read or higher, or a locking hint is used to retain the shared (S) locks for the duration of the transaction."

Pero tambien dice sobre los exclusive locks que bloquean todos los select salvo en read uncommited:
"Exclusive (X) locks prevent access to a resource by concurrent transactions. With an exclusive (X) lock, no other transactions can modify data; read operations can take place only with the use of the NOLOCK hint or read uncommitted isolation level."

Entonces, alguien que la tenga clara con base de datos me puede responder cual de las 2 opciones es?
Porque si se intentara establecer un shared lock por el select, no se podria, puesto que ya tiene un exclusive lock por el insert. Entonces, como joraca pueden hacerse selects si ya hay un exclusive lock?
(Este mensaje fue modificado por última vez en: 03-04-2015 12:02 por fede333lago.)
03-04-2015 11:57
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
alee_91 Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 12
Agradecimientos dados: 3
Agradecimientos: 1 en 1 posts
Registro en: Jul 2012
Mensaje: #17
RE: [Aporte] Final de Gestion de Datos 16/12/2014
Buenas.. fede, yo por mas q ya di el final tampoco la tengo muy clara que digamos pero coincido con lo que dijeron los profesores, de hecho, en mi opinion coincide con lo que pusiste vos:

al principio aclara sobre el primer lock que se libera al toque q termina de leer:
"Shared (S) locks on a resource are released as soon as the read operation completes, unless the transaction isolation level is set to repeatable read or higher, or a locking hint is used to retain the shared (S) locks for the duration of the transaction."

asi que al momento de establecer el segundo lockeo (el exclusivo) no hay ningun problema, y una vez hecho ese exclusive lock si otra transaccion quiere editar algo o leerlo seguro debe esperar, serializarse.. SALVO que sea solo una lectura con read uncommited, que es exactamente lo que intenta hacer la primer transaccion para calcular @b:
"With an exclusive (X) lock, no other transactions can modify data; read operations can take place only with the use of the NOLOCK hint or read uncommitted isolation level."

igual repito, no lo digo por conocimiento sinó por deducción.
04-04-2015 02:04
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] alee_91 recibio 1 Gracias por este post
holautn (29-02-2016)
speedy10 Sin conexión
Campeon del cubo Rubik
En camino...
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 174
Agradecimientos dados: 73
Agradecimientos: 19 en 17 posts
Registro en: Jun 2008
Mensaje: #18
RE: [Aporte] Final de Gestion de Datos 16/12/2014
Retomo este tema, a ver si alguno me puede aclarar esto.
El 3a) no quedaría a=b=c? Tengo entendido que serializable, bloquea por insert y por select, por lo tanto en el tiempo 4 inserta y bloquea la tabla, cuando pasa al tiempo 5, T1 no puede hacer el select porque esta bloqueado por T2. En el tiempo 6 se hace el rollback, se libera la tabla, y b queda con el mismo valor que a. C queda con el mismo valor que a y b.

Si serializable no bloquea por insert, entonces si queda como lei mas arriba. a=c=n y b=n+1
03-10-2016 08:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
feder Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 58
Agradecimientos dados: 2
Agradecimientos: 26 en 16 posts
Registro en: Apr 2011
Mensaje: #19
RE: [Aporte] Final de Gestion de Datos 16/12/2014
Yo pensé lo mismo, pero justamente la primera transacción es read uncomitted, o sea que lee valores no comitteados (por eso tiene el problema de lecturas sucias)

Así que a=c y b=c+1
19-02-2017 20:31
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.748
Agradecimientos dados: 1.504
Agradecimientos: 1.592 en 542 posts
Registro en: Sep 2010
Mensaje: #20
RE: [Aporte] Final de Gestion de Datos 16/12/2014
Una demostración analítica que realice para concluir lo de huffman.

Del apunte de reinosa obtenemos que un arbol N-ario, con n nodos internos(todo lo que no es hoja) donde la cantidad de nodos externos(hojas) que tiene es: (N-1)*n +1

Como Huffman se basa en un arbol binario, sabemos que N=2 => Externos = (2-1)*n +1 = n + 1 => Externos = n + 1 (2)

La cantidad de nodos totales es: Cantidad de nodos externos + cantidad de nodos internos

Si de (2) despejo n, n = externos - 1

La cantidad de nodos totales es = Externos + n = Externos + Externos - 1 = 2*Externos - 1

Externos son las hojas, que en el caso de huffman siempre son las letras. Y ya queda demostrado que eso es cierto
Y tambien sirve para el otro VOF que anda dando vuelta, que ahora no estoy encontrando y que dice:

"en el arbol de huffman la cantidad total de nodos es la siguiente: (total de hojas*2 )-1"

love
(Este mensaje fue modificado por última vez en: 16-02-2018 20:38 por CarooLina.)
16-02-2018 20:27
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
lucianovperez Sin conexión
Empleado del buffet
;) ;) ;) ;) ;)
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 15
Agradecimientos dados: 34
Agradecimientos: 77 en 1 posts
Registro en: Jun 2014
Mensaje: #21
RE: [Aporte] Final de Gestion de Datos 16/12/2014
Tengo entendido que Serializable bloquea toda la tabla para hacer inserts,updates y deletes por otra transacción pero permite que otra se realice un select. Por lo que quedaría A=C y B=A+1.
Si no es así por favor avisenme jaj
02-10-2018 17:49
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.