MariaDB -> Bilder, PDF, Dokumenten und Videos einbinden

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
navyseabear
Beiträge: 16
Registriert: So 21. Jan 2018, 09:27

MariaDB -> Bilder, PDF, Dokumenten und Videos einbinden

Beitrag von navyseabear »

Moin moin,
da meine Frau eine schier unermessliche Anzahl von Fotos, Videos, PDF und anderen Dokumenten für ihr Hobby besitzt aber dabei vollkommen den Überblick verloren hat, möchte ich nun eine kleine Anwendung schreiben die ihr dabei helfen soll.
Also, Ziel sollte es sein, dass sie mit Schlagwörtern, Kategorien und anderen Punkten genau die Dokumente und anderen Dateien findet, die sie benötigt. Soweit ja kein Hexenwerk mit Lazarus. Wo ich aber nun ein Problem habe, ist was ich mit den ganzen Dateien mache.

Idee 1
Alles in den entsprechenden Datensatz einbinden und in MariaDB speichern
Vorteil:
alles in einer Datenbank, was die Sicherung dieser extrem vereinfacht. Kein Zugriff mehr durch meine Frau außerhalb der neuen Software
Nachteil:
sehr große Datenbank und vermutlich auch sehr schwerfällig und zäh in der Ausführung


Idee 2
Nur die reinen Daten im Datensatz speichern und die Dateien extern speichern
Vorteil:
Die Datenbank ist klein und schnell
Nachteil:
Ich muss die Dateien separat sichern und immer sicherstellen, dass die Pfade und Dateinamen stimmen und vorhanden sind, meine Frau kann nach wie vor Dateien verändern, umbenennen oder verschieben und damit die Datenbank schrotten

Leider hat meine Frau die Angewohnheit ihre Dateien ständig umzubenennen und / oder diese neu zu sortieren und damit wo anders abzuspeichern.
Daher muss ich zwingend bei Idee 2 dafür sorgen, dass meine Frau keinen Zugriff mehr, unter Umgehung der neuen Software, auf diese Dateien bekommt.
Für unser Netzwerk nutze ich einen NAS von Synology und auch die dort vorhandene MariaDB schon für andere Projekte. Auf allen Rechnern im Haus läuft nur Linux.

Ich persönlich tendiere ganz klar in Richtung Idee 2. Leider ergeben sich hier nun ein paar Fragen.

Meine Frage nun wäre:
Wie würdet ihr in diesem Fall vorgehen? Idee 1 oder Idee 2?
Wie stelle ich bei Idee 2 sicher, dass meine Frau später keinen Zugriff mehr auf diese Dateien außerhalb der neuen Software bekommt?
Wie stelle ich bei Idee 2 sicher, dass die Integrität der Datenbank und Daten immer gewährleistet ist?
Gibt es vielleicht die Möglichkeit das ganze so einzurichten, dass nur meine Anwendung / MariaDB auf ein Verzeichnis Zugriff hat? Quasi das meine Software die Dateien beim anlegen des Datensatzes dorthin verschiebt? Dann wäre die Sicherung dieses Verzeichnisses auch nicht weiter schwer!

Bin für jede Idee und jede Anregung dankbar.
Und ja, es gibt bestimmt bessere und andere Datenbanken. Ich habe aber MariaDB schon am laufen bei mir und bis soweit ganz zufrieden damit. Wie gesagt, Hobbyanwendungen und nur rein privat.

mfg
Tobias

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: MariaDB -> Bilder, PDF, Dokumenten und Videos einbinden

Beitrag von theo »

Ich würde Idee 2 machen. Naja, eigentlich würde ich wahrscheinlich ein fertiges DMS benutzen.
Der Frau würde ich einfach erklären, worum es geht. Die Daten kannst du ja irgendwo ablegen, wo sie nicht danach sucht.
Auf Linux Desktop reicht eigentlich ein Verzeichnis mit einem Punkt vorne dran.
Wenn sie trotzdem das System schrotten will, ist es ja ihr Problem. :mrgreen:

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: MariaDB -> Bilder, PDF, Dokumenten und Videos einbinden

Beitrag von PascalDragon »

navyseabear hat geschrieben:
So 18. Okt 2020, 14:09
Wie stelle ich bei Idee 2 sicher, dass meine Frau später keinen Zugriff mehr auf diese Dateien außerhalb der neuen Software bekommt?
Wie stelle ich bei Idee 2 sicher, dass die Integrität der Datenbank und Daten immer gewährleistet ist?
Gibt es vielleicht die Möglichkeit das ganze so einzurichten, dass nur meine Anwendung / MariaDB auf ein Verzeichnis Zugriff hat? Quasi das meine Software die Dateien beim anlegen des Datensatzes dorthin verschiebt? Dann wäre die Sicherung dieses Verzeichnisses auch nicht weiter schwer!
Du könntest deine Anwendung als Dienst mit einem anderen Benutzer laufen lassen, wobei die Dateien und Verzeichnisse so eingestellt sind, dass sie nur von diesem Benutzer geändert werden können. Die normale Clientanwendung kommuniziert dann mit diesem Dienst, wenn sie eine bestimmte Datei haben oder anlegen möchte. In der Datenbank steht dann nur entsprechend der Pfad relativ zum Basisverzeichnis dieser Dateien (Vorteil: du musst nur die Datenbank und das Basisverzeichnis sichern, auf nem neuen System musst du nur eventuell den Pfad zum Basisverzeichnis anpassen, da alle Pfad in der Datenbank relativ dazu sind).

In der Datenbank kannst du dann noch unabhängige Namen für alle Dateien vergeben, damit deine Frau sich austoben kann, was die Namen angeht. ;)
FPC Compiler Entwickler

EgonHugeist
Beiträge: 93
Registriert: Di 17. Apr 2012, 22:41

Re: MariaDB -> Bilder, PDF, Dokumenten und Videos einbinden

Beitrag von EgonHugeist »

@navyseabear

um dir die Entscheidung etwas leichter zu machen... Du redest von !Videos! und womöglich großen RAW? Bildern..
Solltest du dich für eine Datenbank Lösung entscheiden, solltest du wissen, welche mit Data-steaming wirklich vernünftig umgehen kann:
  • 1. Postgres (OID-Lobs)
  • 2. Firebird/Interbase
  • 3. Oracle
Oracle bietet auch optional einen BFILE type an. Soll heißen du kanns die Daten von einer Datei über einen Datenbank-Stream direkt lesen, jedoch nicht schreiben(nur absolute/relative Pfade ändern). Die Developer Edition ist kostenfrei. Programme von MAGIX benutzen z.B. FireBird.

Alle anderen RDBMS fallen, meiner Meinung nach, bei deinem Vorhaben völlig durch. Ja sie können alle LOB's aber sie sind nicht in der Lage große Daten zu Streamen. Somit ist ein EOutOfMemory die logische Folge.

Vorteil von PG/IB/FB/Oracle(ohne BFILE-Lösing) wäre ein ein einziges File als Backup. Fluch/Segen: alle läuft über die DB.
Zeos unterstützt alle genannten Optionen.
ZeosDevTeam

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: MariaDB -> Bilder, PDF, Dokumenten und Videos einbinden

Beitrag von charlytango »

Aus meiner Sicht definitiv Idee 2

Denk daran dass der Köder dem Fisch schmecken muss, nicht dem Angler.
Meine Erfahrung mit Benutzern ist, dass sie das nutzen was sie kennen und das was am bequemsten/einfachsten für sie ist.

Sorg dafür dass die Oberfläche mit der sie die Daten(-dateien) bearbeitet so bequem und performant ist, dass sie nur mehr diese Oberfläche verwendet -- nämlich auch fürs Umbenennen, verschieben, neu ordnen der Files.
Also eine Art bequemer Dateimanager (Mit einfachster Umbebennung, verschieben, drag/drop etc) gekoppelt mit einer Datenbank die alle nötigen Informationen sofort beim Arbeiten möglichst unauffällig in der Datenbank synchronisiert.

Suche, Überblick uvam wird aus der DB gespeist und alles andere, ZB das Abspielen und ansehen von Daten (Musik, video, Fotos etc) über das Dateisystem und verbundene Applikationen oder direkt aus Lazarus aufgerufene Applikationen.

Ähnlich wie das die besseren und bekannteren Musikplayer tun (iTunes, Mediamonkey etc).
Die benutzen intern eine Datenbank zur Anzeige und Navigation von Tag-Informationen und spielen dann die betreffende Datei dann ab.

Ich würde das insofern verbessern indem man ein komplett duales System baut (wenn man eh schon die DB mit dem Dateisystem und den Pfaden zu den Dateien synchronisieren muss). Anders gesagt ein System das in der Lage ist aus dem Dateisystem die komplette DB selbst aufzubauen.

Also in die Dateien wo es möglich ist direkt Tags in die Dateien schreiben UND in der DB mitfürhen.
Gruppierungen bzw "Playlists" (zb "Urlaub 2018 Capri) als Playlist Dateien auch in Verzeichnissen verwalten.
Mit so einer Strategie kannst du auch andere Programme (zB Musikplayer) auf das Dateisystem loslassen und das Verzeichnis scannen lassen und genauso benutzen.

Auch die Sicherung ist damit ein Klacks. Das Backup auf der Synology kann wie gewohnt benutzt werden und die MySQL DB genauso.
Und die einzelnen Dateien sind dann nicht riesig und die meisten bleiben immer ungeändert, werden also von einer Differezsicherung nicht angegriffen.

Antworten