Optimistic Concurrency
aus Wikipedia, der freien Enzyklopädie
Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf bitte mit ihn zu verbessern und entferne anschließend diese Markierung. |
Optimistic Concurrency ist ein Verfahren, um beispielsweise in Warenwirtschaftssystemen den parallelen Zugriff von mehreren Benutzern auf denselben Datensatz konfliktarm und ohne Inkonsistenzen zu regeln. Bei der Optimistic Concurrency wird mehreren Nutzern Parallelzugriff gewährt. Somit haben alle Benutzer grundsätzlich Leserechte, um z.B. Artikelinformationen aufzurufen oder auszudrucken. Wenn aber ein Artikel von einem der Benutzer geändert wurde, so bekommen andere Nutzer, die den selben Datensatz fast zeitgleich zu ändern versuchen, eine Benachrichtigung, dass der Artikel aktualisiert wurde. In diesem Fall ist also der Nutzer privilegiert, der zuerst den Datensatz geändert hat. Wenn der Nutzer den Datensatz verlässt wird ihm sein Privileg wieder entzogen und ein nächste Anwender erhält Schreibzugriff.
Im Gegensatz dazu wird bei der Pessimistic Concurrency beim Zugriff eines Benutzers auf den Datensatz der Schreib- und Lesezugriff für alle anderen Nutzer gesperrt. Es ist damit also für weitere Benutzer nicht mehr möglich, einen Datensatz aufzurufen oder auszudrucken, bis der Datensatz wieder freigegeben wird.
Bei der Pessimistic Concurrency wird angenommen, dass ein Datensatz bei (fast) jedem Zugriff geändert werden soll. Die Optimistic Concurrency hingegen geht von der Prämisse aus, dass Datensätze vorwiegend für den Lesezugriff geöffnet werden.
Die Optimistic Concurrency minimiert Zugriffskonflikte im laufenden Betrieb, da nur gelichzeitige Zugriffe für Änderungen zu einem Konflikt führen, gleichzeitige Lesezugriffe hingegen nicht.