An Entity of Type: software, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

Multiversion concurrency control (MCC or MVCC), is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.

Property Value
dbo:abstract
  • Multiversion Concurrency Control (MCC, MVCC, multi-generational concurrency control) ist ein Verfahren aus der Datenbanktechnik, das dazu dient, konkurrierende Zugriffe auf eine Datenbank möglichst effizient auszuführen, ohne zu blockieren oder die Konsistenz der Datenbank zu gefährden. Dabei wird sichergestellt, dass eine Transaktion nie auf Datenbankobjekte warten muss. Zu diesem Zweck werden intern verschiedene Versionen eines Objektes gehalten, die z. B. durch Zeitstempel oder fortlaufend erhöhte Transaktionsnummern voneinander unterschieden werden. Jede Objektversion hat dann einen Zeitstempel vom Zeitpunkt ihres Schreibens durch eine beliebige Transaktion Tbel, auf diese Weise kann Transaktion Ti die jeweils aktuelle Version des Objektes lesen, deren Zeitstempel kleiner ist als TS(Ti), d. h., die von der Transaktion geschrieben wurde. Jedes Objekt P besitzt ebenso einen Lese-Zeitstempel RTS(P) (read timestamp), der den Startzeitstempel TS(Tneu) derjenigen Transaktion Tneu angibt, die P zuletzt gelesen hat. Wenn Ti dieses Objekt P ändert und TS(Ti) < RTS(P)=TS(Tneu) gilt, dann wird die Transaktion Ti abgebrochen und neu gestartet. Andernfalls erstellt Ti eine neue Version von P und setzt den Lese-Schreib-Zeitstempel von P auf TS(Ti). Der Nachteil dieses Systems sind die Kosten, um viele verschiedene Versionen eines Objekts in der Datenbank zu halten. Auf der anderen Seite werden lesende Zugriffe nie blockiert, was sehr wichtig bei ausgelasteten Datenbanken sein kann, in denen sehr häufig nur gelesen wird. (de)
  • El control de concurrencia mediante versiones múltiples (Multiversion concurrency control o MVCC) es un método para control de acceso generalmente usado por SGBDs para proporcionar acceso concurrente a los datos, y en lenguajes de programación para implementar concurrencia. Aplicado a una base de datos el procedimiento consistiría en implementar las actualizaciones de datos no borrando los datos antiguos y sobreescribiéndolos con los nuevos, sinó marcando los antiguos como obsoletos y añadiendo los nuevos. De ese modo habrá en algún momento más de una versión de los mismos datos almacenada, teniendo validez solo la versión más reciente. Se evita así al sistema gestor de la base de datos dedicar tiempo a rellenar huecos en memoria o disco, al precio de tener que recorrer periódicamente la memoria o el disco para eliminar dichos objetos obsoletos. En el caso de una base de datos documental esta estrategia permite optimizar los documentos escribiéndolos en memoria contigua, evitando así tener un documento parcheado o con una lista encadenada de sus piezas en una estructura no contigua. MVCC también proporciona vistas consistentes en tiempo. La lectura de transacciones en MVCC usan típicamente marca de tiempo o ID de transacción para determinar qué estado de la base de datos leer. Las lecturas se pueden así independizar de las escrituras a merced de la conservación de las versiones con valores antiguos, y se evitan así los procesos de bloqueo o de exclusión mutua. Las escrituas afectan a futuras versiones, pero el ID de transacción en curso garantiza la consistencia ya que las escrituras posteriores se contemplarán más tarde. Dicho de otro modo, MVCC proporciona a cada usuario conectado a la base de datos una instantánea de la misma para él solo. Cualquier cambio que se haga no será visible a los demás usuarios hasta que la transacción se haya completado. (es)
  • Multiversion concurrency control (abrégé en MCC ou MVCC) est une méthode informatique de contrôle des accès concurrents fréquemment utilisée dans les systèmes de gestion de base de données et les langages de programmation concernant la gestion des caches en mémoire. Le principe de MVCC repose sur un verrouillage dit optimiste contrairement au verrouillage pessimiste qui consiste à bloquer préalablement les objets a des garanties de bonne fin. L'inconvénient logique est qu'une mise à jour peut être annulée du fait d'un "blocage" en fin de traitement. À cet effet, une base de données ne mettra pas en œuvre des mises à jour par écrasement des anciennes données par les nouvelles, mais plutôt en indiquant que les anciennes données sont obsolètes et en ajoutant une nouvelle "version". Ainsi, plusieurs versions sont stockées, dont une seule est la plus récente. Cela évite en outre à la base de données d'avoir à gérer le remplissage des "trous" en mémoire ou sur le disque mais nécessite (généralement) une purge régulière des données obsolètes. Dans le cas des bases de données orientées document comme CouchDB, cela a aussi pour incidence de réécrire une version complète du document à chaque mise à jour, plutôt que de gérer des mises à jour incrémentales constituées de petits morceaux de document liés entre eux et rangés de manière non contigüe. MVCC autorise aussi la création de prise de vue "à un instant donné" (cliché ou snapshot en anglais). En réalité, les transactions avec MVCC utilisent une estampille (timestamp en anglais) qui n'a pas de relation avec le temps, mais consiste en une valeur monotone, unique et incrémentée, valuée à chaque transaction pour déterminer l'état de la base à lire. Ce mécanisme permet d'éviter l'usage de verrous pessimiste dans les transactions car les écritures peuvent être virtuellement isolées des opérations de lecture qui s'effectuent sur les anciennes versions dans la base et qui ont été générées par copie et maintenues tant que la transaction est vivante. Ainsi, considérant une requête en lecture ayant un identifiant de transaction donné, toutes ses valeurs sont consistantes car les opérations d'écriture en cours, mais non encore validées, disposent d'un identifiant de transaction plus élevé. En d'autres termes, MVCC permet à chaque utilisateur connecté de voir une capture de la base. Les modifications apportées ne seront pas visibles par les autres utilisateurs avant que la transaction ne soit validée (commit). En cas de mise à jour concurrente, la transaction qui est la première à valider les modifications, gagne. Les autres perdent (une annulation est forcée) au moment de reporter les mises à jour de la copie dans la base vivante. (fr)
  • Multiversion concurrency control (MCC or MVCC), is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory. (en)
  • Il Controllo della concorrenza multiversione (in inglese: Multiversion concurrency control) in sigla MCC o MVCC, in informatica, nel campo delle basi di dati, è un metodo di Controllo della concorrenza comunemente usato dai sistemi di gestione delle basi di dati per fornire un accesso concorrente alle basi di dati e nei linguaggi di programmazione per implementare una memoria transazionale. Il Controllo della concorrenza multiversione è descritto per la prima volta in dettaglio nel 1981 da Philip Bernstein e Nathan Goodman. Una base di dati implementa gli aggiornamenti selezionando il dato vecchio come obsoleto e aggiungendo la versione nuova del dato, archiviando così più copie dello stesso dato. Questo permette al database di evitare sovraccarichi di azioni di riempimento di buchi in memoria ma richiede (generalmente) che il sistema periodicamente faccia pulizia e cancelli i dati più vecchi impostati come obsoleti.Per una base di dati orientata al documento come CouchDB lo MVCC permette al sistema di ottimizzare i documenti scrivendo interi documenti in sezioni contigue del disco quando lo si aggiorna, l'intero documento può essere riscritto piuttosto che diviso in parti e collegato in aree non contigue. MVCC usa marche temporali o un ID di transazione per determinare quale stato della base di dati bisogna leggere, utile per evitare la gestione dei blocchi in lettura delle transazioni.MVCC fornisce ad ogni utente connesso alla base di dati uno stato della basi di dati stessa, ma ogni cambiamento non sarà visto dagli altri utenti fin quando la transazione non è stata eseguita. (it)
  • 다중 버전 동시성 제어(multiversion concurrency control, MCC, MVCC), 다중 버전 병행 수행 제어는 데이터베이스 관리 시스템이 일반적으로 사용하는 동시성 제어 방식으로, 데이터베이스로의 동시 접근을 제공하고 프로그래밍 언어에서 트랜잭셔널 메모리를 구현한다. 동시성 제어 없이 누군가가 데이터베이스를 읽는 동시에 다른 누군가가 기록을 하려고 한다면 독자는 반쯤 기록되거나 일관성이 없는 데이터를 보게 될 가능성이 있다. MVCC 데이터베이스가 데이터의 업데이트가 필요할 때, 기존 데이터 항목을 새로운 데이터가 덮어쓰는 대신 데이터 항목의 새로운 버전을 만든다. 즉, 여러 버전이 저장된다. 각 트랜잭션이 주시하는 버전은 구현된 격리 레벨에 따른다. MVCC로 구현된 가장 흔한 격리 레벨은 이다. 스냅샷 격리를 사용하는 경우 트랜잭션은 트랜잭션이 시작할 당시처럼 데이터의 상태를 관찰한다. MVCC는 (point-in-time consistent) 뷰를 제공한다. MVCC 상태에서 읽기 트랜잭션은 일반적으로 타임스탬프나 트랜잭션 ID를 사용하여 읽을 DB의 상태를 결정하고 데이터의 버전들을 읽는다. 그러므로 읽기, 쓰기 트랜잭션은 락(lock)의 필요 없이 다른 트랜잭션과 격리된다. 그러나 락이 불필요함에도 불구하고 오라클 등 일부 MVCC 데이터베이스에서는 락이 사용된다. 쓰기는 더 새로운 버전을 만드는 반면, 동시성 읽기는 더 오래된 버전에 접근한다. (ko)
  • MultiVersion Concurrency Control (MVCC, マルチバージョン コンカレンシー コントロール) は、データベース管理システムの可用性を向上させる制御技術のひとつ。複数のユーザから同時に処理要求が行われた場合でも同時並行性を失わずに処理し、かつ情報の一貫性を保証する仕組みが提供される。日本では多版型同時実行制御、多重バージョン並行処理制御などと訳される。また単にマルチバージョンとも呼ばれる。 (ja)
  • Controle de concorrência multiversão (MCC ou MVCC), é um método de controle de concorrência comumente usado por sistemas de gerenciamento de banco de dados para fornecer acesso simultâneo ao banco de dados, ou em linguagens de programação, para implementar memória transacional. Ao serem iniciados novos processos de leitura de um banco de dados, e nesse mesmo instante exitir um outro processo que está atualizando, pode acontecer que o processo de leitura esteja lendo veja apenas uma parte do que está sendo atualizado, ou seja, um dado inconsistente. (pt)
  • Multiversion Concurrency Control (MVCC) – mechanizm kontroli współbieżności. Ogólna koncepcja wykorzystywana w różnej formie przez wiele współczesnych systemów baz danych, sprowadzająca się do umożliwienia jednoczesnego dostępu oraz wykonywania operacji na tych samych danych wielu odbiorcom. (pl)
  • MVCC (англ. multiversion concurrency control — управление параллельным доступом посредством многоверсионности) — один из механизмов СУБД для обеспечения параллельного доступа к базам данных, заключающийся в предоставлении каждому пользователю так называемого «снимка» базы, обладающего тем свойством, что вносимые пользователем изменения невидимы другим пользователям до момента фиксации транзакции. Этот способ управления позволяет добиться того, что пишущие транзакции не блокируют читающих, и читающие транзакции не блокируют пишущих. Первой СУБД, реализовавшей этот механизм, считается Rdb, аналогичные механизмы были реализованы в конце 1980-х годов у InterBase и Oracle Database), в 1990-е годы механизм реализован у PostgreSQL, а в 2000-е годы — почти во всех развитых реляционных СУБД. В дальнейшем этим механизмом оснащён также ряд систем, относимых к классам NoSQL и NewSQL (включая MongoDB, CouchDB, и многие другие), и даже некоторые программные системы, не относимые к категории СУБД (например, , и другие). (ru)
  • Керування паралельним доступом за допомогою багатоверсійності (з англ. MVCC — MultiVersion Concurrency Control) - це метод керування паралельним доступом, який зазвичай використовується системами керування базами даних (СКБД) та в мовах програмування, щоб реалізувати технологію транзакційної пам’яті. Без керування паралельного доступу, якщо хтось зчитує дані бази даних в той же час, коли хтось записує, є можливість, що читач побачить напів написану або непослідовну інформацію. Наприклад, коли виконується банківський переказ між двома банківськими рахунками, то якщо читач подивиться баланс, коли гроші були зняті з оригінального рахунку та перед тим як вони були нараховані на потрібний рахунок, це буде виглядати нібито гроші зникли з банку. Ізоляція – це властивість, що гарантує паралельний доступ до даних. Ізоляція реалізується за допомогою протоколу керування паралельним доступом. Найпростішим методом буде змусити всіх читачів чекати поки записувач не закінчить, що відомо як блокування читання-запису. Такі блокування часто викликають суперечки, особливо між довгими транзакціями читання та обновлення. Задумка MVCC в тому, щоб зберігати декілька копій кожного елементу даних. Таким чином, кожен користувач, що під’єднаний до бази даних в конкретний період часу бачить лише т.н. «знімок» бази даних. Будь-які зміни зроблені записувачем не будуть показані іншим користувачам до їх завершення. Коли база даних, що використовує MVCC, потребує оновити елемент даних, вона не перепише оригінальний елемент даних новою інформацією, а створить новішу версію елементу даних. Таким чином зберігається декілька версій. Версія, що кожна транзакція бачить, залежить від того який рівень ізоляції реалізується. Найбільш часто з MVCC використовують т.н. «знімкову» ізоляцію. З такою ізоляцією, транзакція бачить стан інформації в той час, коли ця транзакція почалась. Але виникає проблема видалення версій, що стали застарілі та ніколи не будуть прочитані. В деяких випадках, виконується процес періодичного очищення застарілих версій. Зазвичай цей процес проходить через всю таблицю та переписує її останньою версією кожного елементу даних. PostgreSQL використовує цей підхід з його VACUUM процесом. Інші бази даних ділять блоки зберігання на дві частини: інформаційну та резервну. Інформаційна завжди зберігає останню версію. Резервна дає можливість відтворення минулих версій даних. Основне обмеження останнього підходу в тому, що при великій кількості оновлень, у резервної частини закінчується місце і транзакції припиняються, бо не можуть отримати їх «знімок». MVCC має узгоджені перегляди. Транзакції читання в MVCC зазвичай використовують мітку часу або ID транзакції, щоб визначити який стан БД прочитати, та прочитати ці версії даних. Транзакції написання та читання таким чином ізольовані без потреби блокування. (uk)
  • 多版本并发控制(Multiversion concurrency control, MCC 或 MVCC),是数据库管理系统常用的一种并发控制,也用于程序设计语言实现事务内存。 MVCC意图解决读写锁造成的多个、长时间的读操作饿死写操作问题。每个事务读到的数据项都是一个历史快照,并依赖于实现的隔离级别。写操作不覆盖已有数据项,而是创建一个新的版本,直至所在操作提交时才变为可见。快照隔离使得事务看到它启动时的数据状态。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 218423 (xsd:integer)
