Einzelnen Beitrag anzeigen

Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#9

AW: Wer nutzt denn alles DataSnap?

  Alt 16. Feb 2011, 07:22
Nicht wirklich. Cacheing macht in N-Tier-Umgebungen nahezu überhaupt keinen Sinn. Das Problem ist durch die Skalierbarkeit gegeben. Was für einen Sinn macht es, wenn der Application Server auf Maschine 1 Daten cached, die auf Maschinen 2, 3 und 4 gerade (ggf. gegensätzlich) verändert wurden? Um die Caches immer über alle Maschinen aktuell zu halten würde man so viel Synchronisierungs-Overhead erzeugen, das es keinen Sinn mehr machen würde das überhaupt in eine Separate Logik-Schicht auszulagern. Die Datenbank cached schon genug, daher besteht keine Notwendigkeit eine weitere Cache-Schicht einzuziehen. Um Datenbanken über die Verwendung größerer Cluster hinaus zu skalieren muss man anfangen, Daten zu partitionieren. Auch hier macht Cacheing gar keinen Sinn.
Diese Aussage ist in ihrer Pauschalität nicht richtig. Letztendlich geht es in jeder (Multi-Tier-) Anwendung um die Kosten für die Verarbeitung und Beschaffung der Daten. Nebenläufigkeiten () wie die Wahl zwischen Skalierbarkeit und Verfügbarkeit lasse ich hier erstmal weg:
Ein Cache kann durchaus Sinn ergeben, auch über verschiedene Instanzen eines Anwendungsservers hinweg. Sind die Kosten für bestimmte Datenbankabfragen besonders hoch, so implementiert man seit Jahren in den verschiedensten Anwendungen eine Caching-Protokoll, was diese Instanzen aktualisiert. Das ist nichts Neues.

Nimmt man dann doch noch die Verfügbarkeit des Gesamtsystems mit in die Waagschale, so ist es unerlässlich sich über ein zentrales Session-Management Gedanken zu machen. Spätestens da muss man sich über Caches und deren Synchronisation Gedanken machen.

Eine skalierbare Infrastruktur zu bauen ist nicht weiter kompliziert. Eine verfügbare Infrastruktur dagegen schon.
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat