Maison >programmation quotidienne >connaissance de MySQL >Quelles sont les unités de contrôle de concurrence ?

Quelles sont les unités de contrôle de concurrence ?

烟雨青岚
烟雨青岚original
2020-07-08 14:28:3912701parcourir

L'unité de base du contrôle de concurrence est une transaction. Le contrôle de concurrence fait référence à diverses technologies utilisées pour protéger l'intégrité de la base de données lorsque plusieurs utilisateurs mettent à jour et exécutent en même temps ; des mécanismes de concurrence incorrects peuvent entraîner des problèmes tels que des lectures incorrectes, des lectures fantômes et des lectures non répétables.

Quelles sont les unités de contrôle de concurrence ?

L'unité de base du contrôle de concurrence est une transaction.

En informatique, en particulier dans les domaines de la programmation, des systèmes d'exploitation, du multitraitement et des bases de données, le contrôle de concurrence est un mécanisme permettant de garantir que les erreurs causées par des opérations concurrentes sont corrigées en temps opportun.

Le contrôle de concurrence fait référence à diverses techniques utilisées pour protéger l'intégrité de la base de données lorsque plusieurs utilisateurs mettent à jour et exécutent en même temps.

Un mécanisme de concurrence incorrect peut entraîner des problèmes tels que des lectures incorrectes, des lectures fantômes et des lectures non répétables.

Le but du contrôle de concurrence est de garantir que le travail d'un utilisateur n'aura pas un impact déraisonnable sur le travail d'un autre utilisateur.

Dans certains cas, ces mesures garantissent que lorsqu'un utilisateur opère avec d'autres utilisateurs, les résultats obtenus sont les mêmes que lorsqu'il opère seul. Dans d'autres cas, cela signifie que le travail d'un utilisateur est affecté par les autres utilisateurs d'une manière prédéterminée.

Contrôle de concurrence dans les systèmes de gestion de bases de données

La tâche du contrôle de concurrence dans les systèmes de gestion de bases de données (SGBD) est de garantir que plusieurs transactions accèdent à la base de données au même moment. en même temps L'isolement et l'unité de la transaction ainsi que l'unité de la base de données ne sont pas détruits lorsque les mêmes données sont stockées dans la base de données. L'exemple suivant illustre le problème d'incohérence des données causé par des opérations concurrentes :

Il existe deux points de vente de billets de train et le solde des billets dans la base de données de billets d'un certain train est lu en même temps que X. Deux points de vente de billets ont vendu un billet en même temps, ont en même temps modifié le solde à X -1 et l'ont réécrit dans la base de données. Cela a abouti à la vente effective de deux billets de train, mais à un seul manquant dans l'enregistrement. base de données.

La raison de cette situation est que deux transactions lisent les mêmes données et les modifient en même temps. Le résultat soumis par une transaction détruit le résultat soumis par l'autre transaction, provoquant la modification de ses données. perdu et détruit. Isolation des transactions. Le contrôle de concurrence est destiné à résoudre ce type de problème.

Le blocage, les horodatages, le contrôle de concurrence optimiste, le contrôle de concurrence pessimiste, l'isolation multi-version et d'instantanés sont les principaux moyens techniques utilisés pour le contrôle de concurrence.

Tutoriel recommandé : "Tutoriel MySQL"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn