Im Filesystem sind aber mehrere beteiligt, daher bleibt es schwer
-jemand ändert mit der Anwendungssoftware eine Datei im Filesystem und sperrt diese dadurch, wer hat Kontrolle wann und wie die Sperre beendet ist?
-jemand lädt per
ftp eine datei in das filesystem und die Übertragung wird unterbrochen, datei ist also nur halb da ...
-jemand verschiebt einen kompletten Ordner in einen anderen .. wie bekommst du technisch mit das es verschoben wurde und nicht delete und neue Dateien waren ....
das sind nur Teile mit denen ich mich konkret beim Filesystem als Referenz rumärgern musste, es ist auch nicht entweder oder, aber bei uns hat sich bewährt,
in der Datenbank ist die Referenz und für die meisten neuen Dateien gibt es definierte Importpfade und jobs im Hintergrund gleichen nach bestimmten Kriterien
die Inhalte in der
DB mit denen im Filesystem ab, bearbeitung dieser Dateien beginnt aber aus der eigenen Anwendung, die dann den Blobsinhalt lokal als Datei ablegt,
dort die assoziierte Anwendung zu starten und sobald die datei nicht mehr zum Schreiben geöffnet ist, wird die neue Version mit der alten vergleichen und wenn
es sich geändert hat als neuer Blob in der
db abgelegt, der alte bleibt je nach Regelwerk in der
DB für x Versionen in der
DB oder wird in die Archiv
db übertragen
usw. Das passiert mit CAD Zeichnungsdateien, Office Dokumenten usw.
Außer der sowie verfügbaren
tcp/
ip firebird verbindung zum Serer brauch ich nichts anderes, egal wo der Anwender arbeiten möchte, ....
aber wie schon gesagt, ist mehraufwand als einfach nur Datei irgendwo liegen zu haben und nur den ort dieser Datei in die
db zu packen, den Weg geh ich aber nicht, weil
das am ende niemals konsistent sein wird