Steuerung des gemeinsamen Zugriffs

Die Steuerung des gemeinsamen Zugriffs verwaltet Konkurrenzsituationen, die beim Zugriff auf Datenressourcen auftreten. Ein Schema für die Steuerung des gemeinsamen Zugriffs gilt als pessimistisch, wenn es eine Ressource zu Beginn der Datenzugriffstransaktion sperrt und erst nach Abschluss der Transaktion wieder freigibt. Ein Schema für die Steuerung des gemeinsamen Zugriffs gilt als optimistisch, wenn Sperren am Ende einer Transaktion und nur für einen kurzen Zeitraum angefordert und wieder freigegeben werden.

Ziel der optimistischen Steuerung des gemeinsamen Zugriffs ist es, die Zeit, in der eine bestimmte Ressource für andere Transaktionen nicht verfügbar ist, so kurz wie möglich zu gestalten. Dies ist insbesondere für lang andauernde Transaktionen wichtig, die in einem pessimistischen Schema eine Ressource für eine unzumutbar zu lange Zeit sperren würden.

In einem optimistischen Schema werden Sperren unmittelbar vor einer Leseoperation gesetzt und unmittelbar danach wieder freigegeben. Aktualisierungssperren werden unmittelbar vor einer Aktualisierungsoperation gesetzt und bis zum Ende der Transaktion aufrecht erhalten.

Zum Aktivieren der optimistischen Steuerung des gemeinsamen Zugriffs verwendet dieses Produkt ein überqualifiziertes Aktualisierungsschema, um festzustellen, ob die zugrunde liegende Datenquelle nach dem Beginn der aktuellen Transaktion von einer anderen Transaktion geändert wurde. In diesem Schema werden die für Aktualisierung markierten Spalten und ihre Originalwerte explizit über eine WHERE-Klausel zu der UPDATE-Anweisung hinzugefügt, sodass die Anweisung fehlschlägt, wenn die Spaltenwerte geändert wurden. Demzufolge bietet dieses Schema eine Steuerung des gemeinsamen Zugriffs auf Spaltenebene. Pessimistische Schemata können den gemeinsamen Zugriff nur auf Zeilenebene steuern.

Optimistische Schemata führen diese Art von Test üblicherweise nur am Ende einer Transaktion aus. Wenn die zugrunde liegenden Spalten seit Beginn der Transaktion nicht aktualisiert wurden, werden anstehende Aktualisierungen für CMP-Felder festgeschrieben und die Sperren freigegeben. Falls keine Sperren gesetzt werden können oder eine andere Transaktion die Spalten nach Beginn der aktuellen Transaktion aktualisiert hat, wird die Transaktion rückgängig gemacht (Rollback). Alle bisher in der Transaktion durchgeführten Operationen gehen verloren.

Pessimistische und optimistische Schemata für gemeinsamen Zugriff erfordern unterschiedliche Isolationsstufen für Transaktionen. Enterprise-Beans, die an derselben Transaktion teilnehmen, aber unterschiedliche Schemata für die Steuerung des gemeinsamen Zugriffs erfordern, können nicht in derselben zugrunde liegenden Datenverbindung arbeiten.

Bewährte Verfahren: Von der Art der Transaktion hängt ab, ob ein optimistischer gemeinsamer Zugriff verwendet werden soll. Für Transaktionen, in denen das Auftreten von Fehlern schwerwiegende Konsequenzen hat, empfiehlt sich ein pessimistisches Schema. (Ein Beispiel für eine solche Transaktion ist eine Transaktion, die nur mit hohem Risiko und hoher Ressourcenbelastung wiederhergestellt werden kann.) Bei Transaktionen, in denen das Auftreten von Fehlern nur unerhebliche Konsequenzen hat, lohnt es sich häufig, das Fehlerrisiko einzugehen, um durch Verwendung eines optimistischen Schemas einen Effektivitätsnutzen zu erzielen. Im Allgemeinen ist ein optimistischer gemeinsamer Zugriff effektiver, wenn Kollisionen bei Aktualisierungen eher selten zu erwarten sind. Ein pessimistischer gemeinsamer Zugriff empfiehlt sich, wenn häufiger Kollisionen bei Aktualisierungen zu erwarten sind.

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cejb_cncr
Dateiname:cejb_cncr.html