dbo:wikiPageLength
  • 10328 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1121379891 (xsd:integer)
dbo:wikiPageWikiLink
dbp:date
  • June 2018 (en)
dbp:reason
  • This seems to contradict the next paragraph, which states that a transaction is aborted if its read timestamp is earlier than the latest read timestamp on an object (en)
dbp:text
  • If transaction Ti wants to Write to object P, and there is also another transaction Tk happening to the same object, the Read Timestamp RTS must precede the Read Timestamp RTS, i.e., RTS < RTS (en)
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • Multiversion concurrency control (MCC or MVCC), is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory. (en)
  • MultiVersion Concurrency Control (MVCC, マルチバージョン コンカレンシー コントロール) は、データベース管理システムの可用性を向上させる制御技術のひとつ。複数のユーザから同時に処理要求が行われた場合でも同時並行性を失わずに処理し、かつ情報の一貫性を保証する仕組みが提供される。日本では多版型同時実行制御、多重バージョン並行処理制御などと訳される。また単にマルチバージョンとも呼ばれる。 (ja)
  • Controle de concorrência multiversão (MCC ou MVCC), é um método de controle de concorrência comumente usado por sistemas de gerenciamento de banco de dados para fornecer acesso simultâneo ao banco de dados, ou em linguagens de programação, para implementar memória transacional. Ao serem iniciados novos processos de leitura de um banco de dados, e nesse mesmo instante exitir um outro processo que está atualizando, pode acontecer que o processo de leitura esteja lendo veja apenas uma parte do que está sendo atualizado, ou seja, um dado inconsistente. (pt)
  • Multiversion Concurrency Control (MVCC) – mechanizm kontroli współbieżności. Ogólna koncepcja wykorzystywana w różnej formie przez wiele współczesnych systemów baz danych, sprowadzająca się do umożliwienia jednoczesnego dostępu oraz wykonywania operacji na tych samych danych wielu odbiorcom. (pl)
  • 多版本并发控制(Multiversion concurrency control, MCC 或 MVCC),是数据库管理系统常用的一种并发控制,也用于程序设计语言实现事务内存。 MVCC意图解决读写锁造成的多个、长时间的读操作饿死写操作问题。每个事务读到的数据项都是一个历史快照,并依赖于实现的隔离级别。写操作不覆盖已有数据项,而是创建一个新的版本,直至所在操作提交时才变为可见。快照隔离使得事务看到它启动时的数据状态。 (zh)
  • Multiversion Concurrency Control (MCC, MVCC, multi-generational concurrency control) ist ein Verfahren aus der Datenbanktechnik, das dazu dient, konkurrierende Zugriffe auf eine Datenbank möglichst effizient auszuführen, ohne zu blockieren oder die Konsistenz der Datenbank zu gefährden. geschrieben wurde. Der Nachteil dieses Systems sind die Kosten, um viele verschiedene Versionen eines Objekts in der Datenbank zu halten. Auf der anderen Seite werden lesende Zugriffe nie blockiert, was sehr wichtig bei ausgelasteten Datenbanken sein kann, in denen sehr häufig nur gelesen wird. (de)
  • El control de concurrencia mediante versiones múltiples (Multiversion concurrency control o MVCC) es un método para control de acceso generalmente usado por SGBDs para proporcionar acceso concurrente a los datos, y en lenguajes de programación para implementar concurrencia. Dicho de otro modo, MVCC proporciona a cada usuario conectado a la base de datos una instantánea de la misma para él solo. Cualquier cambio que se haga no será visible a los demás usuarios hasta que la transacción se haya completado. (es)
  • Multiversion concurrency control (abrégé en MCC ou MVCC) est une méthode informatique de contrôle des accès concurrents fréquemment utilisée dans les systèmes de gestion de base de données et les langages de programmation concernant la gestion des caches en mémoire. Le principe de MVCC repose sur un verrouillage dit optimiste contrairement au verrouillage pessimiste qui consiste à bloquer préalablement les objets a des garanties de bonne fin. L'inconvénient logique est qu'une mise à jour peut être annulée du fait d'un "blocage" en fin de traitement. (fr)
  • 다중 버전 동시성 제어(multiversion concurrency control, MCC, MVCC), 다중 버전 병행 수행 제어는 데이터베이스 관리 시스템이 일반적으로 사용하는 동시성 제어 방식으로, 데이터베이스로의 동시 접근을 제공하고 프로그래밍 언어에서 트랜잭셔널 메모리를 구현한다. 동시성 제어 없이 누군가가 데이터베이스를 읽는 동시에 다른 누군가가 기록을 하려고 한다면 독자는 반쯤 기록되거나 일관성이 없는 데이터를 보게 될 가능성이 있다. MVCC 데이터베이스가 데이터의 업데이트가 필요할 때, 기존 데이터 항목을 새로운 데이터가 덮어쓰는 대신 데이터 항목의 새로운 버전을 만든다. 즉, 여러 버전이 저장된다. 각 트랜잭션이 주시하는 버전은 구현된 격리 레벨에 따른다. MVCC로 구현된 가장 흔한 격리 레벨은 이다. 스냅샷 격리를 사용하는 경우 트랜잭션은 트랜잭션이 시작할 당시처럼 데이터의 상태를 관찰한다. (ko)
  • Il Controllo della concorrenza multiversione (in inglese: Multiversion concurrency control) in sigla MCC o MVCC, in informatica, nel campo delle basi di dati, è un metodo di Controllo della concorrenza comunemente usato dai sistemi di gestione delle basi di dati per fornire un accesso concorrente alle basi di dati e nei linguaggi di programmazione per implementare una memoria transazionale. Il Controllo della concorrenza multiversione è descritto per la prima volta in dettaglio nel 1981 da Philip Bernstein e Nathan Goodman. (it)
  • MVCC (англ. multiversion concurrency control — управление параллельным доступом посредством многоверсионности) — один из механизмов СУБД для обеспечения параллельного доступа к базам данных, заключающийся в предоставлении каждому пользователю так называемого «снимка» базы, обладающего тем свойством, что вносимые пользователем изменения невидимы другим пользователям до момента фиксации транзакции. Этот способ управления позволяет добиться того, что пишущие транзакции не блокируют читающих, и читающие транзакции не блокируют пишущих. (ru)
  • Керування паралельним доступом за допомогою багатоверсійності (з англ. MVCC — MultiVersion Concurrency Control) - це метод керування паралельним доступом, який зазвичай використовується системами керування базами даних (СКБД) та в мовах програмування, щоб реалізувати технологію транзакційної пам’яті. MVCC має узгоджені перегляди. Транзакції читання в MVCC зазвичай використовують мітку часу або ID транзакції, щоб визначити який стан БД прочитати, та прочитати ці версії даних. Транзакції написання та читання таким чином ізольовані без потреби блокування. (uk)
rdfs:label
  • Multiversion Concurrency Control (de)
  • Multiversion concurrency control (es)
  • Multiversion Concurrency Control (fr)
  • Controllo della concorrenza multiversione (it)
  • MultiVersion Concurrency Control (ja)
  • 다중 버전 동시성 제어 (ko)
  • Multiversion concurrency control (en)
  • Multiversion Concurrency Control (pl)
  • Controle de concorrência multiversão (pt)
  • MVCC (ru)
  • 多版本并发控制 (zh)
  • MVCC (uk)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:knownFor of
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is dbp:knownFor of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License