Skip to main content

Was ist die Kontrolle der Parallelität?

Bei der Datenverwaltungsprogrammierung ist die Concurrency Control ein Mechanismus, der sicherstellt, dass genaue Ergebnisse durch gleichzeitige Operationen generiert werden.Diese Ergebnisse müssen auch rechtzeitig erhalten werden.Die Genauigkeitskontrolle wird in Datenbanken sehr häufig angezeigt, in denen es einen Cache mit durchsuchbaren Informationen gibt, die Benutzer erhalten können.Dies bedeutet, dass Daten, die Kontakt mit Transaktionsmengen aufnehmen, in einem bestimmten Zustand liegen, in dem die Ergebnisse erhältlich sind, wenn alle Transaktionen seriell und in einer bestimmten Reihenfolge ausgeführt werden.Manchmal sind diese Daten ungültig, da sie gleichzeitig durch zwei Transaktionen geändert werden.

Es gibt mehrere Möglichkeiten, um sicherzustellenZugang.Dies ist jedoch übertrieben und erlaubt einem Programmierer nicht, von der Parallelitätskontrolle in einem verteilten System zu profitieren.Die gleichzeitige Steuerung ermöglicht die gleichzeitige Ausführung mehrerer Transaktionen, während diese Transaktionen voneinander ferngehalten werden und die Linearisierbarkeit gewährleistet.Eine Möglichkeit zur Implementierung der Parallelitätskontrolle ist die Verwendung einer ausschließlichen Sperre für eine bestimmte Ressource für serielle Transaktionsausführungen, die Ressourcen teilen.Transaktionen sperren ein verwendetes Objekt, das verwendet werden soll, und wenn eine andere Transaktion eine Anforderung für das gesperrte Objekt stellt, muss diese Transaktion darauf warten, dass das Objekt freigeschaltet wird.Server, die Ressourcensperrungen ausstellen.Dies ist den Servern für zentralisierte gegenseitige Ausschlüsse sehr ähnlich, bei denen Clients Sperrungen anfordern und Nachrichten für die Veröffentlichung von Sperren für eine bestimmte Ressource senden können.Die Erhaltung der seriellen Ausführung ist jedoch weiterhin für die Kontrolle der Parallelität erforderlich.Wenn zwei separate Transaktionen auf einen ähnlichen Objektsatz zugreifen, müssen die Ergebnisse ähnlich sein und wie diese Transaktionen in einer bestimmten Reihenfolge ausgeführt wurden.Um die Reihenfolge für den Zugriff auf eine Ressource zu gewährleisten, wird zweiphasige Sperren eingeführt, was bedeutet, dass Transaktionen bei der Freisetzung eines separaten Schlosses keine neuen Sperren zulässig sind.Phase, in der die Transaktion ihre benötigte Schloss erwirbt.Die nächste Phase gilt als schrumpfende Phase, in der in der Transaktion ihre Schlösser freigesetzt werden.Es gibt Probleme mit dieser Art von Sperren.Wenn Transaktionen abbrechen, können andere Transaktionen Daten von Objekten verwenden, die durch abgebrochene Transaktionen geändert und freigeschaltet werden.Dies würde dazu führen, dass andere Transaktionen abgebrochen werden.