Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Transaccionesycontroldeconcurrencia
UnSGBDdebegarantizarlacalidaddelos datosalmacenados
Client1 Client2 Client3
Programasde aplicacin
DBMS
DB
Metadatos
(DataBaseManagement System) y ) Sistema de Administracin dedatos Coleccin de programas p g que p q permite a losusuarios crear y mantener una basede datos
2
Transaccionesycontroldeconcurrencia
U DBMSdebe Un d b garantizar ti la l integridad i t id dde d la l BD: BD Losdatossealmacenandeformaadecuada Controlarelaccesonoautorizado Quelasactualizacionesdelosusuariosdela BDseejecutan j correctamente Queelalmacenamientoespersistente
Transaccionesycontroldeconcurrencia
UnDBMSdispone U di de d varios i mecanismos i que garantizanlaintegridaddelosdatos
AcadacambiodelaBD,compruebaquese c mplenlasrestriccionesdelsistema cumplen Siseproducenactualizaciones concurrentes, concurrentes se compruebalaejecucintransaccional destas Encasodefallo,esposiblereconstruirlaBD
4
Transacciones
LasoperacionesdeaccesoalaBDseorganizanen transacciones
(Insercin,eliminacin,modificacinyrecuperacin)
Transacciones
L Loslmites l i de d unatransaccin i seespecifican ifi mediantelassentencias
begin b i transaction t ti . end transaction
Operacionesbsicasqueunatransaccinpuede incluirsonlassiguientes:
Leer(X):leerunelementodelaBDsobreunavariablede programadelmismonombre Escribir(X):actualizacindeldatoXdelabasededatos, usandolavariabledelprogramademismonombre
6
Transacciones
leer(X),pasos:
buscarladireccindelbloquequecontieneeldatoX copiarelbloqueenunbufferenmemoria copiareldatoX(contenidoenelbuffer)alavariableXdel programa
Transacciones
escribir(X), ibi (X) pasos:
Sinosehaledoantesbuscarladireccindelbloquede fi h quecontiene fichero i el ld datoXycopiar i el lbl bloqueenun bufferenmemoria copiareldatoXdelavariableXdelprogramaalaposicin adecuadadelbuffer copiarelbloqueactualizadodelbufferaldisco disco.
Transacciones:tiposdeproblemas
Problema ob e apor po prdida p d dadeactualizacin actua ac
Transaccionesqueaccedenalosmismosdatosdela basededatosytienenoperacionesinterpoladas detalmodoquehacequealgunosdatosdela basededatosseanincorrectos
Problemadelecturasucia
Esteproblemasurgecuandounatransaccin actualiza li und datod del laBDyfi finaliza li confallo. f ll Antesdedeshacerlaactualizacin,otra transaccin i accede d al ld datoactualizado li d
9
Transacciones:tiposdeproblemas
Problema ob e adela asuma su aincorrecta co ecta
Unatransaccinrealizaunasumasobrevarios registrosmientrasqueotratransaccinlosest modificando.
Problemadelalecturairrepetible
Unatransaccinrealizadoslecturasdelmismo elemento,yentrelasdoslecturas,dichoelemento esmodificadoporotratransaccin. ,laprimera p transaccinrecibedosvalores As, diferentesdelmismoelemento. 10
Transacciones
ElDBMSesresponsable p de: Garantizarquetodaslasoperacionesdela transaccinsecompletensatisfactoriamente Que Q suefecto f t segrabe b d def formapermanente t en labasededatos Nodebepermitirquealgunasoperacionessobre labasededatostenganefectoyotrasno.Esto ocurrecuandolatransaccinfalla despusde realizaralgunasactualizaciones.
11
Transacciones:causas defallo
Causasdefallo a odeu una at transaccin a sacc
1. 2. 3 3. Cadadelsistema latransaccinfallaporunerrordesoftware, hardwareodered Unerrordelatransaccin algunaoperacindelatransaccin falla,porejemplo,divisinporcero,desbordamientodeentero, Erroreslocalesalatransaccin seproducencondicionesquehace quelatransaccinnopuedaejecutarse.Porejemplo,noencontrarun dato. C Control ld deconcurrencia i la l transaccin i puede d abortar b porqueno cumplelascondicionesdecontroldeconcurrencia j delatransaccinsep produce Fallodedisco durantelaejecucin unerrordedisco,porejemploquesecaiganlascabezasdelecturay escrituradeldisco Problemasfsicos incendio, incendio fallodealimentacin, alimentacin .
12
4 4. 5.
6 6.
Transacciones:ciclodevida
Estadosdeunatransaccin
BEGIN_TRANSACTION (Inicio)Indicaelcomienzo deunatransaccin END_TRANSACTION (Finalizada)Indicaquese hanterminadolasoperaciones p (read/write) ( / )dela transaccin COMMIT_TRANSACTION COMMIT TRANSACTION(Confirmada)Indicael xitodelatransaccin.EstopermitealDBMS guardarlasmodificacionesenlaBD ROLLBACK (Anulada)Indicaelfracasodela transaccin ElDBMSdeshacelasmodificaciones transaccin. efectuadasporlatransaccin 13
Transacciones:propiedades
LaspropiedadesACID debenserimplementadasporel control l d dela l concurrencia i oporl losmtodos d d de recuperacin Atomicidad.Obienserealizantodaslasoperaciones delatransaccinadecuadamenteobiennoserealiza ninguna g deellas Consistencia.Unacorrectaejecucindeuna transaccindebellevaralaBDdesdeunestado consistente i t t aotro t t tambin bi consistente it t Durabilidad.Loscambiosdeunatransaccin confirmadahandeserpermanentes Aislamiento.Loscambiosrealizadosporuna transaccinnoconfirmadasoninvisiblesalrestode transacciones
14
Transacciones:Nivelesdeaislamiento
AlgunosSGBDpermitendefinirdiferentesnivelesde aislamiento il i paracada d transaccin. i
Nivel Lecturano comprometida Lectura comprometida Lecturarepetible Serializable Sepermiten lecturassucias,irrepetibles yfantasmas Nosepermitenlecturassucias Nosepermitenviolacionesque provoquen p q lecturassucias, ,niirrepetibles p Nosepermitenviolacionesque provoquen lecturassucias,fantasmaso irrepetibles
15