Seite 1 von 1

Datenbankabfrage bei Update

Verfasst: Samstag 14. Januar 2023, 14:04
von mirko3107
Hi,

ich schreibe per sqlalchemy und pandas regelmäßig Dataframes in eine Datenbank (mariadb) und lese diese dann in einem anderen
Script wieder aus (streamlit).

Wie kann es hinbekommen, dass das auslesende Programm ein Datenbankupdate mitbekommt? Quasi auslesen, sobald die ein neues Dataframe
in die Datenbank geflossen ist.

Danke

Re: Datenbankabfrage bei Update

Verfasst: Samstag 14. Januar 2023, 14:29
von nezzcarth
Muss es mariadb sein oder ginge auch Postgres? Postgres hat Features (z.B.NOTIFY), mit denen man sowas direkt von der Datenbank aus machen kann. Ansonsten muss man etwas kreativer werden, geht aber sicher auch.

Re: Datenbankabfrage bei Update

Verfasst: Samstag 14. Januar 2023, 14:53
von mirko3107
MariaDB wäre gut, sonst müsste ich hier alles umstellen

Re: Datenbankabfrage bei Update

Verfasst: Samstag 14. Januar 2023, 15:09
von __deets__

Re: Datenbankabfrage bei Update

Verfasst: Montag 23. Januar 2023, 17:00
von mirko3107
Ok, wenn das doch so kompliziert ist, bleib ich dabei und schreib bei jedem Datenbank-Update etwas in eine Datei und frage dann in streamlit den Timestamp der Datei ab

Re: Datenbankabfrage bei Update

Verfasst: Donnerstag 26. Januar 2023, 19:20
von LukeNukem
mirko3107 hat geschrieben: Montag 23. Januar 2023, 17:00 Ok, wenn das doch so kompliziert ist, bleib ich dabei und schreib bei jedem Datenbank-Update etwas in eine Datei und frage dann in streamlit den Timestamp der Datei ab
Wenn Du ohnehin in eine Datenbank schreibst, kannst Du Deinen Timestamp doch auch dort ablegen?

Re: Datenbankabfrage bei Update

Verfasst: Donnerstag 2. Februar 2023, 20:33
von mirko3107
Klar, aber wie bekommt ein Client mit, dass dieser upgedatet wurde?

Re: Datenbankabfrage bei Update

Verfasst: Donnerstag 2. Februar 2023, 20:40
von __deets__
Kann streamlit nicht einfach in die DB schauen?

Re: Datenbankabfrage bei Update

Verfasst: Freitag 3. Februar 2023, 09:50
von DeaD_EyE
Der Client könnte z.B. nach jedem Query in eine Tabelle schreiben, wo er als Letztes gewesen ist. Der Client (Server ) muss dann die DB pollen und die neuen Datensätze dem UI zuweisen. Ggf. kann redis auch behilflich sein, Updates zu pushen.