Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Grundsatzfrage: Datenbanken und Parallelausführung

  Alt 17. Sep 2018, 07:14
Datenbank: Firebird • Version: 2.5 • Zugriff über: FIB Pro
Moin!

Ist es möglich bzw. sinnvoll, Datenbankoperationen (auch UPDATE, INSERT, DELETE) aus einem Thread/Task/whatever heraus zu tätigen? Ich bin an einem Themenblock dran, der sich eigentlich sehr gut für Parallelisierung eignen würde. Der ganze Aufgabenblock ist schon ordentlich gekapselt und erzeugt bereits seine eigenen Queries und Transactions. Ich müsste nur noch jedem Thread eine eigene Connection geben. Dann wären sie tatsächlich unabhängig vom Mainthread. Eine Synchronisierung ist nur sehr selten bis fast gar nicht notwendig, weil es zwischen Thread und Mainthread keine Interaktion/Visualisierung geben braucht. Allerdings weiß ich eben nicht, wie Threadsafe die FIB Pro Tools sind.

Zweite Möglichkeit die ich mir vorstellen könnte wäre es, die Aufgabe nur teilweise zu parallelisieren. Es sind auch Online-Abfragen mit Indy im Spiel, welche für die Latenzen sorgen, die mich überhaupt erst auf die Idee gebracht haben. Die Datenbankoperationen würde ich dann im Hauptthread synchronisiert ausführen. Wäre machbar, weil die DB-Operationen schnell erledigt sind (lohnt sich nicht mal eine Eieruhr).

Bevor ich da aber viel Arbeit vergeblich rein stecke wollte ich einfach mal eure Meinung dazu.

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat