none
Push Updates für Objekte mittels NHibernate RRS feed

  • Frage

  • Hallo,

    ich plane eine Applikation (C# mit Windows Forms) bei der ich das ORM mittels NHibernate realisieren möchte (Anbindung an einen SQL Server). 

    Die Anwendung wird von mehreren Personen gleichzeitig genutzt die an verschiedenen Locations sitzen mit einer Latenz von ca. 100ms (ein Datenbankserver). Für die Anwendung ist es jedoch unbedingt notwendig, dass zumindest Teile der Daten immer synchron sind. Ich habe so etwas schon mal versucht rein über einen SQL Server umzusetzen, das hat jedoch den Arbeitsfluss extrem verlangsamt, da die Aktualisierung der Objekte vom SQL Server zu viel Zeit in Anspruch nimmt. Ich wollte daher zusätzlich zur Datenbank auf ein push-system zurückgreifen (vermutlich redis) bei dem Änderungen an Objekten vom Client über einen Server direkt an andere Clients ausgeliefert werden ohne dass diese das Objekt neu von der DB laden müssen.

    Z.B.: Client A ändert ein Objekt, die Änderung wird per redis an Client B weitergegeben und gespeichert (gleichzeitig natürlich auch in der DB). Wenn Client B nun etwas an dem Objekt ändert, sollte die Änderung auch via NHibernate an die DB gegeben werden können und gleichzeitig ein Push via redis erfolgen. Ist so etwas via NHibernate realisierbar oder gibt es dann Probleme weil die Objekte von außen manipuliert werden?

    Kennt ansonsten noch jemand alternative Herangehensweisen an dieses Problem?

    Viele Grüße

    Felix

    Dienstag, 30. Oktober 2012 08:03

Antworten

  • Hi fcologne,

    mit NHibernate kenne ich mich ehrlich gesagt nicht aus.

    Hier aber mal, ein Link , darin wird behauptet man kann es über einen Interceptor machen.

    Hier wird noch eine Lösung über WCF diskutiert ist vielleicht auch ganz Interessant.

    MFG

    Björn

    • Als Antwort markiert fcologne Dienstag, 30. Oktober 2012 19:30
    Dienstag, 30. Oktober 2012 18:07

Alle Antworten

  • Hi fcologne,

    ich denke Remote Singelton Caching , könnte was für die sein. Hab ich selber aber noch nicht mit gearbeitet.

    Ist mir nur beim durchlesen der Caching Guid im Kopf geblieben.

    MFG

    Björn

    Dienstag, 30. Oktober 2012 08:40
  • Hi Björn,

    ok danke für die Antwort. Das hört sich gut an, scheint jedoch komplex in der Umsetzung zu sein (Managing der Verbindungen und der synchronisierung). Wie dort auch steht ist die synchronisierung über ein externes System vll einfacher (redis oder auch ein SQL Server wo man changes zu objekten hinterlegt).

    Weiß jemand wie es generell mit NHibernate aussieht, gibt es einen Weg ein Objekt zu aktualisieren (zum Beispiel einen Wert zu ändern) ohne dass ein Abgleich mit der Datenbank erfolgen muss und man trotzdem damit weiter arbeiten kann?

    Dienstag, 30. Oktober 2012 11:32
  • Hi fcologne,

    mit NHibernate kenne ich mich ehrlich gesagt nicht aus.

    Hier aber mal, ein Link , darin wird behauptet man kann es über einen Interceptor machen.

    Hier wird noch eine Lösung über WCF diskutiert ist vielleicht auch ganz Interessant.

    MFG

    Björn

    • Als Antwort markiert fcologne Dienstag, 30. Oktober 2012 19:30
    Dienstag, 30. Oktober 2012 18:07