![]() |
AW: Software-Datenmodell Redesign - Möglichkeiten
Bei DataSnap, bzw. RAD-Server, sowie auch einigen anderen IPC-Frameworks,
kann man DataSets als Parameter übergeben und als VAR-Parameter oder Result abrufen. Die DB-Verbindung oder sonstwas wäre in der Middleware (Server) und die Clients bekämen die Daten von dort durchgereicht. Für langsame Query, hatten wir mal eine Liste von DataSets im Apps, dort wurden sie regelmäßig in einem Thread aktualisiert und dann konnten die Clienten sie gemütlich abrufen. * der Aufruf der Runterladfunktion kommt je in einem Thread an * dort wurde via CriticalSections das jeweilie DataSet kurz gesperrt * dann schnell in ein MemoryDataset (z.B. dxMemData oder CDS) umkopiert * anschließend das MemoryDataset als Result rausgegeben (mit OwnsObjects, damit Datasnap das dann freigibt, wenn fertig) * im Client kam dann eine Kopie dieses Datasets an (das lief in einem DownloadThread) * und anschließend wurde das DataSet im Hauptthread (Synchronize) ans Grid gehängt (das alte DataSet dabei freiegeben) Inzwischen nutzen wir aber MATERIALIZED VIEWs im Postgres, welche die Clients vom DBServer laden, und die regelmäßig über den Apps aktualisiert werden. |
AW: Software-Datenmodell Redesign - Möglichkeiten
Danke himitsu,
so wie du es für die langsamen Queries beschrieben hast machen wir es bereits ähnlich (nicht identisch). Aber der Einwand mit dem DataSnap/Rad-Server ist sehr hilfreich! Das werde ich mir nochmal im Detail anschauen, da ich mir die Erweiterbarkeit nicht so Umstandsbehaftet wie mit DataSets in Kombination mit CriticalSections vorstelle. |
AW: Software-Datenmodell Redesign - Möglichkeiten
Zitat:
Zitat:
![]() Ich empfehle dir, dass du dir das genau anschaust, was er dazu schreibt. Ich habe das nur überflogen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz