Académique Documents
Professionnel Documents
Culture Documents
1.Introduo
Informaespodemserperdidasdeumsistemacomputacionaldevidoocorrnciadefalhas.Estas variam de falta de energia erros de software. Um sistema de banco de dados deve garantir propriedades comoatomicidadeedurabilidadedesuastransaesmesmoquefalhasocorram. Um mecanisnoderecuperoquerestaureobancodedadosparaumestadoconsistenteexistenteantesda falha,portanto,deextremaimportncia. Osalgoritmosderecuperaoembancodedadossoresponsveisporasseguraraconsistnciado banco de dados e a atomicidade das transaes. Para isto eles devem efetuar aes durante o processamento normal de uma transao garantindo que haja informao suficiente pra permitir a recuperao,eaesapsafalha,queefetivamenterecuperamocontedodobancodedadosparaum estadoconsistente,garantindoaatomicidadedatransaoeadurabilidade.
Falhadetransao:Estafalhapodesercausadapordoistiposdeerro,errolgicoouerrodesitema. Oerrolgicoocorrequandoumacondiointernaimpedeaexecuonormaldatransao,como uma entrada inadequada ou um dado no encontrado. Quando o sistema entra num estado inadequado,impedindoaexecuonormaldeumatransao,comonocasodeumdeadlock,dizse queocorreuumerrodesistema. Queda do sistema: Esta falha causa a perda do contedo do armazenamento voltil, parando o processamentodatransao,semafetarocontedodoarmazenamentonovoltil.Causascomuns destafalhasomalfuncinamentodehardwareoubugnosoftwaredebancodedados. Falhadedisco:Estafalhalevaperdadocontedododisco,podesercausadapelaquebrado cabeote.
3.Estrutura de Armazenamento
Podese distinguir os tipos de armazenamento a partir de sua velocidade relativa, capacidade e resistnciafalha.
Armazenamento Voltil: Memria principal ou memria cache. O acesso este tipo de armazenamentoextremamenterpido.Informaesresisdentesnestearmazenamentonoresistem quedadosistema. Armazenamento NoVoltil: Disco, para armazenamento online, e fitas magnticas, para armazenamentoemarquivo. mais lentoqueoarmazenamentovoltil, pois soequipamentos eletromecncios. ArmazenamentoEstvel:Praticamente,ainformaonuncaperdida.Dseatravsdareplicao da informo em vrios meios de armazeamento novoltil e controlando a atualizao da informaes.
Ossistemasdebancodedadosresidememarmazenamentonovoltileparticionadoemuniddesde armazenamentodecompriemtnofixochamadasdeblocos,unidadesdetransfernciadedadoseque podemcontervriositensdedados.Paraamaioriadasaplicaesnenhumitemdedadoabrangedois oumaisblocos. Pararealizarastransaesnecessriotrazemblocosdeinformaododiscoparaamemriaedepois levlasparaodisco.Osblocosresidentesnodiscosochamadosblocosfsicosenquantoqueos blocossituadosnamemriasochamadosblocosdebuffer.Osmovimentosdeblocossedoatravs deoperaesdeinput,quetransfereumblocofsicoparaamemria,eoutput,quetransfereumbloco debufferparaodiscosubstituindooblocodediscoapropriado. Humareadetrabalhoparacadatransao,existenteenquantoatransioexiste,ondesomantidas cpiasdosdadosacessadoseatualizados.Umatransaointeragecomosistemadebancodedados transferindodadosentresuareadetrabalhoeobufferdesistema.Paraistosonecessriasduas operaes:Read(X),queatribuiovalordoitemdedadoXparaumavarivellocalx,eWrite(X),que atribuiovalordavarivellocalxparaoitemdedadoXnoblocodebuffer.Nasduasoperaesseo bloconoqualresideXnoestejanamemriaprincipalnecessriofazerumaoperaodeinputdeste bloco.
4.Recuperao e Atomicidade
Aoocorrerumafalhaduranteumatransao,soluesdotiporeexecutarouignorarpoderamlevaro bancoaumestadoincosistente.Oproblemaestemmodificarobancodedadossemqueatransao ser de fato efetivada. Para evitar incosistncias necessrio que todas ou nenhuma alterao relacionadasaumatransaosejamfeitasnobanco.Paramanteraatomicidadedevesemandartodas asalteraesparaumarmazenamentoestvel,semmodificarobancodedados.Istopermitir que, apesardefalhas,manterumestadoconsistentedosdados.Abaixoestodescritasduastcnicasde realizaressagravao.
ModificaoAdiada
Nestapoltica,asmodificaessoadiadasatquetodaatransaoestejatodagravadanolog.Logo depois, modificaseosregistros dedados.Seocorrer umafalhaantes detodosos registros serem gravados,todososdadosnecessriospararefazeratransaoestonolog.Casoatransaoesteja parcialmentenolog,elaignoradanarecuperaodobanco.
Modificaoimediata
Nocasodapolticademodificaoimediata,apscadaoperaodeupdatedatransao,modificaseo registrocorrespondentenobancodedados.Seocorrerumafalhaantesdofimdatransao,e consequente
Checkpoints
Como refazer todas as operaes do log custoso e o tamanho do log tende a crescer rpido, a recuperaodedadosutilizandoologpodesermuitodemorada.Muitastransaesjforamefetivadas emdisco,nosendonecessriorefazlas. Umasoluoparaesseproblemaacriaodecheckpoints,marcasnologondetodasasoperaesde escritaanterioresaocheckpointjforamefetivadasemdisco.Logosprecisorefazerastransaes concludasqueforamfeitasdepoisdacriaodocheckpoint. Duranteacriaodocheckpoint,todososregistrosdelogresidentesemmemriasogravadosem armazenamentoestvel,seguidodesblocosdebuffermodificados.Somenteapsisto,armazenadoo registrodelogquemarcaaconclusodocheckpoint.
6.Paginao Shadow
AtcnicaderecuperaoporPaginaoShadowumamelhoriadatcnicadecpiashadow,bastante utilizadaporeditoresdetexto.NacpiaShadow,asatualizaessofeitasnumnovoarquivo,euma cpiaoriginal(shadow)mantidaataefetivaodasatualizaes(gravaonodisco).Nocasode falhas,recuperaseacpiashadow,quedeveestarintacta. RecuperaoporPaginaoShadownormalmenterealizamenosacessosemdiscodoquemtodos baseadosemlog.Emcompensao,humagrandedificuldadedeadaptloasistemascomtransaes concorrentes. Considerequeobancodedadosdivididoemblocosdetamanhofixo,chamadosde"pginas".Seo bancofordivididoem"n"pginas,devesemanterumatabeladepginascom"n"entradas,contendo apontadoresparacadapginanodisco,provendoassimacessodiretospginas.Aordemlgicadas pginasnobanconocorrespondemordemfsicadearmazenamento. Nestemtodo,osistemamantmde2tabelas:tabeladepginasatuaisedepginasshadow.Atabela depginasshadownoalteradadurantetodaatransaoeseuendereoarmazenadonumponteiro fixo, para posterior recuperao no cas de falhas. A tabela de pginas atuais alterada quando a transaoprocessaumaoperaowrite. Exemplodaexecuodaoperaowrite(X),ondeXresidenapginai:seaisimapginanoestna memriaprincipal,executaseaoperaoinput(x).Seestaforaprimeiraescritanapginaiparaesta transao:(1)encontraseumapginalivre(2)removeadalistadepginaslivres(3)Aisimapgina databeladepginasatuaisdeveapontarparaanovapginaalocada.DesignaseonovovalorparaXna pginadebuffer,namemriaprincipal. Paraefetivarumatransao,devese: 1.Garantirquetodasaspginasalteradasnobuffersejamgravadasemdisco; 2.Enviaratabeladepginasatuaisparaodisco(nosedevesobrescreveratabeladepginas shadow,vistoqueelapodeserusadapararecuperao,nocasodefalhas); 3.Alteraroponteiroqueendereaatabeladepginasshadowparaoendereodatabelade pginasatuais.Nestemomento,atabeladepginasatuaissetornaatabeladepginasshadow. Percebaque,sehouverumaquedanosistemaantesdopasso3,oestadodobancodeveserrevertido paraantesdatransao.Seaquedaocorrerdepoisdopasso3,osefeitosdatransaosopreservados. Portanto,aatomicidadegarantidaemambososcasos. Como vantagem do sistema de paginao Shadow, podemos citar a rapidez da recuperao, que acontecedeformaquaseautomtica,atravsdasubstituiodatabeladepginasshadow. Emcompensao,temosdiversasdisvantagens,comoveremosaseguir.Humoverheaddeefetivao detransaesdevidonecessidadedeenviodedadosreais,enviodatabeladepginasatuaiseenvio do endereo da tabela de pginas atuais. Alm disso, as pginas de dados relacionados sofrem alteraesdelocalizao,causandoumavisvelfragmentaodosdadosnodisco.Periodicamente necessriorealizarumprocedimentode"coletadelixo",devidoaexistnciadepginasinacessveis, lixodecorrentedequedas,etc.Outragrandedesvantagemadifciladaptaodestemtodoasistemas comtransaesconcorrentes.Mesmoutilizandopaginaoshadow,normalmentenecessrioousode registrodelogsparacontroledetransaesconcorrentes.
Outroaspctorelativoabufferizaodizrespeitoaosistemaoperacional.Umsistemadebancode dadospodereservarumespaodememria,ouentoutilizaramemriavirtualprovidapeloSO. Ambasastcnicastemvantagensedesvantagens.Existemalgumastcnicasavanadasquetambm possibilitamumaumentodaeficinciadosbancos.UmadelasoLogcomundolgico,quepermite um desbloqueio de recursos que esto sendo utilizados de forma prematura. Outra o Fuzzy CheckpointquepermitequeatualizaessejamfeitasduranteoprocessodeCheckpoint.