Você está na página 1de 20

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

mas N no satisfar ao p protocolo de bloque em dua fases, para eio as qualquer adi de bloq o queios / lib beraes. Logo as c condies impostas pelo proto ocolo no so n o necessrias para serializao (na se s s eo seguinte mostraremos q so su que uficientes). Uma im mplementa ao centr ralizada de este protocolo ser discutida mais adiante, deixa ando para a Seo 8.4 a apresenta a o a o de im mplementa aes distr ribudas. A Antes, por m, convm provar a correo do protoc m o colo.

8.3.4 C Correo do Proto o ocolo de Bloqueio em Duas Fases o s


Mostra aremos nesta seo que toda execuo concorren seguin o nte ndo o bloqueio em d duas fases serializvel, se to odas as tr ransaes terminam Ou m. seja, o problem de term ma minao suposto resolvido p outros m r por mtodos. Record que o b de banco ce entralizado e que o ponto de bloqueio de uma trans sao o ponto do escalonam mento em que se d a primeira ao L(x da a x) trans sao. Sej E uma e ja execuo c concorrent de um c te conjunto T de transa aes mod delada por um esc r calonamento L. Sup ponha que todas as transa aes term minem em E e que ela sigam o protocolo de bloque em dua fases. as o eio as Defina uma relao em T tal que Ti a Tj se e somente se o po e onto de blo oqueio de Ti preced o pont de e de to bloqueio de Tj. Provarem que (1) uma re mos elao de o ordem total em T. to, m s es, De fat como E induz uma ordem total das aes da transa as em particular, induz um ordem total para o conjun das a ma a nto es L(X) que prim meiro foram executad pelas transaes. Esta lt m das tima, por s vez, ge a sua era rela sobre T. o dere agora a rela de precedncia por conflit <, sob T a o to, bre Consid induzida por L. Mostraremos agora que (2) se Ti < Tj ento Ti Tj a e Supon nha que Ti < Tj. Ent existem aes Oi(X) e Oi(X de Ti e T j, o m (X) resp pectivamen nte, tais que Oi(X) e Oj(Y) conflitam e Oi(X) p c precede Oj(Y). Logo existe u objeto X o, um Y. Pel condi 1 do p la o protocolo de bloquei em dua fases, uma d io as ao Bi(x) de Ti ter que preceder Oi(X) e, da mesma forma, u o e a uma ao Bj(x) de Tj ter que precede Oi(X). Pelo proto er ocolo de bloqueio / liberao de o objetos, uma a ao Li(Z) de Ti tal q x que

Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a26

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

Z ter que suce eder Oi(X) e precede Bj(x). Por defini o pont de er o, to bloqueio de Ti ter que preceder o coincid com Li(Z Mas, p ou dir Z). pela condi 2 o do p protocolo d bloqueio em dua fases, o ponto de bloqueio de Tj ter que de as e suce eder Bj(x). Logo, por transitividade, o ponto de b p bloqueio de Ti prece e ede o pont de bloqu to ueio de Tj e L. Assim, Ti Tj . em Finalm mente, com por (1), uma rela mo, ao de or rdem total, temos que < e uma relao de ordem parcial. Logo pelo Teorema 1 da S a m o Seo 8.2.4, a exec cuo E serializve como se queria de el, e emonstrar.

8.3.5 U Uma Implementa Centr o ralizada d Protoc do colo de Bloq queio em Duas Fa m ases
Esta s seo apre esenta um implementao d protocolo de bloq ma do queio em duas fa ases que com e mpletamen nte transp parente a aos usu rios. Assu umiremos que o m modelo de processamento de transae adotado no es caso centralizado um simplific o ma cao daquele desc crito na Se eo 8.1.2 Ou 2. seja, as modif ficaes a serem ef fetuadas nos objetos so man n s ntidas em uma rea de traba a alho at q que a tran nsao co omplete o processa amento. Neste N pont a trans to sao pod der canc celar, desc cartando-s as mo se odificaes ou s, term minar corre etamente, sendo gerado ento uma ao W(x) para ins x) stalar toda as modificaes n banco de dados de forma atmica. Neste cen as no nrio, uma implemen a ntao pos ssvel de bl loqueio em duas fase seria m es 1) as a aes de leitura R(x implicitamente ger x) ram uma a ao prvi de ia bloqueio B(x), para cada X ; a o essada nor rmalmente: 2) se a transao foi proce a) todo os obje os etos que ti iveram seu valor mo odificado p pela transao os ao final seja execu utada. so bloqueado antes que a ao de atualiza b) ap a ao W(x) ser e s executada, todos os objetos a s acessados pela sao so liberados. trans 3) se a transa ao ca ancelada, todos os objetos que mantinha bloqueados s liberado o os. Note q que nesta implemen ntao os objetos s mantidos bloqueados o a o, ja, to queio se d ao fina da d al at o final da transa ou sej o pont de bloq trans sao. Est impleme ta entao coerente com o cen c nrio previs nos lt sto timos cap tulos em q uma transao pode ser cancelada durante a execuo De que c o. fato, suponha que a libe erao de objetos cu valor fo alterado seja perm ujo oi mitida ante da trans es sao term minar. Se a transa o for can ncelada aps liberar um
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a27

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

objeto que alterou, toda as outra transa que le as as es eram aque valor te ele eriam que ser cance eladas tam mbm e as suas mod dificaes desfeitas, mesmo que j tives ssem termi inado, e as ssim recur rsivamente Ou seja, o cancela e. amento de uma trans sao poderia provocar cancelamentos em cascata de outras transae e a s es. Isto co onclui a dis scusso so obre o pro otocolo de bloqueio em duas fases f cent tralizado.

8.4 MTODOS BASEAD DOS EM BLOQUEIO - PAR B OS RTE II


Esta seo discu implem ute mentaes do protocolo de bloqueio em duas fases e algori itmos para deteo de bloqueios mtu a uos em um ambient de m te cos dos udos. As implement taes dife eriro esse encialment no te banc de dad distribu posicionament da tabe de bloq to ela queios ao longo da rede. O argumento de o corre eo desta impleme as entaes s segue dire etamente d prova d corre do da de o proto ocolo de b bloqueio e duas f em fases para o caso c a centralizad e, portanto, do ser omitido. odas as implementa aes ass sume-se q que as tr ransaes so Em to proc cessadas conforme descrito na Seo 8.1.2. E o Em particu ular, todas as s mod dificaes s armaz so zenadas em uma re de traba m ea alho at qu a transao ue exec cute um co omando FI IM-DE-TRA ANSAO quando o protocolo bifsico para O, conf firmar intenses i invocado para insta alar as mo odificaes criadas pela s trans sao, ou rejeit-las, canceland a transa , do ao.

8.4.1 I Implemen ntao B sica


Por im mplementa bsica do protoc o a colo de blo oqueio em duas fases em um a ambiente d distribudo entendere emos aque em que a tabela de bloqueios ela e distr ribuda junt com os dados. Mais precisa to amente, pa cada n onde h um ara n banc de dado local, h co os haver tam mbm uma tabela de bloqueios para con e s ntrole do a acesso ao objetos locais. E os Esta tabela implem a mentada c como no caso cent tralizado e gerenciada po uma cpia lo or ocal do protocolo de bloqueio/libera ao de objetos. De esta forma se os S a, SGBDs loc cais j usa avam uma tcnica d bloque a de eios, nada mais necessrio fazer para controle de n o conc corrncia d banco d do distribudo, exceto de eteo de b bloqueios m mtuos. Os ped didos de b bloqueio/lib berao so gerados automatic s camente de entro do seguinte es squema: 1. um bloqueio B B(x) cria imediatamente a ado antes de um leitura R(X) ma processada localmen para cada x X; a nte, ser p
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a28

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

2. um bloqueio B(x) criado imed diatamente aps um mensa e ma agem PRE EPARE_SE ser receb E bida na pr rimeira fase do proto ocolo bifs sico, para cada objeto x que re eside local lmente e c cujo valor fo modifica pela tra oi ado ansao; 3. uma liberao L(X) c a o criada ime ediatament aps um mensa te ma agem PRE EPARE_SE ser receb E bida na primeira fase do p loc calmente e cujos valores no foram modificados p pela transa ao; 4. uma libera L(X) criada aps as m o a modificae terem sido es insta aladas no banco, ca o n te aso enha recebido uma mensagem CONFIR m RME, ou a aps o n ter recebido uma m mensagem CANCELE onde X o conj E, junto dos objetos que residem localme m ente e cujos valores foram mo s odificados pela trans sao; eressante observar que a implement i tao acim no toma ma inte conh hecimento da exist ncia de c cpias. Se porventu e ura os obj jetos x1 ,..., xk repre esentam cpias d do mesmo dado em ns diferente es, caber ao proc cessador d comand de dos da LM e ao gerente de transae providenciar MD es para que toda as cpia sejam a a as as atualizadas. Para ca ada n onde reside uma cpia, o novo valor ser enviado d durante o protocolo bifsico. A Assim send a do, exist tncia de cpias to orna-se tr ransparente ao mec canismo d controle de de e conc corrncia.

8.4.2 I Implemen ntao po Cpias Primria or s as


A implementao distribud de certa forma de o da a esperdia recursos lo ocais por bloquear t todas as c cpias de u mesmo objeto l um o gico. Se r recursos lo ocais joso econo omiz- los em troca de um ma aior trfeg de go so escassos e vantaj nsagens, p pode-se op ptar pela implementao usa ando cpia primria A as as. men idia simples. Suponh a hamos que os objeto fsicos e e os estejam pa articionado de os tal fo orma que os objetos em cada partio represent a tem cpias dos mes s smos dado Para c os. cada parti o, desig gne um ob bjeto fsico como a cpia prim o mria daqu uela parti o. Antes de acessar qualq quer objet fsico e uma dada to em parti io, a cp primria correspo pia ondente de ever ser b bloqueada. . Os ped didos de b bloqueio/lib berao so gerados automatic camente de entro do seguinte es squema: 1. Antes de u uma ao Rk(X) da transa o d o Tk se processada er localmente em i, uma me m ensagem p para bloqu uear cada objeto x X enviada ao n j que mantm a cpia primria xp a corre espondent x. O n j tenta bloquear xp para Tk e, aps obter suce te esso,
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a29

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

envia uma me ensagem a n i co ao onfirmando o bloqueio. A ao Rk(X) es o o spera at q todas as cpias tenham sido bloque que s eadas. 2. um bloqueio B(x) criado imed diatamente aps um mensa e ma agem PRE EPARE_SE ser recebida na pr E rimeira fas do proto se ocolo bifs sico, para cada cpia x cujo v valor foi m modificado pela transao (co omo todas as cpias de cada objeto tem que ser igualmente alt a teradas pe ela transa ao, a cpia c prim mria xp co orresponde ente a x ser aut tomaticam mente bloq queada pa ara a trans sao, no havendo necessida de bloq o ade que-la ex xplicitamen nte); 3. uma liberao L(X) c a o criada ime ediatament aps um mensa te ma agem PRE EPARE_SE ser receb E bida na pr rimeira fas do proto se ocolo bifs sico, onde X e o co onjunto de todas a cpias primrias que resid e as dem localm mente e cujos c valores no foram modifi icados pela transa a o; 4. uma libera L(X) criada aps as m o a modificae terem sido es insta aladas no banco, ca o n te aso enha recebido uma mensagem CONFIR m RME, ou a aps o n t recebid uma me ter do ensagem CANCELE, onde X o conjunt de C to toda as cp as pias primrias que residem localmente e cujos valores fo e oram mod dificados pe transa ela o; Note q que, ao b bloquear a apenas a cpia prim mria, o p processam mento local em cada n tend a dimin de nuir pois menos bloqueios s so realiza ados. Por m, para s ler a c se cpia arma azenada em i, uma mensagem extra de e m ever ser enviada ao n j (ex xceto se i= ). Porta =j anto, esta implement tao gera um a ego na penas para controle de concorrncia. a d trfe maior n rede ap A ltim observ ma vao adq quire maio peso s a gran or se nularidade dos objetos fsicos for peque s ena. Por e exemplo, se os obje s etos fsicos so pg s ginas, para cada pg a gina a ser lida uma mensagem teria que ser enviada ao n que r m cont tm a cpia primria daquela pgina, o que ina a aceitvel. U Uma forma de reso olver este problema seria agr rupar vrio pedidos de bloq os queio para um a mesmo n em uma s mensagem. Uma segunda soluo seria ad s o dotar bloqueio hiera arquizado. Por exem mplo, segm mentos inte eiros seria bloqueados am ginas. De qualquer forma, o conceito de "cpia" d e r c e deve estar bem em lugar de p defin nido na arq quitetura do sistema.

8.4.3 I Implemen ntao po Bloque Centra or eio alizado


Em ambas as implemen ntaes anteriores, a tabela de bloqu ueios tamb bm dis stribuda a longo da rede. Esta op ao o torna a deteo de o bloqueios mt tuos mais difcil pois para se construir o grafo de espera, ser s, nece essrio co onsultar to odos os ns em que uma parte da tabela est a
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a30

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

arma azenada. S bloqueios mtuos so muito frequente e nec Se s o es cessrio de etetlos e resolv-lo rapidam os mente, uma terceira implement a tao alter rnativa torn na-se atrae ente. Na im mplementa ao por bloqueio centraliz zado, eleg ge-se um n m coor rdenador d rede pa conter toda a ta da ara r abela de b bloqueios. Para qualquer objeto que for acessado, uma men , nsagem de bloqueio d dever ser enviada ao n r a coor rdenador, que resp ponder e ento ao n que solicitou o bloqueio A o. implementao bastan semelh o nte hante do bloqueio por cpias primri o ias e ser omitida. Esta im mplementa ao oferec como va ce antagem, c conforme j mencion j nado, a fac cilidade de deteo/ e /resoluo de bloque eios mtuo pois tod a tabel de os da la bloqueios resid em um nico n. A de Assim, a construo do grafo d espera pode c de ser f feita localm mente. Por outro lado esta imp r o, plementa apresen os mes o nta smos prob blemas da implement tao base eada em cpias prim mrias, acre escidos de dois e outro os. Prime eiro, o tr rfego adicional de mensag e gens para controle de a e conc corrncia canaliza ado para o n coord denador, g gerando um sobrec ma carga localizada na rede. Se egundo, e mais grave, a i implement tao muito m vulnervel a fa alhas envo olvendo o n coorden n nador. Se a tabela de bloqueio for os perd dida ou o n coordenador por a algum motiv no pud ser con vo der ntactado, todas t as tr ransaes correntes tero que ser cance eladas e um protocolo de elei do m o o novo n coord o denador de ever ser completad antes do processa do o amento no ormal ser r reiniciado. Isto signif fica que v rias das vantagens advindas do uso de um v s e banc co de d dados dis stribudo simplesme ente perd dem o s sentido nesta n implementao o.

8.4.4 T Tratamen de Blo nto oqueios Mtuos no Caso D M Distribudo


O trat tamento d bloque de eios mtuo no ca os aso distrib budo muito m semelhante ao caso centralizado. As tcnic o . cas preventivas disc cutidas pa o ara caso centraliz o zado tam mbm se aplicam ao caso distribudo. A nica o obse ervao ad dicional se refere gerao de prioridad atrav da data/ e d des s /hora em que a tra ansao fo submetida. Como h vrio ns, du oi o os uas transa aes pode ero receb a mesm priorida em ns diferente dentro d ber ma ade s es deste esquema. Uma soluo c a consagrada consiste em adota o par (n,d) como a prioridad da e ar de trans sao, ond n o nmero do n onde ela foi sub de bmetida (a assume-se que e dois ns no tm o me esmo nme ero) e d a data/ho em qu a transao ora ue foi s submetida. Uma tran nsao qu recebeu o par (n ue u n,d) ter prioridade maior m que uma trans sao que recebeu o par (n',d') se e somente se n < n' ou n = n' e ) d<d d'.
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a31

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

J a d deteo/re esoluo d bloqueios mtuos quando se opta pela de s, o implementao bsica ou pela im o mplementa ao atrav vs de cp pias prim rias, mere ece comen ntrios esp peciais. O problema bsico est em qu cada ta a ue abela local de blo oqueios g gera apen nas um subgrafo do grafo de esp o pera. Natu uralmente cada um d destes sub bgrafos po oder ser a acclico se que o grafo em g completo o sej Em out ja. tros termos no possvel faz dete de bloqu s, zer o ueios mtu uos apena localme as ente. O re esto desta seo d a discute du uas formas de s implementar deteo de bloqueios mtuos neste caso. s n Seja N um con njunto de ns. Chamaremos de subgra de es rafo spera local a N ao subgraf do gra l o fo afo de es spera indu uzido pela tabelas de as s bloqueios res sidentes em ns pertencen ntes a N Ao grafo completo N. maremos de grafo de espe era global Similarm l. mente, ch hamaremos de s cham bloq queio mtu local a N a um bloqueio mtuo g uo m o gerado por um ciclo no o subg grafo de e espera loca a N. Ch al hamaremo de bloq os queio mtu global a um uo bloqueio mtuo gerado p um cic do grafo de esper global. por clo o ra A implementa mais simples con o nsistiria em periodic m, camente, cada n i que contm uma tabela de bloqueios construir o subgrafo de es e s spera local a i e en nvi-lo par um n central de ra esignado. O n cen ntral construiria ent o grafo de espe global, detetando e resolv o o era vendo bloqueios m tuos como no caso centralizado. O mto anterio na verdade induz uma rvore de altur 2, cuja raiz odo or ra r o n central e cujas folh so os outros ns. Uma s has s n segunda im mplementa ao, que chamarem de algo mos oritmo hier rrquico, generaliza esta obser g rvao. Su upese in nicialmente que os n da red estejam logicamen organiz e ns de nte zados em uma rvo (para p ore propsitos do algori itmo apenas). Por e exemplo, o ns de um os e mesmo munic cpio so todos filh hos de um mesmo n mun m o nicipal, os ns mun nicipais em um mesmo estado so por sua vez filhos de um mesmo n m o estadual e ass por di sim iante. Peri iodicament (e sincr te ronamente cada fo e), olha f cons stri o sub bgrafo de e espera loc a f, baseando-se na tabela de bloqu cal e a ueios local, e tenta d detetar e re esolver blo oqueios m tuos locais a f; em s seguida en nvia o subg grafo para o seu pai Um n interior n, ao recebe os subgrafos dos seus i. er filhos e aps c s, construir o seu prprio subgraf local, fa a unio de todos estes fo az e subg grafos e tenta detetar bloqueios mtuos locais a N, onde N o conjunto dos s o ns da subrvore cuja ra n; em seguida, envia o su aiz m ubgrafo co onsolidado para seu pai e assim por diante at a raiz. m

8.5 MTODOS BASEAD DOS EM PR-ORDENAO P O

Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a32

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

Esta s seo disc cute contro de con ole ncorrncia por pr-o ordenao para banc de dad distribu cos dos udos. Inic cialmente o protocolo genrico apresen o ntado e em seguida v m vrias implementa discutid es das.

8.5.1 P Protocolo de Pr-O o Ordena o


Como o nome in ndica, neste protoco uma or olo rdem imp posta "a priori" p s transaes e dev ser res s, ve speitada pela exec cuo concorrente das saes. M Mais precisamente, o protoc colo de p pr-ordenao opera da a trans segu uinte forma a: 1. Cad transa da o ao ser iniciada recebe um senha ou nmer de r ma ro proto ocolo, nic ao longo da rede, de forma transparen aos usu ca o t nte urios. 2. Em cada n h um me ecanismo de contro de concorrncia local ole que garante q que as a es conf flitantes (v veja Seo 8.2.4) geradas pelas o p trans saes so processadas em o ordem de senha. rreo deste protoc colo im mediata. S Seja E u uma exec cuo A cor conc corrente de um conjunto T de transae Suponh que E tenha seg e es. ha guido o p protocolo d pr-or de rdenao. Seja :f/lt a rela t/ o de pr recedncia por a conf flito sobre T induzida por E. C Como as aes con a nflitantes s execut so tadas em E na ordem de senha, temos q se Ti < Tj ento a senha de Ti meno do m que e or que a senha d Tj. Logo < nec de o, cessariame ente uma r relao de ordem pa e arcial sobr o conjun das tra re nto ansaes (pois as senhas imp s pe uma o ordem tota s al trans saes), o que impli que E serializ ica vel. O prot tocolo de pr-orden nao age ento de forma c e completam mente difer rente do p protocolo d bloqueio em duas fases po no prim de s ois, meiro, a or rdem de s serializao das trans o saes i imposta "a priori", en a nquanto qu no segundo ue im mposta "a posteriori". Esta observao est clara no que concerne ao o e proto ocolo de p pr-ordena ao. Para compreen nd-la mel lhor no cas de bloq so queio em d duas fases recordem que a prova de correo d s, mos c deste indica-nos que toda exec cuo con ncorrente E seguind o bloq do queio em duas fas ses sem mpre seria alizvel e q que a exe ecuo ser S equiv rial valente a E obtida processa a andose a transa em or as es rdem dos seus pont de bloq tos queio (em E). Assim na m, exec cuo conc corrente E os usurios do sis E, stema tem a iluso d que tud se de do pass como se as tr sa ransaes fossem executada seqencialmente na as e orde em que atingiram os seu pontos de bloque em us eio. Porm esta or m, rdem no imposta "a prior depend a ri", dendo da prpria din p nmica das transa e s es da i intercala mais o menos fortuita das aes elementares sobre os o ou d s banc locais. cos
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a33

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

inte eressante f fazer tamb bm uma analogia e a entre o pro otocolo de prorde enao e uma disc ciplina s vezes us sada em estabelec cimentos (bem ( orga anizados) e que o c em cliente, ao chegar, apanha uma senha e aguarda a vez para ser atend a dido. Se h houver ape enas um empregado e o cliente for aten e o ndido sem interrup a situa o, ao se tor equiva rna alente a pe ermitir apen execues nas seria O caso interessante acontece quan ais. ndo vrios empregad atende a dos em vrio pedidos de vrio clientes ao mesm tempo. A disciplina de senhas os s os mo (isto , o p prprio pro otocolo d pr-ord de denao) deve ne ecessariam mente monizar to odo o trab balho de t forma que o clie tal ente com senha i tenha harm sempre a iluso de que foi atend e dido antes do cliente com sen j, se i< (e, s e nha <j porta anto, no r reclame do aparente caos reina o e ante). As pr rximas s subsees desta seo discutiro im s mplementa aes alter rnativas do protocolo de pr-ordenao em um am o o e mbiente dist tribudo.

8.5.2 I Implemen ntao B sica


Na imp plementa bsica, o protocolo opera ex o xatamente como des e scrito na seo anterior. A implementao do prime passo do protoc o eiro colo exige que a ger rao de s senhas ao longo da rede seja tal que duas tran o a nsaes n no receba o am mesmo nme ero de sen nha. Para tal, conf a forme disc cutido na Seo 8.4.4., pode eremos us como senha o p (n,d) onde n o nmero do n on sar par o nde a trans sao se o originou e d a data/ /hora em que a trans q sao foi su ubmetida. A implementa do segundo pass bem mais difc pois re o so equer cil cons struir um m mecanismo de contr o role de co oncorrncia local qu garanta que a ue as a aes con nflitantes so proce essadas em ordem de senh A seguinte e ha. estra atgia pod deria ser us sada neste caso. Pa cada o e ara objeto fsic x do sist co tema so mantidas d duas variveis: R_sen nha(x) senha da ltima operao R(X) que acessou o objeto a W_sen nha(x) senha da ltima operao W(X) que acessou o objeto O me ecanismo de con ntrole de concorr ncia que controla e entre elaament das ae elementares em um dado n seria o s to es u seguinte: 1) se a operao uma lei o itura R(X) com nme de senh s ento: c ero ha
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a34

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

