Maison > Problème commun > Quels sont les trois types d'incohérences de données causées par des opérations simultanées ?

Quels sont les trois types d'incohérences de données causées par des opérations simultanées ?

青灯夜游
Libérer: 2020-09-02 13:20:01
original
20305 Les gens l'ont consulté

Les incohérences de données causées par des opérations simultanées incluent : les modifications perdues, la lecture non répétable et la lecture de données "sales". La raison de ces trois phénomènes est que les opérations concurrentes détruisent l’isolement des transactions. Afin de traiter ces incohérences de données, les principales technologies sont : le blocage, l'horodatage et les méthodes de contrôle optimistes.

Quels sont les trois types d'incohérences de données causées par des opérations simultanées ?

Quelles incohérences de données les opérations simultanées apporteront-elles ( )

A. Modifications perdues, lectures non répétables, lectures sales, blocages

B. Lecture non répétable, lecture sale, blocage

C. Modifications perdues, lectures sales, blocages

D. Modifications perdues, lectures non répétables, lectures sales

Réponse correcte : D

Analyse des réponses :

Les transactions sont concurrentes contrôle L'unité de base de la transaction, garantissant les caractéristiques ACID des transactions, est une tâche importante du traitement des transactions, et l'une des raisons pour lesquelles les caractéristiques ACID des transactions peuvent être endommagées est due aux opérations simultanées de plusieurs transactions sur la base de données.

Les incohérences de données causées par des opérations simultanées incluent la perte de modifications, la lecture non répétable et la lecture de données « sales ».

1. Modifications perdues

Deux transactions T1 et T2 ont lu les mêmes données et les ont modifiées. Le résultat soumis par T2 a détruit le résultat soumis par T1, entraînant la perte de la modification de T1. Exemple typique : acheter des billets d’avion ou des billets de train.

2. Lecture non répétable

La lecture non répétable signifie qu'après que la transaction T1 a lu les données, la transaction T2 effectue une opération de mise à jour, rendant T1 incapable de reproduire les résultats de la lecture précédente.

est divisé en trois situations suivantes :

(1) Après que la transaction T1 ait lu certaines données, la transaction T2 les modifie. Lorsque la transaction T1 lit à nouveau les données, elle obtient une valeur différente de celle-ci. la fois précédente.

(2) Après que la transaction T1 ait lu certaines données, la transaction T2 supprime les enregistrements qu'elle contient. Lorsque la transaction T1 lit à nouveau les données, il s'avère que certains enregistrements ont mystérieusement disparu.

(3) Après que la transaction T1 ait lu certaines données, la transaction T2 insère de nouveaux enregistrements. Lorsque la transaction T1 lit à nouveau les données, elle trouve d'autres enregistrements.

Ces deux dernières opérations sont appelées phénomènes fantômes.

3. Lecture de données « sales »

La lecture de données « sales » nécessite uniquement que la transaction T1 modifie certaines données et les réécrive sur le disque. Une fois que la transaction T2 a lu certaines données, T1 les annule. opération pour une raison quelconque et restaure la valeur d'origine. À ce stade, les données lues par T2 sont incohérentes avec les données de la base de données, ce qui est appelé lecture de données « sales ».

La raison des trois phénomènes ci-dessus est que les opérations concurrentes détruisent l'isolement des transactions. Afin de traiter ces incohérences de données, les principales technologies sont : le blocage, l'horodatage et les méthodes de contrôle optimistes.

Pour plus de connaissances connexes, veuillez visiter : Site Web PHP chinois !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal