Postgresql Datenbank erstellen um viele Bilder zu speichern

Smalltalk
Antworten
psalm1
Beiträge: 182
Registriert: 29.10.2007 20:50:02
Wohnort: Gernsheim

Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von psalm1 » 01.03.2020 17:07:00

Ich habe eigentlich keine Datenbank Kenntnisse aber das hat mich nicht daran gehindert es auszuprobieren. Eine Datenbank möchte ich nutzen um Informationen wiederverwertbar zu haben und durch Abfragen neue Dokumente zu erstellen. Mein jetziger Ansatz ist leider Falsch. Ich protokolliere jede beendete Dienstleistung mit einem Aufkleber der die Auftragsnummer enthält und mit Fotos um einen nachwies zu haben das meine Leistung erbracht wurde. Fotos erhalten Namensbezeichnung die der Auftragsnummer entsprechen. Pro Tag sind das 20 - 40 Bilder. Ich habe alles in eine Tabelle gepackt. Doch jetzt nach einigen Wochen ist es absehbar das dies nicht lang gut gehen wird. Ich habe fast kein Ram mehr. Ich habe mit DBeaver die Tabellen erstellt und mit Libreoffice füttere ich die Datenbank. Mein Swap speicher (2Gig) und ram (8Gig) sind aufgebraucht.
Die Bilder in eine Eigene Tabelle zu verschieben wird das Problem nicht ändern da auch diese Tabelle in den Speicher geladen wird. Wie stellt man es an an viele Bilder in eine Datenbank zu Speichern und trotzdem nicht viel Ram zu belegen. Ich überlegte 53 Tabellen pro Jahr zu erstellen also für je eine Kalenderwoche eine Tabelle aber ich bin mir nicht sicher ob das ein guter Ansatz ist. Wie macht ihr so etwas?

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von schwedenmann » 01.03.2020 17:44:31

Hallo


warum benutzt du nicht sowas wie darktable fotoxx, gwenview, xnview umd Fotossammlungne zu verwalten ?


Ob das mit eiem sql-dbms beser zu verwalten ist, wage ich zu bezweifeln, aber da sollten hoer mal dbms Experten antworten.

Wenn es den unbeding ein dbms sein soll, kannst du sqlite, oder firebird nehmen, muß ja nciht unbedingt postgresql oder mariadb sein :mrgreen:

mfg
schwedenmann

P.S.
Speichere die Informationen: Kunde, Adresse, Auftrag,Datum,Bildnummer, etc. entweder in einer Tabelle per cal oder gnumeric und die Bilder einfach in einem Ordner ohne sie zu verwalten mit fotxx, oder dergleichen, oder benutze für die textinformationen mariadb, firebird oder postgresql oder auch sqlite.

psalm1
Beiträge: 182
Registriert: 29.10.2007 20:50:02
Wohnort: Gernsheim

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von psalm1 » 01.03.2020 18:05:00

Bilder als Daten in einer Datenbank sind Manipulation sicherer als Bilder die jeder Zeit geändert oder ausgetauscht werden können. Das war mein Grundgedanke.

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von bluestar » 02.03.2020 00:05:15

Du solltest einfach eine andere Datenbank, die verwenden, wir haben eine mehrere TB große mongoDB im Einsatz wo Unmengen an PDFs, Mails, Bilder gespeichert sind und das funktioniert wunderbar.

Wenn es PostgreSQL sein soll/muss, dann würde ich dir dazu raten einfach mal die Dokumentation zu lesen. https://www.postgresql.org/docs/current ... jects.html

pferdefreund
Beiträge: 3792
Registriert: 26.02.2009 14:35:56

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von pferdefreund » 02.03.2020 08:20:52

Ich würde das Problem doch eher bei Libre-Office sehen und nicht bei Postgresql. Ich habe da selbst Datenbanken über mehrere Gigabyte und die rennen absolut problemlos.
Mal mit htop schauen, wer wirklich das Ram frißt.

willy4711

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von willy4711 » 02.03.2020 09:10:50

Hmm mir ist nicht so klar, was das Ziel ist.
Offensichtlich stellst du irgendwelche Dienstleistungen her, die eine Fotodokumentation benötigen.
psalm1 hat geschrieben: ↑ zum Beitrag ↑
01.03.2020 17:07:00
Ich protokolliere jede beendete Dienstleistung mit einem Aufkleber der die Auftragsnummer enthält und mit Fotos um einen nachwies zu haben das meine Leistung erbracht wurde. Fotos erhalten Namensbezeichnung die der Auftragsnummer entsprechen.
Wäre es da nicht sinnvoll ein Fakturierungsprogramm mit angeschlossener Dokumentenverwaltung zu benutzen.
Damit ist automatisch der Bezug Kunde --> Auftrag --->Abrechnung --->Dokumentation hergestellt.
Da das bei dir ziemlich aufwändig erscheint, rate ich aus Erfahrung von Selbst gestrickten Dingen ab, wenn man nicht
entsprechend tiefe Programmierkenntnisse besitzt.
psalm1 hat geschrieben: ↑ zum Beitrag ↑
01.03.2020 18:05:00
Bilder als Daten in einer Datenbank sind Manipulation sicherer als Bilder die jeder Zeit geändert oder ausgetauscht werden können. Das war mein Grundgedanke.
Dann wäre es sinnvoll die Bilder in PDF/A zu speichern.
So ein Programm enthält an sich immer nur die Hyperlinks zu den Dokumenten, was an sich kaum Speicher frisst.
Auch Tabellen usw sollten nichts anderes enthalten.
psalm1 hat geschrieben: ↑ zum Beitrag ↑
01.03.2020 17:07:00
Ich überlegte 53 Tabellen pro Jahr zu erstellen also für je eine Kalenderwoche eine Tabelle aber ich bin mir nicht sicher ob das ein guter Ansatz ist. Wie macht ihr so etwas?
Das wäre mit ziemlicher Sicherheit der Weg ins Chaos.

pferdefreund
Beiträge: 3792
Registriert: 26.02.2009 14:35:56

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von pferdefreund » 02.03.2020 12:06:28

Ich würde, wie schon vorgeschlagen, die Bilder in einem schreibgeschützen Ordner aufbewahren und nur den Link dazu in die Datenbank stellen. Bilder erzeugen Gigabytes an Daten in der DB und wenn bei einer Abfrage ein Tablespace-Scan gemacht werden muss, weil der Index nicht verwendet werden kann, dann viel Spaß. Abgesehen davon, würde ich mir mal mein Datenbank-Design überlegen - Pro Woche eine Tabelle, die vom DBMS verwaltet werden muss, wo man die Woche mit in den Schlüssel packen kann ? Eine relationale DB kann auch Schlüssel über mehrere Tabellenspalten erstellen und wenn wirklich Wochensichten gebraucht werden, dafür wurde da die View erfunden so ala create view wochenbilder01 as select * from bilder where woche = 01 oder noch einfacher - in der Anwendung ein and woche = ... mit in den Select einbauen.

psalm1
Beiträge: 182
Registriert: 29.10.2007 20:50:02
Wohnort: Gernsheim

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von psalm1 » 02.03.2020 19:05:26

Danke für die hinweise ... ich werde mich da noch tiefer einlesen.
Mein Problem ist das ich für Kunden tätig bin von denen jeder seinen eignen Schlüssel für erbrachte Leistungen und gewünschte Leistungen hat. Die Tätigkeiten sind nahe zu identisch bis auf Zusätzliche Leistungen. Diese Ähnlichkeit macht es einem schwer sich an einzelne zu erinnern. Spätestens nach paar 100 hat man keinen über blick mehr ob man diese Leistungen erbracht hat geschweige den ob einem ein Fehler unterlaufen ist. Deshalb wollte ich die Dokumentation mit einem Formular und Fotos standardisieren. Pivot Tabellen um bei Unstimmigkeiten eine erste übersieht zu gewinnen und ich hatte das Gefühl auf einem guten Weg zu sein. Mir ist klar das es nicht professionell ist aber es war für kurze Zeit ein funktionierendes Werkzeug um schnell zu prüfen ob Fehler sich eingeschlichen haben. Mit jedem entdeckten Fehler überlege ich mir Strategien diesen nächstes mal zu vermeiden. Für die Prüfung war es mir wichtig Daten und Bild direkt vergleichen zu können. Wenn das so einfach wäre bräuchte keiner zu studieren :-) Ich werde mich in eure Vorschläge mit google einlesen. Danke erst einmal :-)

psalm1
Beiträge: 182
Registriert: 29.10.2007 20:50:02
Wohnort: Gernsheim

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von psalm1 » 03.03.2020 21:05:56

Ich habe mich noch nicht eingelesen weil mir momentan die Zeit fehlt aber am Wochenende nehme ich mir Zeit dafür. Ich habe mich erinnert das digikam auch eine Datenbank beinhaltet und so wie ich das sehe ist es Sqlite das digikam verwendet. Mir ist die Anzahl an Tabellen auf den ersten blick erschlagend und ich sehe auch nicht wie es aufgebaut ist. Wie die es auch machen aber es funktioniert gut; ich habe wirklich viele Bilder und das ohne Probleme mit dem Speicher zu haben. Kann mir einer sagen wo der unterschied ist.

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von bluestar » 04.03.2020 07:37:29

psalm1 hat geschrieben: ↑ zum Beitrag ↑
03.03.2020 21:05:56
Mir ist die Anzahl an Tabellen auf den ersten blick erschlagend und ich sehe auch nicht wie es aufgebaut ist.
Das Schema kannst du nachlesen: https://cgit.kde.org/digikam.git/plain/ ... SCHEMA.ODS
psalm1 hat geschrieben: ↑ zum Beitrag ↑
03.03.2020 21:05:56
Wie die es auch machen aber es funktioniert gut; ich habe wirklich viele Bilder und das ohne Probleme mit dem Speicher zu haben. Kann mir einer sagen wo der unterschied ist.
Tabelle „images“, Spalte „name“, Datentyp „text“ enthält den Dateinamen des Bildes.

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von bluestar » 04.03.2020 07:37:31

psalm1 hat geschrieben: ↑ zum Beitrag ↑
03.03.2020 21:05:56
Mir ist die Anzahl an Tabellen auf den ersten blick erschlagend und ich sehe auch nicht wie es aufgebaut ist.
Das Schema kannst du nachlesen: https://cgit.kde.org/digikam.git/plain/ ... SCHEMA.ODS
psalm1 hat geschrieben: ↑ zum Beitrag ↑
03.03.2020 21:05:56
Wie die es auch machen aber es funktioniert gut; ich habe wirklich viele Bilder und das ohne Probleme mit dem Speicher zu haben. Kann mir einer sagen wo der unterschied ist.
Tabelle „images“, Spalte „name“, Datentyp „text“ enthält den Dateinamen des Bildes.

psalm1
Beiträge: 182
Registriert: 29.10.2007 20:50:02
Wohnort: Gernsheim

Re: Postgresql Datenbank erstellen um viele Bilder zu speichern

Beitrag von psalm1 » 18.03.2020 00:01:49

wow seit ihr klasse.

Danke!

Antworten