multiversion concurrency control

Post on 18-Dec-2014

52 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Multiversion concurrency control

TRANSCRIPT

MultiversionConcurrencyControl(MVCC)Oloquetodoelmundousaynosedacuenta

CreatedbyPabloVicente

Concurrency..what?

1981

Bibliografía

SepuededecirquedeellosnaceeltérminoMVCC.

Unocitaalotro,aunquefueelsegundo,elquesentólasbases.

Elúltimoesenelquesebasaestetrabajo.

Reed,DavidP.(1978)"NamingandSynchronizationinaDecentralizedComputerSystem"

Bernstein,PhilipA.;Goodman,Nathan(1981)."ConcurrencyControlinDistributedDatabaseSystems"

Bernstein,PhilipA.;Hadzilacos,Vassos;Goodman,Nathan(1987)."ConcurrencyControlandRecoveryinDatabaseSystems"

Y...naceMVCC!!

Peroprimero,CC

Independenciaentretransacciones.•

Encasodeconflicto,unatransacciónnotendráefecto,hastaquesearesuelto.

Ejecutaratomicamentecadatransacción.•

Primeraaproximación‑CC

Enunaejecuciónconcurrente,T1yT2sondosentornosdeejecución.

confliCONFLICTO

Elcontroldeconcurrenciadebedecidircualdebeprevalecer.Unodeellosdeberáoesperarohacerunroll‑back

¿PorquéañadirlaMV?

ProblemaWaW,cúaleselválido?

Abortaroperaciones.✓

Recuperarantiguasversiones.

Items/ámbitosbloqueados?✓

1.‑Write

2.‑Write

¡MVCC!

PhilipA.Bernstein DavidP.Reed

"Esunatécnicadeconcurrenciaoptimistaendondeningunatareaohiloesbloqueadomientrasserealizaunaoperación,porqueelotrohilousasupropiacopia(versión)delobjetodentrodeunatransacción."‑PostgreSQL

MVCC‑Eloptimista

MVCCbyTimestamp

Marcasdetiempooidentificadoresdetransaccióncrecientes(consistenciatransaccional)

Mantienevariasversionesdelobjeto.•

EnalgunasBD'scadausuariotieneunainstanciadeella.

Elcosteespacialsedisparayañadimosmáscomplejidadalplanificador.

FACTS

Cada'write'existosocreaunanuevaversión.

Elpunteroapuntaalaúltimaversiónválida.

Sólocreanuevasversioneslaoperación'write'.

7

Nuevoindice

Versionesdeitem

Indiceactual

OtrosMVCC

Twophaselocking✓

Métodomixto✓

Eselpesimistadelgrupo,yaquefuncionaabasedebloqueos.Igualmente,elvalorX,tendráunduplicadoparaquepuedaserleido,mientrasalguienestámodificándolo.

Sustituyelasmarcasdetiempoporlistasdecommitsconlasoperaciones.Agregaelproblemadelageneraciónconsistentedemarcasdetiempo.Combinalosdosmétodosvistosanteriormente.

Vendehumos!

Distributedversioncontrol=MVCCenriquecido InnoDBMultiversion

(MySql)

PostgreSQL&MVCC

Ejemplopráctico‑PostgreSQL

*Col1=IDdetransacciónquelamodificó.*Col2=LatransacciónanterioraCol1.

UPDATEcreaunanuevafilaapartirdelaanterior.

Conflicto:muestralasfilasasociadasaesatransacción.

HotBackups.TomaunainstantáneadelaBDantesdeunaquery.

15

¡MUCHASGRACIAS!

PREGUNTAS?

top related