a) faa w igual ao maior W a W_senha(x) para os objetos x X. b) se w w<s, ento processe a leitura e faa R_se o enha(x) = s para cad x s, da X. c) caso contrrio rejeite a leitura e re o o, einicie a tra ansao. 2) se a opera uma atualiza W(X) c o o com nmero de sen nha s ent a) faa r igual ao maior valo de R_sen o: or nha(x) par os objeto x ra os X. b) fa w igua ao maior valor de W_senha(x para os objetos x aa al r W x) X. c) se m max(r,w)<s ento pro s, ocesse a atualizao e faa W a o, W_senha(x) = s, ) para cada x a caso contr rio, rejeite a atualiza e ao e rein nicie a transao. X. d) c As tran nsaes re einiciadas recebem um nmero de senha maior do que u o a o ante es. Esta i implement tao corr retamente processa aes c conflitantes em s orde de senh De fato seja E u em ha. o, uma execu uo segui indo esta i implement tao e modelada p um escalonamen global L. Sejam Oi e Oj aes em um por nto m m esca alonamento local de L com se o enhas si e sj. Supon nha que O precede Oj e Oi que Oi conflita com Oj. Seja x um objeto ac a m cessado p Oi e Oj (x existe pois por j onflitam). S Suponha que Oi um leitura ( ma (logo Oj tem que ser uma estas aes co atua alizao). C Como Oi p precede Oj temos como resultado dos t j, testes que si < e R_se enha(x) < sj. Logo, O e Oj for Oi ram proces ssadas em ordem de senha, como m c se queria demonstrar. O caso em q Oi uma atualizao an que logo. H tr problem s mas ainda com esta impleme a entao: armazenam mento ha, onamento c com o pro otocolo bif sico das variveis R_senha e W_senh relacio para confirmar intenses e proble a r s, emas de terminao. Para o primeiro destes problemas duas s o s, solues s so suger ridas. Supo onhamos, inicialmen nte, que os objetos fsicos se ejam pgin nas. A prim meira soluo consiste em a armazenar as variveis R_s r senha(x) e W_senh ha(x) diret tamente na pgina x Esta solu a x. uo fora o protoco a ler ca pgina x a olo ada a X ape enas para obter o v valor de R_senha(x) e W_sen R ) nha(x), me esmo que a ao R( ou W(X venha a ser rejeit (X) X) tada. Se a percenta agem de aes a
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a35

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

rejeitadas for baixa, este custo ad e dicional ser pequen no cmputo total, pois no os a acessos pgina so de qualque forma necessrios ao prprio s as er proc cessamento das ae o es. Uma s segunda so oluo par o primeiro problem seria m ra ma manter em uma tabe parte um cert nmero de valores das v ela e to o variveis R_senha( (x) e W_s senha(x) e "esquec cer" os va alores ma antigos. Desta fo ais orma, mem mria adicional seria economizada e os valores das variv a s d veis estaria dispon am nveis sem acessar as prp prias pginas. Nat turalmente que n pos o ssvel simp plesmente esquecer valores d senha, o que for de ra a usar um esqu r uema mais elaborado s o. Mais precisame ente, a so oluo pr roposta ba aseia-se nas segu uintes estru uturas de d dados: R_tabe ela contm pares (x m x,R_senha a(x)) para os objeto x mais recentem os mente usad W_tabela dos contm pares (x m x,W_senha a(x)) para os objeto x mais recentem os mente usad R_max dos x maior v valor de R R_senha(x) que foi ex xpurgado d R_tabela de W_ma ax maior v valor de W W_senha(x) que foi ex ) xpurgado d W_tabe de ela As tab belas so gerenciada da seg as guinte form Quand um obje x ma. do eto lid um par (x,s) adicionado a R_tabela, onde s a senh da a de do, r ha o leitura. Se j houver um pa (x,s') em R_tab r ar bela inicia almente, s' simp plesmente substitud por s. Se R_tab do bela estive cheia, u par (y er um y,t) selecionado d acordo com algu de uma poltic como, por exemplo, selecionar ca sempre o par que foi ref ferenciado pela ltim vez h mais tem o ma mpo. O par (y,t) r ex xpurgado d tabela, dando luga a (x,s). da ar No ent tanto, o pa (y,t) no pode ser abandonad sem qu ar a do ualquer cuidado adicional, pois a senha t de y necessria para o proto s a a ocolo de prorde enao. P Para conto ornar este problema, a vari vel R_max man ntida. Assim, ao expu urgar (y,t), faz-se R_ _max := ma ax(R_max, . ,t) A impl lementao do proto ocolo modificada d seguint forma. Para da te se o obter o va alor de R_ _senha(x), pesquisa- a R_ta -se abela primeiro. Se existir e um par (x,r) e R_tabe em ela, r to omado com o valo de R_s mo or senha(x). Caso C
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a36

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

cont trrio, tom ma-se R_m max como o valor de R_sen d nha(x). Not que o valor te verd dadeiro de R_senha( neste s (x) segundo ca men ou igua a R_ma O aso nor al ax. trata amento de W_senha( seme (x) elhante. Assim sendo, o testes aplicados na imple os s ementao corretam o mente gara antiro que aes c e conflitantes so pro s ocessadas em orde em de se enha. Por m, algum mas aes sero rej jeitadas de esnecessa ariamente pois R_m max e W_m so u max uma estima ativa conservativa de R_senha e W_sen nha. A soluo suge erida aqui representa ento um balano entre gas a m star menos memria para s arma azenar R_ _senha e W W_senha ou reiniciar transaes com mais freqnc u s cia. Passemos agor para o s ra segundo problema, o relacionamento co o p om proto ocolo bifs sico. Sabem mos que durante a primei ira fase do proto ocolo bif sico, men nsagens de PREPARE_SE s enviadas para c e o cada n p participante do e proc cessamento da trans o sao. Des forma o protocolo bifsico determina se a sta o trans sao dev ser ace ve eita ou can ncelada. Se aceita, mensagen CONFI S ns IRME so enviadas em segu uida para que os ns atualiz n zem o banco de dados atrav de a de atu vs es ualizao W W(X), que necessari riamente te er&aoi. que ser e exec cutadas. P Portanto, a deciso de aceitar ou rejeitar W(X) (implicando em r o votar SIM o ou NO) dever ser tom mada quando a m mensagem de m EPARE_SE chegar e no quan W(X) for efetiva E ndo amente pro ocessada. Para PRE tal, o mecanis smo de controle de c concorrnc local d cia deve ser m modificado para fazer os teste necess es rios ac ceitao de W(X) q d quando a mensagem de m EPARE_SE (que dev E ver vir co o nm om mero de se enha e o c conjunto X) for X PRE rece ebida, e no ao proce essar W(X) ). disto, uma vez que u n votou SIM ac um ceitando a transao ele o, Alm d ter que gara antir que W W(X) ser necessar riamente e executada. Isto sign nifica a R(Y) ou W W(Z) que invalide a decis tomada ao o a que nenhuma ao R proc cessar PRE EPARE_S poder ser execu SE utada entre receber PREPARE e E_SE e p processar W(X). E Esta regr ra pode ser impl lementada mudand a do-se W_s senha(x) pa ara , para todo x X, qua ando PREP PARE_SE for aceito, e atualiza ando-se W_ W_senha(x) para o valor correto depois de processa W(X), pa todo x o e ar ara X. Com W_senh m ha(x) = , para todo x
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a37

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

X, toda as ae que con as es nflitam com W(X) ser rejeitad m ro das. Uma outra o form de imple ma ementar a regra seria combinar blo a oqueios co as senh de tal forma a evitar om has e que aes com nmero de senh maior do que a senha de W(X) e que o ha d e conf flitem com W(X) se m ejam proce essadas in ndevidamente entre PREPARE E_SE e W W(X). Tais aes fica ariam bloq queadas at que W( fosse e t W(X) executada em a, lugar de serem rejeitada como n soluo anterior. Na verdade, estas duas m as na o solues pode ero ser combinadas usando mudana de senha para bloq s quear ae es. Finalm mente necessrio examinar o proble r ema de te erminao. No cont texto desta impleme a entao um transa ma o Ti pod der no t terminar se for reini iciada cicl licamente. De fato, neste protocolo, erros de sincroniz p zao ocor rrem quando uma a ao chego "atrasa ou ada", por a assim dize com relao er, a ou utra ao c com que c conflita. A nica form de corr ma rigir um er reinic rro ciar a trans sao Ti c com uma senha ma aior do qu a anterior (se a transao for ue o repe etida com a mesma s senha fatalmente ser reiniciad novamente). r da A solu uo para este prob blema con nsiste em reiniciar a transa Ti o com uma nov senha t que sej garantid va tal ja damente m maior do que a senh de ha qualquer outra transao processada conco a orrentemen com Ti. Desta fo nte orma, toda as ae de Ti pa as es assaro pe elos testes do protoc colo o que significa que e Ti ir necessar riamente terminar. N entanto, como no simple impor que a No o es q senh de Ti possua esta prop ha priedade em um a e ambiente distribudo o, prefe ervel apen increm nas mentar a se enha de Ti. suficientemente pa aumen ara ntar a sua chance de terminar Dentro d mtodo de gerar senhas p r. do o r proposto nesta n se o, isto s significa ad diantar o relgio lo ocal do n onde a transao foi subm metida. tica de aum mento de s senha aind tem um outro fator determinante. da r A polt Existe a possi ibilidade do processamento de vrias tr e ransaes sincroniza ar-se de tal forma a causar o reincio mtuo de todas ela Ou seja, cria-se uma as. ncia de transaes Ti 0 ,Ti 1 ,..., Ti m-1 ,Ti 0 tal qu Ti j for o reinci de ue a io seq Ti j+1 (soma m mdulo m). Se o au . umento da senha fo o mesm para todas a or mo t 1 estas transa es, corre-se o risco de se repetir a s r situao in ndefinidamente. e a ra-partida d bloqueio mtuo qu de o uando a fo orma de co orrigir Note que esta a contr erros de sincr s ronizao basead no rein da ncio de t transaes No entanto, s. exist uma for te rma simple de min es nimizar a chance de uma situa c ao de rei incio mtu se form uo mar: basta randomizar o incremento d a dado s s senhas quando reiniciar transaes. Este esq quema si imples na aturalment te no evita completamente o problem de rein e ma ncio cclico mas o to o, orna pouco provvel. o
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a38

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

8.5.3 I Implemen ntao Co onservativa


Uma s segunda fo orma de i implement o proto tar ocolo de p pr-ordena ao, dest feita be simples seria pro ta em s, ocessar as aes lo ocalmente em ordem de m senh quer e ha, elas conflit tem ou n mas de tal form que u o, d ma uma trans sao nunc seja r ca rejeitada. Como n h necessidade de detet conflito o o tar os, cont trole de co oncorrnci pode s feito a nvel lg ia ser gico ou fs sico com igual simp plicidade. P esta ra Por azo esta ser a nica implem mentao d descrita a nvel lgic ou seja a nvel dos subco co, a, omandos atuando s sobre os o objetos lg gicos, emb bora possa ser conv a vertida par atuar a nvel fsico, ou sej a nvel das ra ja, l ae element es tares como todas as outras. o Nesta implemen ntao, em cada n i onde o banco armazena m ado e para cada ge a erente de transae g que envia su es ubcomando para i so os man ntidas duas filas: s R_fila( fila con (g) ntendo os subcomandos que apenas l em do banco local enviados por gvpar o n i; ra W_fila(g)vfila contendo os subcomandos que modificam o banco local m enviados por g para o n i; Exige-se que um gerente d transa m de es g env os subc vie comandos para as filas R_fila(g) e W_fila a(g) em or rdem de se enha. Loca almente, o mecanism de mo cont trole de concorrncia procederi da seguinte forma: a ia 1. espe at que todas as filas conte ere e s enham algum coman ndo; 2. es scolha completamente e. o subcoma ando com m menor senha e sse-o proces

A pro ova de cor rreo des implem sta mentao muito s simples. Como C toda as ae so pro as es ocessadas em ordem de senh em particular as que m ha, s conf flitam o so Logo, ca o. amos no c caso geral do mtodo de pr-o ordenao. Fazend uma b do breve com mparao com a im mplementa ao bsic a ca, implementao conser o rvativa mais simples e, ao contrrio da implementao bsica, nunca fo o ora trans saes a serem re einiciadas. Por outro lado, im o mplicitamen bloque transa nte eia es pois sempre g garante que a esco olha de um comando se deu n ordem correta, quer ele ge conflito ou m o na ere os no (da o nom de impl me lementao conserva ativa). O pro oblema le evantado na impl lementao anterio acerca do or a cionamento com o protocolo bifsico para confirmar inten o p nses tam mbm relac ocor rre nesta implementao, sen ndo resolv vido de fo orma sem melhante. Alm A
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a39

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

dest a imple te, ementao gera um tipo difere ente de pr roblema de termina e o caus problem de com sa mas municao. . O prot tocolo, co onforme de escrito, po ode ficar paralizado em um n i o simp plesmente porque um geren nte de tra ansaes nunca m manda nen nhum comando para i, o que p a pode bloqu uear transa aes inde efinidament te. Para resolver e este probl lema os gerentes de transa aes dev vero perio odicamente enviar m e mensagens de cont s trole a tod dos os ns com que se comunicam in ndicando a senha corrente que pre e etendem dar s suas saes (que no esq quema des seo o par (n sta n,d), onde n o nm mero trans do n onde a transao se origino e d a data/hora em que a transa foi n o ou a o subm metida). soluo, p por sua v vez, cria a necess sidade de comunic e cao Esta s adicional entr os ger re rentes de transa e es e n onde o banco est s arma azenado, que pode se torn e nar proibitiva em uma rede de grandes e prop pores. Pa solucio ara onar este ltimo prob blema, um gerente de transa g es pode enviar uma men er nsagem de controle a um n i contendo uma sen e o nha n maio do que a sua c or e corrente in ndicando que no p q pretende m mandar pa i ara nenh hum subco omando co senha m om menor do que n. Est mensagem de con ta ntrole no precisa s ser repetid at qu as sen da ue nhas dada por g c as cheguem a n. uralmente, dever haver um mecanis m smo adicio onal para revogar esta Natu decis so, caso g tenha n necessidad de envia a i um subcoman de ar ndo com senha men do que n. nor

8.5.4 I Implemen ntao Ba aseada em Verse Mltiplas es


Nas duas implementaes at agor discutid s ra das, uma a ao de le eitura re ejeitada se empre que chegar a e atrasada, ou seja, sempre que o valo do or objeto que ela deveria ter lido j tiver sid substitu a do udo por u mais novo. um n Uma forma d minimiz a de zar o rein ncio de transaes por este motivo seria t s e man nter uma s srie histrica com todas as verses d valor de cada ob do e bjeto. Quanto maior a srie, m maior a chance do valor q d que uma a ao de le eitura prec cisa estar d disponvel. Por outro lado, mai o des . o ior sperdcio d memria por de a fora do mecanismo de c a controle de concorrncia. e deremos in nicialmente o caso extremo e que a srie hist e em trica Consid com todas as verses d cada ob de bjeto ma antida. As seguintes estrutura de s as dado sero e os ento man ntidas para cada objeto x: a R_seq q(x) seqn ncia de to odas as se enhas das aes de leitura pa o e ara objeto x.
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a40

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

Verse es(x) seq ncia con ntendo tod das as ver rses j c criadas para x, repre esentadas por pares da forma (s,V), ond s a se s s a de enha da a que cr o riou a verso V de x. De p posse des stas estr ruturas, o conc corrncia local passa a ser o seguinte: a mecanismo de controle de

ponha que a ao u uma leitura R(X) com senha r. Para cada x a m a 1) Sup X, esc colha o pa (s,V) em Versoes ar m s(x) tal que s a maior senha em e a Vers soes(x) me enor do que r. e a) V se ento o valor de x usado no processa er o amento de R(X). b) r ser inserida em R_ _seq(x) na posio c a correta. 2) Sup ponha que a ao uma atua alizao W W(X) com senha w. Para cada x a X, seja t(x) a me a enor senha em Verso a oes(x) maior do que s. a) se e existe algum x X e ex xiste algum senha r em R_seq(x) tal qu w < r t(x ento re ma ue x), ejeite a atu ualizao; b) caso contrrio process a atualiz o o, se zao, cria ando um n novo par (w,V) ( em Versoes(x) onde V o valor de x dado por W(X), p x), p para cada x X. Como este prot tocolo m mais sofist ticado, co onvm dar um exem r mplo. Para efeitos d exemplo conve a do eniente ima aginar que a senha dada a uma e a trans sao represente o instante e que fo submetid Consid em oi da. dere um banco de dados com apenas um objeto fsico x. Supo s onha que em um dado mom mento R_se eq(x) e Versoes(x) se ejam: R_seq = (5,8,15,...,92) q(x) Versoe es(x) = ((4,V1), (10,V2), (20,V3), ..., (100,V20)) V V Supon que o protocolo receba um ao de leitura R nha ma e R(x) com senha r=12 Como te 2. emos que 10 < r < 2 o valor lido de x s 20, ser V2. O seja, ap Ou pesar da a ao ter chegada ba astante "at trasada" (a verso corrente d x foi criada a de por uma trans sao com senha 1 m 100), po ossvel enc caixar a a ao na or rdem corre fornec eta, cendo-lhe a verso c corrente no instante em que fo submetid A o oi da. senh r=12 inserida em R_seq(x) criando-s R_seq(x = (5,8,12 ha m x) se x) 2,15,...,92) ).
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a41

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

Supon nha agora que o p protocolo receba um ao d atualiz r ma de zao W(x) com sen ) nha w=7. E Esta ao ter que ser rejeita ada pela s seguinte ra azo. Observe R_se eq(x) e V Versoes(x). Uma lei . itura R(Y) com sen nha r=8 j foi proc cessada (s segundo e elemento d R_seq(x)) e leu a verso V1 criada por de o a uma ao com senha 4 (primeiro elemento da seq a m o o ncia Ver rsoes(x)). Se o S proto ocolo acei itasse a a ao W(x) estaria criando um nova v c ma verso V1' com senh 7, que d ha deveria ento ter sid lida por R(Y). Ou seja, a a do o W(X) seria proc cessada depois de R(Y), qu uando deveria ter s sido proce essada antes. Logo W(x) te que se rejeitada Este fat pode se detetado pesquisa o, em er a. to er o andose a menor se enha em V Versoes(x), t=10 nes caso, m ste maior do que w=7. Como C h a alguma sen nha em R R_seq(x) entre s=7 e t=10, r=8 neste c caso, W(x) ter que ser rejeita ada. Esta implementa ao tem a propried dade intere essante de nunca rej e jeitar ae de leitu e dimin es ura nuir a reje eio de aes de atualiza Em outras a o. palavras, o volume d transa de aes rein niciadas n nesta imp plementa o nece essariamen menor que o d impleme nte r da entao b bsica. Por outro lad a r do, mem mria adicional nece essria a torna proib bitiva: man nter todas as verse de es todo os objet no possvel nem razov para um banco d dados. Uma os tos vel m de form de torna esta imp ma ar plementa atraent seria manter as o te ltimas ver rses criad das dent tro de um esqu uema semelhante quele sugerido na implementao bsica. Haveria uma tabe de ver o ela rses (e de senhas de s oper racoes de leitura) m mantendo u certo nmero de verses recentes, alm um n e do p prprio banco de da ados arma azenando a ltima verso de cada ob e bjeto. Quando a tabela ficar c completame ente ocupa ada, espao obtid expurga do andose a entrada mais antig Assim, a um cus adicion de mem ga. sto nal mria razo ovel, pode er-se-ia dim minuir o vo olume de tr ransaes reiniciada com be s as, enefcio pos sitivo para o sistema a a. Por f fim, lemb bramos q que os problema as de t terminao e o relac cionamento com o protocolo bifsico persistem nesta im o o m mplementa ao, send resolvid da mes do dos sma forma que antes s.

8.6 CO OMPARA AO ENT TRE OS MTODOS M S


Nas s sees a anteriores, dois m todos b sicos de controle de e e conc corrncia e vrias implementa aes fora discutidas. Esta seo rene am a comentrios indicando em que situaes uma ou o outra impl lementao se torna mais ade a equada.

Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a42

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

A Ta abela 8. .1 resum me as principais caracte s ersticas das implementae dos p es protocolos de bloq queio em duas fas ses e de prorde enao, considerando apenas b o bancos de dados dis stribudos. extr remamente difcil c e comparar efetivamen nte a per rformance das vria implem as mentaes sugeridas neste captulo. P s c Por outro lado, pod de-se adiantar alguns comen ntrios qu ue, embor simples ajudam a avalia as ra s, m ar diversas altern nativas.
TABELA 8.1 - RESU A UMO DAS C CARACTERS STICAS DOS MTODOS DE CONTR S S ROLE DE C CONCORR NCIA

Caract Implementa I a o
Bsic a Bl oqu ueio i Cpi as s Prim m tr Cent al lizada Bsic a P rOr rdenao es s Est rutura de a D t abela de bloqueios distribuda a tabela de bloqueios para cpias s primrias ta bela de bloqueios centralizad da l istas de senhas Me ns sagens Adi n o so s nece essrias par a bloquear ias cpi prim mrias par a bloquear em um n u coor rdenador n o so s nece essrias p ara evitar bloq queios eternos n s o so nece essrias

