Mailinglisten-Archive |
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