ıllı Internet y Tecnologías de la Información (2018)

internet, Hosting, dominios, seo, antivirus, banco de imágenes, páginas web, tiendas online

[Enciclopedia Online Gratuita] Diccionario de Internet y Tecnologías de la Información y la Comunicación (TIC):

ıllı Multiversion concurrency control : que es, definición y significado, descargar videos y fotos.

videos internet

salud  ıllı Multiversion concurrency control : que es, definición y significado, descargar videos y fotos.  


El control de concurrencia a través de versiones múltiples (Multiversion concurrency control o bien MVCC) es un procedimiento para control de acceso en general utilizado por SGBDs para otorgar acceso concurrente a los datos, y en lenguajes de programación para incorporar concurrencia.


Aplicado a una base de datos el procedimiento consistiría en incorporar las actualizaciones de datos no borrando los datos viejos y sobreescribiéndolos con los nuevos, sinó marcando los viejos como obsoletos y agregando los nuevos. De esa forma va a haber en algún instante más de una versión de exactamente los mismos datos guardada, teniendo valía solo la versión más reciente. Se evita de este modo al sistema gestor de la base de datos dedicar tiempo a rellenar huecos en memoria o bien disco, al costo de tener que recorrer periódicamente la memoria o bien el disco para quitar dichos objetos obsoletos. En el caso de una base de datos reportaje esta estrategia deja optimar los documentos escribiéndolos en memoria anexa, eludiendo de este modo tener un documento parcheado o bien con una lista encadenada de sus piezas en una estructura no anexa.


MVCC asimismo da vistas consistentes en tiempo. La lectura de transacciones en MVCC utilizan típicamente marca de tiempo o bien ID de transacción para determinar qué estado de la base de datos leer. Las lecturas se pueden de esta forma independizar de las escrituras a la merced de la conservación de las versiones con valores viejos, y se evitan de este modo los procesos de bloqueo o bien de exclusión mutua. Las escrituas afectan a futuras versiones, mas el ID de transacción en curso garantiza la consistencia puesto que las escrituras siguientes se contemplarán después.


Dicho de otra forma, MVCC da a cada usuario conectado a la base de datos una instantánea de exactamente la misma para él solo. Cualquier cambio que se haga no va a ser perceptible a el resto usuarios hasta el momento en que la transacción se haya completado.



Implementación


MVCC emplea marcas de tiempo o bien identificadores de transacción crecientes para lograr consistencia transaccional. Asegura que ninguna transacción deba aguardar por un objeto de la base de datos a base de sostener múltiples versiones de ese objeto. Cada versión tiene asociada su marca de tiempo de escritura por el que deja leer a una transacción hecha en el instante ti los objetos más recientes que la anteceden.


Si una transacción ti desea redactar sobre un objeto, y además de esto hay otra transacción tk, la marca de tiempo de ti debe antedecer la marca de tiempo de tk a fin de que la escritura sea admitida. Es exactamente lo mismo que decir que una escritura no puede completarse si hay transacciones pendientes con una marca de tiempo precedente.


Cada objeto debe tener asimismo una marca de tiempo de lectura, y si una transacción ti desea redactar sobre un objeto P, y la marca de tiempo de esa transacción es precedente a la de lectura del objeto, se aborta la transacción ti y se empieza nuevamente. De lo contrario, ti crea una nueva versión de P y establece sus marcas de tiempo de lectura y escritura igual a su marca de tiempo.


El inconveniente obvio de este mecanismo está en el costo de guardar versiones múltiples del mismo objeto. Por otra parte las lecturas jamás se bloquean, lo que favorece aquellas aplicaciones que efectúan muchas lecturas de la base de datos. El procedimiento MVCC está particularmente amoldado a la toma de instantáneas apartadas, algo que otros métodos de concurrencia no lo hacen bien o bien a un costo altísimo.


El sistema MVCC guarda las diferentes versiones de los objetos en la base de datos mientras que haya alguien trabajando con alguna de ellas:

TiempoObjeto 1Objeto 2t1"Hola""Bar"t0"Foo""Bar"

Lo que nos señala que el estado actual de la base de datos es Objeto 1="Hola", Objeto 2="Bar", mas anteriormente Objeto 1 tuvo el valor "Foo", valor que no ha desaparecido puesto que la base de datos sostiene versiones múltiples. Ya se borrará cuando no trabaje absolutamente nadie con ella.


Si una transacción larga comienza una operación de lectura, operará con los valores en t1 y va a ver siempre y en toda circunstancia ese estado. Si mientras se generara una actualización a lo largo de esa transacción de larga duración que cambiara el valor de Objeto dos por "Foo-Bar", el estado de la base de datos tendría este aspecto:

TiempoObjeto 1Objeto 2t2"Hola""Foo-Bar"t1"Hola""Bar"t0"Foo""Bar"

Vemos que ha aparecido una nueva versión en el momento t2. Hay que hacer apreciar que la transacción de larga duración prosigue teniendo acceso a la instantánea congruente en t1, si bien se hayan añadido datos en el momento t2, con lo que la lectura por la transacción de larga duración está apartada de otras que más tarde alteren los datos. De esta manera MVCC permite lecturas apartadas ACID sin bloqueos (no obstante, las transacciones con escritura prosiguen necesitando bloqueos).


El mecanismo de control de concurrencia a través de versiones múltiples está descrito en detalle en el artículo de mil novecientos ochenta y uno de Philip Bernstein y Nathan Goodman "Concurrency Control in Distributed Base de datos Systems",? por entonces empleados en Computer Corporation of America. El artículo de Bernstein y Goodman cita una disertación? de mil novecientos setenta y ocho por David P. Reed que describe meridianamente MVCC y la demanda como original.


La primera base de datos comercial con MVCC fue VAX Rdb/ELN de Digital. La segunda fue InterBase, aún activa.



  1. ?Bernstein, Philip A. (mil novecientos ochenta y uno). «Concurrency Control in Distributed Base de datos Systems». ACM Computing Surveys.
  2. ?Reed, David P. (veintiuno de septiembre de mil novecientos setenta y ocho). «Naming and Synchronization in a Decentralized Computer System». Disertación MIT.


  ELIGE TU TEMA DE INTERÉS: 


autoayuda.es   Internet y Tecnologias 

Está aquí: Inicio > [ INTERNET ] > ıllı Multiversion concurrency control : que es, definición y significado, descargar videos y fotos.

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Ver políticas