ti

Existncia de a cpias n o

Prob b lem mas

fila s Cons s de er rvativa subcomand dos istas de senhas e Mlt ti verses s Vers l

Term m bloque reconhece tuos ios m difcei de is detect tar reconhe bloquei ce tuos difceis os m de detectar n o bloque reconhece tuos fceis ios m de detectar n o reinci reconhece ico o ccli e mtuo o, de fcil n o bloqueio s etern reconhece nos n o reconhece rein clico e cio cc mtuo o, de fcil

Inicialm mente, con nvm lemb brar que a performan de um mecanism de nce mo cont trole de c concorrnc cia pode ser avaliada atrav vs de v rias med didas difer rentes, das quais o tempo de resposta das transa s aes ser aqui utiliz zado. O te empo de re esposta da transa influe as es enciado po parme or etros intrns sicos po opulao de transa es - tax mdia de chega xa ada, nme de ob ero bjetos aces ssados p para leitura e at tualizao, taxa m , mdia de servio de e proc cessamento e de se o ervio de e entrada/sada - e po parmet or tros do pr prio siste ema - nm mero de ob bjetos do b banco de dados, alo ocao do objetos nos os s banc cos locais, grau de multiprogr , ramao, topologia do sistema, etc. No que o
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a43

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

conc cerne especificamen a mec nte canismos de contro de concorrncia os ole a, segu uintes par metros tor rnam-se im mportantes s: custo a adicional d comuni de icao, qu pode se estimado pelo nm ue er mero md de men dio nsagens pa assadas ap penas para fins de co a ontrole de concorrn ncia; custo adicional de proces ssamento local, que pode se medido pelo e er temp mdio d process po de samento ga asto apena em cont as trole de co oncorrncia a; custo adicional de proce essamento das tran o nsaes, estimado pelo temp mdio que uma transao passa blo po o oqueada, o pelo nmero mdio de ou veze que a tra es ansao reiniciada a; Usarem estes trs parm mos metros com indicati da ade mo ivo equao de um e mec canismo de controle d concorr e de rncia a do cenrio extremos ois os s: pessim mista:carac cterizado por uma elevada percentagem de aes a conf flitantes ta: caract terizado p por uma baixa p percentage em de aes a otimist conf flitantes aro, e no h muito experim o os mentos dis sponveis para No muito cla guiar a intui o que significa "baixa per o, rcentagem de aes conflitan s ntes". Um indicador aceito c r considera como ba aixa uma percentag gem de aes a conf flitantes qu est ab ue baixo de 5 5%. Se co onsiderarm mos que a freqncia de conf flitos ser muito baix quando as transa xa o ao aces ssam pouc objetos em cos s um banco de dados de tamanho mdio, este limite ser satis e o e sfeito por uma vasta gama de aplicae Por ou e es. utro lado, uma alta p u percentage de con em nflitos ncia exced este lim der mite, o vo olume significa algo acima de 10%. Se a freqn bloqueios m mtuos e reincios d transa de es poder ser to elevado que o r q de b traba alho til do sistema d o decair con nsideravelmente. Consid deremos in nicialmente o problem de esc e ma colher um mecanism de mo cont trole de concorrncia para um cen nrio pes ssimista. Dado que a perc centagem d conflito alta, o objetivo bsico ne de os este caso s ser dimin nuir o custo de reso o olver conf flitos. Com a form mais d mo ma dispendios de resolver sa conf flitos rein niciar trans saes, de eve-se esco olher um m mecanismo que mini o imize o volume de transaes reiniciadas s. Com e estas carac ctersticas temos dua impleme as entaes d protocolo de do ordenao a imple o, ementao conserva o ativa e aq quela utiliz zando ver rses pr-o mlt tiplas. A im mplementao conse ervativa nu unca reinic transa cia es, mas gera um volume de mensage e ens adicio onais substancial e implicitam mente bloq queia
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a44

GovernoFederal Ministrioda M aEducao FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA InstitutoF Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

trans saes co om freq ncia. Se estas caractersticas forem inaceit e c m veis, pode e-se optar pela impl lementao utilizand verses mltiplas gastando se do s s, omais memria em troca Das implementa s a a. es do pr rotocolo de bloqueio em o duas fases, ap s penas a ce entralizada poder ser adequa a s ada, pois e um cenrio em pess simista blo oqueios m mtuos se ero muito frequent o tes e a i implement tao cent tralizada a nica que per a rmite fcil deteo/ /resoluo de bloqu ueios mtu uos. Para u cenrio otimista qualquer impleme um a, entao , em princ , cpio, adeq quada, ex xceto a implementa ao conservativa do proto ocolo de prorde enao po fora as opera ois es a se erem proc cessadas em ordem de m senh quer e ha, elas conflit tem ou n A imp o. plementa bsica, dentre as do o , a proto ocolo de pr-ordenao, a mais ind dicada ne este cenr rio. Quanto s implementae do proto es ocolo de b bloqueio em duas fas m ses, a bs sica a qu se ue comporta melhor em te ermos de mensage ens adicion nais, send interess do sante nest cenrio. te Isto c conclui a nossa breve compara c o entre as dive ersas implementae O leito interess es. or sado deve consultar as refe er erncias deste d cap tulo para m maiores de etalhes.

Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a45