Immer mit Remote-DB verbinden?

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
ErwinH
Beiträge: 53
Registriert: 15.12.2018, 08:51
Wohnort: Offenbach
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Immer mit Remote-DB verbinden?

Beitrag von ErwinH » 04.08.2023, 16:20

Mein Datensammler ist ein relativ schwachbrüstiger PC der Art NUC, der für das Einsammeln der Daten völlig ausreicht, bei Auswertungen aber schnell überfordert ist. Nach meinem Verständnis passiert das meiste sowieso im Browser, daher möchte ich die Installation des Historian auf meiner Workstation so konfigurieren, dass er sich beim Start nicht mit einer lokalen, sondern mit der Remote-DB auf dem "NUC" verbindet (so wie ich das im Menüpunkt "Datenbank" ja machen kann).
Die Möglichkeit, die Verbindungs-URL für die DB anzugeben, habe ich in der Config-Datei nicht gefunden: ist sie nicht da oder übersehe ich etwas?
Wäre das leicht machbar oder macht es keinen Sinn?

Erwin

Benutzeravatar
Baxxy
Beiträge: 11027
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 631 Mal
Danksagung erhalten: 2283 Mal

Re: Immer mit Remote-DB verbinden?

Beitrag von Baxxy » 04.08.2023, 23:33

Du legst doch in der config fest wo die Datenbank liegt.
Beispiel:

Code: Alles auswählen

database.dir='/media/usb0/CCU-Historian-Database'
Das kann natürlich auch ein Mount auf deiner Workstation sein der auf einen Share auf deinem NUC zeigt.

Ob das Sinn macht musst du probieren.
Bei mir liegt die Datenbank auf einem NAS, Historian läuft als AddOn innerhalb einer RaspberryMatic-VM.

ErwinH
Beiträge: 53
Registriert: 15.12.2018, 08:51
Wohnort: Offenbach
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: Immer mit Remote-DB verbinden?

Beitrag von ErwinH » 05.08.2023, 08:06

Ein Datenbank-Server sollte auf seine Datei(en) typischerweise nicht über irgendeine Art von Netzwerkprotokoll zugreifen, da dann die transaktionale Konsistenz ggfs. nicht garantiert ist (kann funktionieren und wird es meistens auch, muss es aber nicht). So auch bei H2 (der hier verwendeten DB): da wird genau deshalb zwischen dem lokalen und dem Zugriff über TCP unterschieden (kann man unter Werkzeuge / Datenbank selber mit experimentieren). Die Idee ist daher, dass der DB-Server (sprich: Historian) auf dem System gestartet wird, auf dem auch die DB liegt (ich nenne es mal den "Datensammler") und damit lokal auf die DB-Datei(en) zugreift. Gleichzeitig nimmt er nach dem Start Verbindungen über TCP entgegen (entsprechend korrekte Authentifizierung vorausgesetzt) und man kann von einer anderen Maschine aus auf die Datenbank zugreifen, ohne physikalisch auf die DB-Datei(en) zugreifen zu müssen (und hat damit das oben beschriebene Problem nicht - Client/Server-Modell).

Es wäre also schön, wenn man dem Historian auf einem Nicht-Datensammler-System sagen könnte, sich über TCP mit dem Server auf dem Datensammler (und damit gegen dessen DB) zu verbinden. Das sollte über einen Eintrag in der Config-Datei (mit der URL des Datensammlers) zu erreichen sein.

Erwin

Mathias
Beiträge: 1805
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 60 Mal
Danksagung erhalten: 266 Mal
Kontaktdaten:

Re: Immer mit Remote-DB verbinden?

Beitrag von Mathias » 05.08.2023, 14:51

Generell darf die Datenbankdatei nicht gleichzeitig von zwei CCU-Historians verwendet werden!!!
Es wäre also schön, wenn man dem Historian auf einem Nicht-Datensammler-System sagen könnte, sich über TCP mit dem Server auf dem Datensammler (und damit gegen dessen DB) zu verbinden. Das sollte über einen Eintrag in der Config-Datei (mit der URL des Datensammlers) zu erreichen sein.
Das ist eine interessante Idee. Allerdings liegt dann die Datenbank immer noch auf dem langsameren System, wodurch auch lesende Anfragen nicht schneller werden.

ErwinH
Beiträge: 53
Registriert: 15.12.2018, 08:51
Wohnort: Offenbach
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: Immer mit Remote-DB verbinden?

Beitrag von ErwinH » 06.08.2023, 07:36

Das ist eine interessante Idee. Allerdings liegt dann die Datenbank immer noch auf dem langsameren System, wodurch auch lesende Anfragen nicht schneller werden.
Ja, das stimmt natürlich. Da ich nicht weiß, wie der Historian intern genau funktioniert und wieviel Zeit genau wo verbraucht wird, kann es sein, dass das gar nichts oder nur sehr wenig bringt. Wäre mal ein interessanter Test...

Antworten

Zurück zu „CCU-Historian“