phpbar.de logo

Mailinglisten-Archive

[php] Seitenaktualisierung in/mit php

[php] Seitenaktualisierung in/mit php

Oliver Kummerow naklar_(at)_altavista.net
Thu, 10 Feb 2000 17:21:55 +0100


Hi,

afilz_(at)_gmx.net schrieb:
> besteht die moeglichkeit einer aktualisierungsweitergabe in php/mysql auf
> allen browsern, wenn durch einen eine aenderung eingetreten ist? wenn ich
> z.b. 3 aepfel auf der seite anbiete, jemand 2 wegnimmt, dass dann jeder der in
> diesem moment nur noch die aktualiesierte version sieht, sprich nur noch
> einer verfuegbar?
> 
> Oder muesste ich mit einer loesung leben, die da aussieht, das zwar die
> datenbank aktualisiert wird, es jedoch bei jedem der mehr wegnehmen  will als
> zum derzeitigen zeitpunkt verfuegbar ist, eine fehlermeldung bekommt und
> dann er dann freiwillig oder gezwungenermaßen seinen browser aktualiesiert?


Das ist das Aktualitätsproblem von DB-Views. Live-Querys funktionieren
schon gar nicht in einer Web-Umgebung, normalerweise nicht mal in einem
lokalen GUI-Environment. Das Problem konsistenter Views auf Daten ist
(in der Zeitschiene) nur für den unendlich kleinen Moment der Gegenwart
geklärt, eine Winzigkeit später oder früher ist schon wieder alles
falsch, und zwar mit steigender Wahrscheinlichkeit, je mehr Teilnehmer
mit Updateberechtigung vorhanden sind. 

Benachrichtigungssysteme, die das abfangen würden, hätten schön was zu
tun. Stellt man sie _nicht_ auf unendlich kleine Intervalle ein,
verpassen sie garantiert zu irgendeinem Zeitpunkt die Benachrichtigung,
weil sie zu spät kommen. Stellt man sie so ein, würden sie einen
unendlich großen Datenstrom erzeugen & dito unendliche CPU-Last. 

Der Mittelweg in der Praxis heißt, den Zeitpunkt herauszufinden, wann
Falschinformationen gefährlich sein können. Das kann zB dann sein, wenn
eine Bestellung abgeschlossen wird und ein eCommerce-System in dem
Moment nicht bekannt gibt, daß der Lagerbestand bereits durch einen
anderen Besteller auf 0 reduziert wurde, sondern tapfer die Lieferung ad
hoc zusagt (bei beschränkten Lieferverfügbarkeiten drohen nur ganz
theoretisch finanzielle und rechtliche Konsequenzen). Als Hilfsmittel
gibt es Locking (Ausperren von Update-Kandidaten) und die Wahl des
richtigen Zeitpunkts zum Aktualisieren kritischer Informationen.

In Deinem Fall heißt das höchstwahrscheinlich Lösung 2.


mit freundlichen Grüßen, 
oK.


php::bar PHP Wiki   -   Listenarchive