Control simultan multiversiune

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Controlul simultan multiversion (în engleză: Multiversion concurrency control ) în acronim MCC sau MVCC , în informatică, în domeniul bazelor de date, este o metodă de control al concurenței utilizată în mod obișnuit de sistemele de gestionare a bazelor de date pentru a oferi concurentului de acces la baze de date și limbaje de programare Pentru a implementa o memorie tranzacțională.

Multiversion Concurrency Control este descris pentru prima dată în detaliu în 1981 de Philip Bernstein și Nathan Goodman.

O bază de date implementează actualizări selectând datele vechi ca fiind învechite și adăugând noua versiune a datelor, stocând astfel mai multe copii ale acelorași date. Acest lucru permite bazei de date să evite supraîncărcarea acțiunilor de umplere a găurilor de memorie, dar (în general) necesită ca sistemul să curețe periodic și să șteargă setul de date mai vechi ca fiind învechit. Pentru o bază de date orientată spre documente, cum ar fi CouchDB , MVCC permite sistemului să optimizeze documentele scriind documente întregi în secțiuni adiacente ale discului la actualizarea acestuia, întregul document poate fi rescris mai degrabă decât împărțit în părți și legat în zone non-adiacente.

MVCC folosește timestampuri sau un ID de tranzacție pentru a determina starea bazei de date care trebuie citită, ceea ce este util pentru a evita manipularea blocărilor de citire a tranzacțiilor. MVCC oferă fiecărui utilizator conectat la baza de date o stare a bazei de date în sine, dar orice modificare nu va fi văzută de alți utilizatori până când nu va fi efectuată tranzacția.

Baze de date cu MVCC

Notă

  1. ^ Pagini manuale ArangoDB: AppendOnly / MVCC , la arangodb.org . Adus la 23 noiembrie 2012 (arhivat din original la 23 februarie 2013) .
  2. ^ Berkeley DB Reference Guide: Gradele de izolare
  3. ^ Bigdata Blog Arhivat 10 martie 2012 la Internet Archive .
  4. ^ O nouă abordare: motorul de baze de date Clustrix Sierra Arhivat 12 aprilie 2012 la Internet Archive .
  5. ^ DB2 Versiunea 9.7 LUW Information Center, Semantica angajată în prezent îmbunătățește concurența
  6. ^ TM1 9.5.2 Centru de informații, interacțiune paralelă
  7. ^ Steve Graves, Multi-Core Software: To Gain Speed, Eliminate Resource Contention , in RTC Magazine , 1 mai 2010 (arhivat din original la 1 iunie 2010) .
  8. ^ Cartea albă de Roman Rokytsky Firebird și Multi Version Concurrency Control, depusă la 7 august 2008 în Arhiva Internet .
  9. ^ Controlul concurenței în mai multe versiuni în motorul de baze de date H2
  10. ^ InfiniDB Column Database Accelerates Insights for Analytics, BI și Data Warehouses | InfiniDB
  11. ^ MVCC - Ingres Community Wiki Arhivat 21 iulie 2011 la Internet Archive .
  12. ^ Bill Todd, InterBase: What Sets It Apart , pe dbginc.com , 2000. Accesat la 4 mai 2006 (arhivat din original la 26 februarie 2006) .
  13. ^ În interiorul serverului MarkLogic
  14. ^ Izolarea instantaneului pe SQL Server
  15. ^ MySQL 5.1 Manual de referință, Secțiunea 14.2.12: Implementarea versiunilor multiple
  16. ^ sau Maria MySQL 5.1 Manual de referință, Secțiunea 14.6.1: Caracteristici Falcon [ link rupt ]
  17. ^ Concepte de baze de date Oracle: Capitolul 13 Concurența datelor și coerența controlului concurenței multiversiunii Arhivat 20 februarie 2009 la Arhiva Internet .
  18. ^ Documentație OrientDb
  19. ^ Documentația PostgreSQL 9.1, Capitolul 13: Controlul concurenței
  20. ^ VAX Rdb / ELN, Versiunea 2.3 (Relational Database Management System) ( PDF ), la h18000.www1.hp.com (arhivat din original la 3 martie 2016) .
  21. ^ RDM Embedded 10.1 Reference Manual, d_trrobegin Arhivat 4 martie 2016 la Internet Archive .
  22. ^ http://www.sones.com
  23. ^ Propunere pentru MVCC în ZODB. Arhivat 6 februarie 2012 la Internet Archive .

Elemente conexe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT