Está en la página 1de 20

CONCURRENCIA EN BASE DE DATOS

Nombre Integrantes : Carol Mena Meza Dante Barrios Magnolfi Francisco Acua Villalobos

Nombre Profesor

: Hctor c!ulz Prez

NDICE
INTRODUCCIN........................................................................................................... 4 DEFINICIN DE CONCURRENCIA................................................................................. 5 TRANSACCIONES........................................................................................................ 6 PROPIEDADES FUNDAMENTALES DE UNA TRANSACCIN ..........................................7 PROBLEMAS DE CONCURRENCIA................................................................................ 9 CONTROL DE CONCURRENCIA EN BASES DE DATOS................................................12 BLOQUEOS................................................................................................................ 13 Bloq !o Mo"#$l...................................................................................................... 14 SERIABILIDAD........................................................................................................... 17 OPININ PERSONAL.................................................................................................. 1% CONCLUSIN............................................................................................................ 19 FUENTES DE INFORMACIN...................................................................................... 2&

INTRODUCCIN
Concurrencia se refiere al !ec!o "e #ue los istemas A"ministra"ores "e Base "e Datos $ermiten #ue muc!as transacciones acce"an a una misma Base "e Datos a la %ez& Cuan"o e'isten %arios usuarios intentan"o mo"ificar los "atos al mismo tiem$o( se necesita establecer algun ti$o "e control $ara #ue "ic!as mo"ificaciones "e un usuario no interfieran en las "e los otros( a este sistema se le "enomina control "e concurrencia& )n este informe $o"remos %er algunos "e los $roblemas #ue se $resentan cuan"o la concurrencia no se controla * algunos "e los mecanismos "e blo#ueo #ue nos $ermiten mane+ar la concurrencia en las transacciones& De esta manera( los sistemas "e control "e concurrencia "eben garantizar la consistencia "e transacciones #ue se e+ecutan "e manera concurrente&

DEFINICIN DE CONCURRENCIA
)n el cam$o informatico( el termino concurrencia se refiere a la ca$aci"a" "e los istemas "e A"ministraci,n "e Base "e Datos( "e $ermitir #ue m-lti$les $rocesos sean e+ecuta"os al mismo tiem$o( * #ue tambien $ue"an interactuar entre s.& /os $rocesos concurrentes $ue"en ser e+ecuta"os realmente "e forma simult0nea( s,lo cuan"o ca"a uno es e+ecuta"o en "iferentes $rocesa"ores& )n cambio( la concurrencia es simula"a si s,lo e'iste un $rocesa"or encarga"o "e e+ecutar to"os los $rocesos( simulan"o la concurrencia( ocu$0n"ose "e forma alterna"a "e uno * otro $roceso a mu* $e#ueos inter%alos "e tiem$o& De esta manera simula #ue se est0n e+ecutan"o a la %ez& Algunos casos "e concurrencia( $ue"en ser:

/a multi$rogramaci,n( *a #ue el tiem$o "el $rocesa"or es com$arti"o "in0micamente $or %arios $rocesos& /as a$licaciones estructura"as( "on"e la $rogramaci,n estructura"a se im$lementa como un con+unto "e $rocesos concurrentes& 1ambin se tiene #ue la misma estructura recin menciona"a es utiliza"a en el "iseo "e los sistemas o$erati%os( los cuales se im$lementan como un con+unto "e $rocesos&

Debi"o a #ue los $rocesos concurrentes en un sistema $ue"en interactuar entre otros tambin en e+ecuci,n( el n-mero "e caminos "e e+ecuci,n $ue"e ser e'trema"amente gran"e( resultan"o en un com$ortamiento sumamente com$le+o& /as "ificulta"es asocia"as a la concurrencia !an si"o $ensa"as $ara el "esarrollo "e lengua+es "e $rogramaci,n * conce$tos #ue $ermitan !acer la concurrencia m0s mane+able&

TRANSACCIONES
/os sistemas #ue tratan el $roblema "e control "e concurrencia $ermiten #ue sus usuarios asuman #ue ca"a una "e sus a$licaciones se e+ecuta at,micamente( como si no e'istieran otras a$licaciones e+ecut0n"ose concurrentemente& )sta abstracci,n "e una e+ecuci,n at,mica * confiable "e una a$licaci,n se conoce como una transacci,n& 2n algoritmo "e control "e concurrencia asegura #ue las transacciones se e+ecuten at,micamente controlan"o la intercalaci,n "e transacciones concurrentes( $ara "ar la ilusi,n "e #ue las transacciones se e+ecutan serialmente( una "es$us "e la otra( sin ninguna intercalaci,n& /as e+ecuciones intercala"as cu*os efectos son los mismos #ue las e+ecuciones seriales son "enomina"as serializables * son correctos *a #ue so$ortan la ilusi,n "e la atomici"a" "e las transacciones& )l conce$to $rinci$al es el "e transacci,n& Informalmente( una transacci,n es la e+ecuci,n "e ciertas instrucciones #ue acce"en a una base "e "atos com$arti"a& )l ob+eti%o "el control "e concurrencia * recu$eraci,n es asegurar #ue "ic!as transacciones se e+ecuten at,micamente( es "ecir: Ca"a transacci,n acce"e a informaci,n com$arti"a sin interferir con otras transacciones( * si una transacci,n termina normalmente( to"os sus efectos son $ermanentes( en caso contrario no tiene afecto alguno& 2na base "e "atos est0 en un esta"o consistente si obe"ece to"as las restricciones "e integri"a" 3significa #ue cuan"o un registro en una tabla !aga referencia a un registro en otra tabla( el registro corres$on"ientes "ebe e'istir4 "efini"as sobre ella& /os cambios "e esta"o ocurren "ebi"o a actualizaciones( inserciones * su$resiones "e informaci,n& Por su$uesto( se #uiere asegurar #ue la base "e "atos nunca entre en un esta"o "e inconsistencia& in embargo( "urante la e+ecuci,n "e una transacci,n( la base "e "atos $ue"e estar tem$oralmente en un esta"o inconsistente& )l $unto im$ortante a#u. es asegurar #ue la base "e "atos regresa a un esta"o consistente al fin "e la e+ecuci,n "e una transacci,n&

PROPIEDADES FUNDAMENTALES DE UNA TRANSACCIN

Atomici"a": e refiere al !ec!o "e #ue una transacci,n se trata como una uni"a" "e o$eraci,n& Por lo tanto( o to"as las acciones "e la transacci,n se realizan o ninguna "e ellas se lle%a a cabo& /a atomici"a" re#uiere #ue si una transacci,n se interrum$e $or una falla( sus resulta"os $arciales sean anula"os& Consistencia: /a consistencia "e una transacci,n es sim$lemente su correctitu"& )n otras $alabras( una transacci,n es un $rograma correcto #ue lle%a a la base "e "atos "e un esta"o consistente a otro con la misma caracter.stica& Debi"o a esto( las transacciones no %iolan las restricciones "e integri"a" "e una base "e "atos& Aislamiento: 2na transacci,n en e+ecuci,n no $ue"e re%elar sus resulta"os a otras transacciones concurrentes antes "e finalizar& M0s a-n( si %arias transacciones se e+ecutan concurrentemente( los resulta"os "eben ser los mismos #ue si ellas se !ubieran e+ecuta"o "e manera secuencial& Permanencia: )s la $ro$ie"a" "e las transacciones #ue asegura #ue una %ez #ue una transacci,n finaliza e'itosamente( sus resulta"os son $ermanentes * no $ue"en ser borra"os "e la base "e "atos $or alguna falla $osterior& Por lo tanto( los sistemas a"ministra"ores "e base "e "atos aseguran #ue los resulta"os "e una transacci,n sobre%i%ir0n a fallas "el sistema& )sta $ro$ie"a" moti%a el as$ecto "e recu$eraci,n "e base "e "atos( el cual trata sobre c,mo recu$erar la base "e "atos a un esta"o consistente "on"e to"as las acciones #ue !an finaliza"o con 'ito #ue"en refle+a"as en la base& /a ma*or.a "e me"ianas * gran"es com$a.as mo"ernas utilizan el $rocesamiento "e transacciones $ara sus sistemas "e $ro"ucci,n( * es tan im$rescin"ible #ue las organizaciones no $ue"en funcionar en ausencia "e l& )n esencia( lo #ue se $ersigue con el $rocesamiento "e transacciones es( $or una $arte obtener una trans$arencia a"ecua"a "e las acciones concurrentes a una base "e "atos * $or otra( mane+ar a"ecua"amente las fallas #ue se $ue"an $resentar en una base "e "atos& )l $rocesamiento "e transacciones re$resenta una enorme * significati%a $orci,n "el merca"o "e los sistemas inform0ticos 3m0s "e cincuenta billones "e ",lares al ao4 * es( $robablemente( la a$licaci,n sim$le m0s am$lia "e los com$uta"ores& A"em0s( se !a con%erti"o en el elemento #ue facilita el comercio electr,nico& Como $ue"e $ercibirse( el $rocesamiento "e transacciones es una "e las tareas m0s im$ortantes "entro "e un sistema "e base "e "atos( $ero a la %ez( es una "e las m0s "if.ciles "e mane+ar "ebi"o a "i%ersos as$ectos( tales como: o Confiabili"a": Puesto #ue los sistemas "e base "e "atos en l.nea no $ue"en fallar&
7

o Dis$onibili"a" Debi"o a #ue los sistemas "e base "e "atos en l.nea "eben estar actualiza"os correctamente to"o el tiem$o& o 1iem$os "e 5es$uesta )n sistemas "e este ti$o( el tiem$o "e res$uesta "e las transacciones no "ebe ser ma*or a "oce segun"os& o 1!roug!$ut: /os sistemas "e base "e "atos en l.nea re#uieren $rocesar miles "e transacciones $or segun"o& o Atomici"a" en el $rocesamiento "e transacciones: No se ace$tan resulta"os $arciales&

PROBLEMAS DE CONCURRENCIA
)'isten tres formas en las #ue una transacci,n( aun#ue sea correcta $or s. misma( $ue"e $ro"ucir una res$uesta incorrecta si alguna otra transacci,n interfiere con ella en alguna forma& Consi"eremos #ue la transacci,n #ue interfiere tambin $ue"e ser correcta6 lo #ue $ro"uce el resulta"o incorrecto general es el intercala"o sin control entre las o$eraciones "e las "os transacciones correctas& /os tres $roblemas son:
)l $roblema "e la Actualizaci,n Per"i"a )l $roblema "e la De$en"encia No Confirma"a )l $roblema "el An0lisis Inconsistente Veamos algunos e+em$los $ara enten"er c,mo es #ue los $rogramas $ue"en interferir con otros& 1omaremos como e+em$lo las transacciones "e las cuentas "e un banco( su$ongamos #ue tenemos un $rograma llama"o De$ositar( el cual "e$osita "inero en una cuenta& Procedure De$ositar3Cuenta( Monto4 begin tart6 tem$ :7 /eer3Cuentas8Cuenta946 tem$ :7 tem$ + Monto6 )scribir3Cuentas8Cuenta9(tem$46 Commit6 end u$ongamos #ue la cuenta 7 tiene un sal"o "e !""" * #ue el cliente ! "e$osita :!"" en la cuenta 7 en el mismo instante en el #ue el cliente # "e$osita !""""" en la cuenta 7& Ca"a uno "e los clientes llama al $roce"imiento De$ositar "e tal manera #ue se crea una transacci,n $ara realizar su actualizaci,n& /a e+ecuci,n concurrente "e stos "e$,sitos $ro"uce una secuencia "e lecturas * escrituras en la base "e "atos( tales como /eer;3Cuentas8<94 devuelve el valor de $1000 /eer=3Cuentas8<94 devuelve el valor de $1000 )scribir=3Cuentas8<9( !"!"""$ Commit= )scribir;3Cuentas8<9( !!""4 Commit; )l resulta"o "e esta e+ecuci,n es #ue la Cuenta8<9 contiene !!""& A $esar #ue el "e$,sito "el cliente # conclu*, satisfactoriamente( la interferencia con la e+ecuci,n "e De$,sito "el cliente ! caus, #ue el "e$,sito "el cliente # se $ier"a& )ste fen,nemo "e actualizacin perdida ocurre cuan"o "os transacciones( mientras intentan mo"ificar un "ato( ambas leen el %alor antiguo "el elemento antes #ue ninguna !a*a mo"ifica"o su %alor& >tro $roblema "el control "e concurrencia se ilustra con el siguiente $rograma( llama"o Im$rimir uma( el cual im$rime la suma "e los sal"os "e "os cuentas& Procedure Im$rimir uma3Cuenta;( Cuenta=4 begin

tart6 tem$; :7 /eer3Cuentas8Cuenta;946 out$ut3tem$;46 tem$= :7 /eer3Cuentas8Cuenta=946 out$ut3tem$=46 tem$; :7 tem$; :?: tem$=6 out$ut3tem$;46 Commit6 end u$ongamos #ue las cuentas % * & tiene un sal"o "e #"" ca"a una( * #ue el cliente ' im$rime los sal"os "e las cuentas % * & 3utilizan"o Im$rimir uma4 en el mismo instante en el #ue el cliente ( transfiere !"" "e la cuenta % a la cuenta & 3utilizan"o 1ransferir4& /a e+ecuci,n concurrente "e estas "os transacciones $ue"e originar la siguiente e+ecuci,n "e o$eraciones "e la base "e "atos& /eer@3Cuentas8A94 devuelve el valor de $200 )scribir@3Cuentas8A9( !""4 /eerB 3Cuentas8A94 devuelve el valor de $100 /eerB 3Cuentas8C94 devuelve el valor de $200 /eer@ 3Cuentas8C94 devuelve el valor de $200 )scribir@ 3Cuentas8C9( '""4 Commit@ CommitB )l $roce"imiento 1ransferir interfiere con Im$rimir uma en esta e+ecuci,n( causan"o #ue Im$rimir uma im$rima el %alor "e '""( la cual no es la suma correcta "e los sal"os "e las cuentas % * && )l $roce"imiento Im$rimir uma no ca$tur, los !"" en tr0nsito "e la cuenta % a la cuenta && )s im$ortante recalcar #ue( a $esar "e la interferencia( 1ransferir to"a%.ia asigna los %alores correctos en la base "e "atos& )ste ti$o "e interferencia se "enomina anlisis inconsistente #ue ocurre cuan"o una transacci,n lee un "ato antes #ue otra transacci,n lo actualice * lea otro "ato "es$us #ue la misma transacci,n lo !a actualiza"o& )s "ecir( la e'tracci,n 3lectura4 "e los "atos s,lo $ercibe algunos "e los resulta"os "e la transacci,n "e actualizaci,n& Para conseguir el ob+eti%o "el control "e concurrencia se utiliza un sincroniza"or& 2n sincroniza"or es un $rograma 3o una colecci,n "e ellos4 #ue controla la e+ecuci,n concurrente "e las transacciones6 su funci,n ra"ica en or"enar las o$eraciones #ue forman $arte "e las transacciones #ue se re#uieren e+ecutar concurrentemente( "e tal manera #ue la e+ecuci,n resultante sea correcta& 2san"o tres o$eraciones b0sicas 3e+ecuci,n( rec!azo * retraso "e una o$eraci,n4 el sincroniza"or $ue"e controlar el or"en en el cual las o$eraciones son e+ecuta"as $or el A"ministra"or "e Datos&& Cuan"o ste recibe una o$eraci,n "e la transacci,n 3me"iante el 1M4( usualmente trata "e $asarla al DM inme"iatamente( si no $ro"uce alguna e+ecuci,n incorrecta& i el sincroniza"or "eci"e #ue la e+ecuci,n "e la o$eraci,n $ue"e $ro"ucir resulta"os incorrectos( $ue"e o retrasarla 3en caso "e #ue $ue"a $rocesar correctamente la o$eraci,n m0s a"elante4 o rec!azarla 3si no es $osible $rocesarla en el futuro "e tal manera #ue $ro"uzca resulta"os correctos4& Por e+em$lo( retomemos la e+ecuci,n concurrente "e "os transacciones De$ositar( #ue "e$ositan !"" * !"")""" en la cuenta 7 /eer; 3Cuentas8<94 devuelve el valor de $1000 /eer= 3Cuentas8<94 devuelve el valor de $1000 )scribir= 3Cuentas8<9( !"!"""4 Commit= )scribir;3Cuentas8<9( !!""4 Commit;

1&

Para e%itar esta e+ecuci,n incorrecta( un sincroniza"or "ebe "eci"ir rec!azar )scribir; $ro%ocan"o #ue la transacci,n 1; sea cancela"a& )n este caso( el usuario o el A"ministra"or "e 1ransacciones $ue"e reen%iar 1; ( la cual a!ora se $ue"e e+ecutar sin interferir con 1=& Como otra alternati%a( el sincroniza"or $ue"e $re%enir la e+ecuci,n anterior retrasan"o /eer= !asta #ue reciba * $rocese )scribir; * "e esta forma e%itan"o #ue se rec!ace )scribir; m0s a"elante& Por lo tanto( un DBM como la siguiente : #ue controla la e+ecuci,n concurrente "e sus transacciones tiene una estructura

11

CONTROL DE CONCURRENCIA EN BASES DE DATOS


)n los e+em$los anteriores( los errores fueron causa"os $or la e+ecuci,n intercala"a "e o$eraciones "e transacciones "iferentes& /os e+em$los no muestran to"as las $osibles formas en las #ue la e+ecuci,n "e "os transacciones $ue"en interferir( $ero s. ilustran "os "e los $roblemas #ue surgen con frecuencia "ebi"o a la intercalaci,n& Para e%itar estos $roblemas( se "eben controlar las intercalaciones entre transacciones&

)l control "e transacciones concurrentes en una base "e "atos brin"a un eficiente "esem$eo "el istema "e A"ministraci,n "e Base "e Datos( $uesto #ue $ermite controlar la e+ecuci,n "e transacciones #ue o$eran en $aralelo( acce"ien"o a informaci,n com$arti"a *( $or lo tanto( interfirien"o $otencialmente unas con otras& )l ob+eti%o "e los mto"os "e control "e concurrencia es garantizar la no inferencia o la $ro$ie"a" "e aislamiento "e transacciones #ue se e+ecutan "e manera concurrente& /os "istintos ob+eti%os atacan el $roblema garantizan"o #ue las transacciones se e+ecuten en un $lan #ue sea serializable( es "ecir( #ue el resulta"o sea e#ui%alente a el resultante "e e+ecutar un $lan en serie& )l criterio "e clasificaci,n m0s com-n "e los algoritmos "e control "e concurrencia es el ti$o "e $rimiti%a "e sincronizaci,n& )sto resulta en "os clases: a#uellos algoritmos #ue est0n basa"os en acceso mutuamente e'clusi%o a "atos com$arti"os 3blo#ueos4 * a#uellos #ue intentar or"enar la e+ecuci,n "e las transacciones "e acuer"o a un con+unto "e reglas 3$rotocolos4& in embargo( esas $rimiti%as se $ue"en usar en algoritmos con "os $untos "e %ista "iferentes: el $unto "e %ista $esimista #ue consi"era #ue muc!as transacciones tienen conflictos con otras( o el $unto "e %ista o$timista #ue su$one #ue no se $resentan muc!os conflictos entre transacciones& /os algoritmos $esimistas sincronizan la e+ecuci,n concurrente "e las transacciones en su eta$a inicial "e su ciclo "e e+ecuci,n& /os algoritmos o$timistas retrasan la sincronizaci,n "e las transacciones !asta su terminaci,n& Ambos gru$os "e mto"os( $esimistas * o$timistas( consisten "e algoritmos basa"os en blo#ueos * algoritmos basa"os en marcas "e tiem$o( entre otros& /os $rotocolos basa"os en blo#ueos son los m0s utiliza"os $or los DBM comerciales& /os "em0s tienen un alcance m0s te,rico #ue $r0ctico&

12

BLO*UEOS
2n blo#ueo en general es cuan"o una acci,n #ue "ebe ser realiza"a est0 es$eran"o a un e%ento& Para mane+ar los blo#ueos !a* "istintos acercamientos: $re%enci,n( "etecci,n( * recu$eraci,n& 1ambin es necesario consi"erar factores como #ue !a* sistemas en los #ue $ermitir un blo#ueo es inace$table * catastr,fico( * sistemas en los #ue la "etecci,n "el blo#ueo es "emasia"o costosa&

)n el caso es$ec.fico "e las bases "e "atos "istribui"as usar blo#ueo "e recursos( $eticiones $ara $robar( establecer o liberar blo#ueos re#uiere mensa+es entre los mane+a"ores "e transacciones * el calen"ariza"or& Para esto e'isten "os formas b0sicas: D Aut,noma: ca"a no"o es res$onsable $or sus $ro$ios blo#ueos "e recursos& E 2na transacci,n sobre un elemento con n re$licas re#uiere Fn mensa+es E Petici,n "el recurso E A$robaci,n "e la $etici,n E Mensa+e "e la transacci,n E 5econocimientos "e transacci,n e'itosa E Peticiones "e liberaci,n "e recursos D Co$ia Primaria: un no"o $rimario es res$onsable $ara to"os los blo#ueos "e recursos E 2na transacci,n sobre un elemento con n co$ias re#uiere n mensa+es E 2na $etici,n "el recurso E 2na a$robaci,n "e la $etici,n E n mensa+es "e la transacci,n E n reconocimientos "e transacci,n e'itosa E 2na $etici,n "e liberaci,n "e recurso Po"emos "efinir #ue "os o$eraciones entran en conflicto #ue "ebe ser resuelto si ambas acce"en a la misma "ata( * una "e ellas es "e escritura * si fueron realiza"as $or transacciones "istintas&

13

Bloqueo Mortal
)n sistemas o$erati%os( el blo#ueo mutuo 3tambin conoci"o como interblo#ueo( traba mortal( "ea"locG( abrazo mortal4 es el blo#ueo $ermanente "e un con+unto "e $rocesos o !ilos "e e+ecuci,n en un sistema concurrente #ue com$iten $or recursos "el sistema o bien se comunican entre ellos& A "iferencia "e otros $roblemas "e concurrencia "e $rocesos( no e'iste una soluci,n general $ara los interblo#ueos& 1o"os los interblo#ueos surgen "e necesi"a"es #ue no $ue"en ser satisfec!as( $or $arte "e "os o m0s $rocesos& )n la %i"a real( un e+em$lo $ue"e ser el "e "os nios #ue intentan +ugar al arco * flec!a( uno toma el arco( el otro la flec!a& Ninguno $ue"e +ugar !asta #ue alguno libere lo #ue tom,& )n el siguiente e+em$lo( "os $rocesos com$iten $or "os recursos #ue necesitan $ara funcionar( #ue s,lo $ue"en ser utiliza"os $or un $roceso a la %ez& )l $rimer $roceso obtiene el $ermiso "e utilizar uno "e los recursos 3a"#uiere el locG sobre ese recurso4& )l segun"o $roceso toma el locG "el otro recurso( * luego intenta utilizar el recurso *a utiliza"o $or el $rimer $roceso( $or lo tanto #ue"a en es$era& Cuan"o el $rimer $roceso a su %ez intenta utilizar el otro recurso( se $ro"uce un interblo#ueo( "on"e los "os $rocesos es$eran la liberaci,n "el recurso #ue utiliza el otro $roceso&

So+ucione,
)l control "e concurrencia * "etecci,n * mane+o "e blo#ueos es un 0rea "e muc!o estu"io en las bases "e "atos "istribui"as( a $esar "e esto no !a* ning-n algoritmo ace$ta"o $ara solucionar el $roblema& )sto se "ebe a %arios factores "e los cuales se consi"eran a los siguientes tres los m0s "eterminantes: /a "ata $ue"e estar "u$lica"a en un BDD( $or tanto( el mane+a"or "e la BDD es res$onsable "e localizar * actualizar la "ata "u$lica"a& i un no"o falla o la comunicaci,n con un no"o falla mientras se realiza una actualizaci,n( el mane+a"or "ebe asegurarse "e #ue los efectos se refle+en una %ez el no"o se recu$ere "el fallo& /a sincronizaci,n "e transacciones en sitios o no"os m-lti$les es "if.cil *a #ue los no"os no $ue"en obtener informaci,n inme"iata "e las acciones realiza"as en otros no"os concurrentemente& Para el control "e blo#ueos mutuos no se !a "esarrolla"o ninguna soluci,n %iable * la forma m0s sim$le * #ue la ma*or.a "e $ro"uctos utilizan es la im$lementaci,n "e un tiem$o m0'imo "e es$era en las $eticiones "e blo#ueos& Causa "e estas "ificulta"es m0s "e =H algoritmos "e control "e concurrencia se !an $ro$uesto en el $asa"o( * aun as. siguen a$arecien"o nue%os& 2na re%isi,n bibliogr0fica muestra #ue la ma*or.a "e los algoritmos son %ariantes "el =P/ 3=I$!ase

14

locGing o blo#ueo "e "os fases4 o el algoritmo "e timeIstam$& A continuaci,n se e'$lican estos "os algoritmos b0sicos& - B+o.ueo de do, /0,e, 1#PL$ )l algoritmo =P/ utiliza blo#ueos "e lectura * escritura $ara $re%enir conflictos entre o$eraciones& Consiste en los siguientes $asos $ara una transacci,n 1: >btiene blo#ueo "e lectura $ara un elemento / 3blo#ueo com$arti"o4 >btiene blo#ueo "e escritura $ara un elemento ) 3blo#ueo e'clusi%o4 /ee el elemento / )scribe en el elemento ) /ibera el blo#ueo "e / /ibera el blo#ueo "e ) /as reglas b0sicas $ara mane+ar los blo#ueos son: transacciones "istintas no $ue"en tener acceso simult0neamente a un elemento 3lecturaIescritura o escrituraIescritura4( * una %ez se libere un blo#ueo no se $ue"e $e"ir otro( es "ecir( los blo#ueos "e la transacci,n crecer0n mientras no libere ninguno * luego "e liberar alguno solo $ue"e liberar los "em0s& )+em$los "el algoritmo =P/ son /a b0sica en la #ue se sigue el es#uema $re%iamente e'$lica"o con la %ariante #ue el blo#ueo "e escritura se $i"e $ara to"as las co$ias "el elemento& =P/ "e co$ia $rimaria: en %ez "e $e"ir blo#ueo $ara ca"a co$ia "el elemento "e escritura se le $i"e a una co$ia $rimaria o $rinci$al& =P/ "e %oto: se $i"e a to"os los no"os #ue %oten $ara %er si se conce"e el blo#ueo& =P/ centraliza"o: el mane+a"or "e blo#ueos est0 centraliza"o * to"as las $eticiones "e blo#ueo las mane+a el& Antes "e im$lementar un algoritmo "e control "e concurrencia =P/ es necesario consi"erar "istintos factores como cual es la uni"a" at,mica m0s $e#uea #ue el sistema $ermite blo#uear( cual es el inter%alo "e sincronizaci,n $ara to"as las co$ias "e un elemento( "on"e se "eben colocar las tablas con la informaci,n "e los blo#ueos * $or -ltimo #ue tan $robable es #ue ocurra $or los factores anteriores un blo#ueo mutuo&

- Ti2e-,3024
Ca"a transacci,n realiza"a se le asigna un timestam$ 3literalmente: sello "e tiem$o4 -nico en el no"o #ue se origin,& )ste sello se a"+unta a ca"a $etici,n "e lectura * escritura& )n el caso "e #ue se " un conflicto "e #ue "os o$eraciones "e escritura traten "e acce"er al mismo elemento( este se resuel%e serializan"olo res$ecto a los sellos #ue tengan& A $esar "e #ue e'isten %arios algoritmos "e control "e concurrencia basa"os en timestam$s( mu* $ocos son utiliza"os en a$licaciones comerciales& )sto es en gran $arte $or#ue se re#uiere #ue el sistema "istribui"o cuente con un relo+ sincroniza"o #ue es raro #ue se tenga im$lementa"o&
15

16

SERIABILIDAD
2na forma "e e%itar los $roblemas "e interferencia es no $ermitir #ue las transacciones se intercalen& 2na e+ecuci,n en la cual ninguna "e "os transacci,n se intercala se conoce como serial& Para ser m0s $recisos( una e+ecuci,n se "ice #ue es serial si( $ara to"o $ar "e transacciones( to"as las o$eraciones "e una transacci,n se e+ecutan antes "e cual#uier o$eraci,n "e la otra transacci,n& Des"e el $unto "e %ista "el usuario( en una e+ecuci,n serial se %e como si las transacciones fueran o$eraciones #ue el DB $rocesa at,micamente& /as transacciones seriales son correctas "a"o #ue ca"a transacci,n es correcta in"i%i"ualmente( * las transacciones #ue se e+ecutan serialmente no $ue"en interferir con otra& i el DB $rocesara transacciones serialmente( significar.a #ue no $o"r.a e+ecutar transacciones concurrentemente( si enten"emos concurrencia como e+ecuciones intercala"as& in "ic!a concurrencia( el sistema usar.a sus recursos en un ni%el relati%amente $obre * $o"r.a ser sumamente ineficiente& 2na soluci,n $ue"e ser am$liar el rango "e e+ecuciones $ermisibles $ara incluir a#uellas #ue tienen los mismos efectos #ue las seriales& Dic!as e+ecuciones se conocen como serializables& )ntonces( una e+ecuci,n es serializable si $ro"uce el mismo resulta"o * tiene el mismo efecto sobre la base "e "atos #ue alguna e+ecuci,n serial "e las mismas transacciones& Puesto #ue las transacciones seriales son correctas( * "a"o #ue ca"a e+ecuci,n serializable tiene el mismo efecto #ue una e+ecuci,n serial( las e+ecuciones serializables tambin son correctas& /as e+ecuciones #ue ilustran la actualizaci,n $er"i"a * el an0lisis inconsistente no son serializables& Por e+em$lo( e+ecutan"o las "os transacciones "e De$ositar serialmente( en cual#uier or"en( "a un resulta"o "iferente al "e la e+ecuci,n intercala"a #ue $ier"e una actualizaci,n( $or lo tanto( la e+ecuci,n intercala"a no es serializable& imilarmente( la e+ecuci,n intercala"a "e 1ransferir e Im$rimir uma tiene un efecto "iferente a los "e ca"a e+ecuci,n serial "e las "os transacciones( * $or ello no es serializable&

17

OPININ PERSONAL
J)l tema "e la concurrencia en las bases "e "atos en mi o$inion( $o%oco #ue $u"iera "arme cuenta "e la im$ortancia en los gran"es sitemas utiliza"os !o* en ".a( "es"e las transacciones "e un banco( !asta los sistemas "e almacenamiento en la nube( *a #ue $osiblemente seria bastante com$le+o lle%ar a acabo estos sistemas sin los controles "e concurrencia e'istentes& i bien( el $rinci$al control en la concurrencia se "ebe a$licar en los DBM ( es necesario tambien com$ren"er #ue el "esarrollo se "ebe traba+ar "e manera #ue sea ca$az "e "etectar * $rocesar los semaforos #ue el control "e concurrencia en%ia al usuario&K

Fr0nci,co A5 Acu60 7i++0+obo,


')l tema trata"o nos muestra #ue sin un o$timo control "e la concurrencia las bases(

$o"emos "isear un sistema mu* bueno( $ero $ue"e no ser $ro"ucti%o $or sus tiem$os "e res$uesta o "e+ar las bases "e "atos sin su consistencia necesaria( a"em0s "el riesgo "e entregar una informaci,n "e mala cali"a"& Da"o lo anterior el o$timo $ara el mane+o "e las bases "e "atos "ebemos tener un e'celente "iseo en el mane+o "e las transacciones * sus accesos a la base "e "atos utilizan"o las !erramientas "el DBM Enri.ue B0rrio, M0gno+/i JMe $arecio un tema mu* interesante( %er como el DBM mane+a $roblemas #ue el usuario no %e& )ste traba+o me $ermiti, interiorizarme en el funcionamiento "e acceso a los "atos los $roblemas #ue se $ro"ucen * #ue $o"rian $oner en +a#ue a cul#uier sistema #ue no tenga el control a"ecua"o& /as soluciones #ue se $lantean como funciona el sistema "e blo#ueo * como las soluciones a su %ez se $ue"en transformar en un $roblema como es el caso "e los blo#ueos mortales& J)s una informaci,n mu* %aliosa #ue to"o ingeniero "ebiese conocer&K C0ro+ Men0

1%

CONCLUSIN
)l control "e concurrencias en las bases "e "atos no solo $ermite me+orar la cali"a" "e funcionamiento "e "e las a$licaciones si no #ue incluso !acen $osible #ue se $ue"an realizar muc!os "e los sistemas e'istentes( lo #ue sin la e'istencia "e estos controles no serian factibles "e realizar& )l correcto control "e concurrencias $ermite a"em0s mantener informaci,n consistente en las bases "e "atos( as. como tambin e%ita la a$arici,n "e errores en las recu$eraciones * o res$al"os #ue se realicen "e una base "e "atos& )n este informe $u"imos %er los $roblemas #ue se $resentan cuan"o la concurrencia no se controla * algunos "e los mecanismos "e blo#ueo #ue nos $ermiten mane+ar la concurrencia en las transacciones& De esta manera( los sistemas "e control "e concurrencia "eben garantizar la consistencia "e la informaci,n en la Base "e Datos&

19

FUENTES DE INFORMACIN
!tt$:LLMMM&informatizate&net !tt$:LLMMM&informatizate&netLarticulosLcontrolN"eNconcurrenciaN"eNtransaccionesNenNunNsiste maN"eNbaseN"eN"atosN$arteNH=N=;HO=HH@&!tml !tt$:LLMMM&lsi&us&esL"ocenciaLget&$!$Pi"7@FFC !tt$:LLes&MiGi$e"ia&orgLMiGiLBasesN"eN"atosN"istribui"as

2&

También podría gustarte