Hallo,
ich habe vor ein Dateiverwaltungssystem zu bauen. Jetzt habe ich aber grundsätzlich einmal die Frage: physikalisch oder virtuell?
Die physikalische Variante stelle ich mir so vor, dass jeder Benutzer einen eigenen Unterordner (evtl. mit userid als Namen) bekommt und dort dann via PHP Ordner anlegen kann und Dateien uploaden kann. Nur halt "wirkliche" physikalische Ordner.
Die virtuelle Variante stelle ich mir dann so vor, dass auch jeder Benutzer einen eigenen Unterordner bekommen und in diesen Unterordner dann seine Dateien hochladen kann. Eine Orderstruktur wird dann via mySQL in einem Nested Sets Model realisiert.
Ich denke mir mal, dass es für beide Varianten Vor- und Nachteile gibt.
Einige zähle ich jetzt mal auf:
Physikalische Methode:
+ keine Probleme, wenn es einen Datenbankfehler gibt
+ Im System kann der selbe Dateiname mehrfach vorkommen
+ leichtere Administration
- langsame Suche?
- nur begrenzter Zugriff auf META Daten (nur Änderungsdatum, Typ, etc.)
Virtuelle Methode:
+ schnelle Suche durch mySQL
+ META Daten in mySQL (Möglichkeit für Rechtebestimmung etc., u.a. für einen öffentlichen Ordner)
+ keine elend langen Links für Dateien
- Jeder Dateiname darf nur einmal vorkommen, da alle Dateien in einem Ordner sind
- Fehler bei Datenbankcrash
So nun weiß ich nicht, inwiefern meine Vor- und Nachteile zutreffen, aber was denkt ihr? Was würdet ihr bevorzugen?
mfg
Link
ich habe vor ein Dateiverwaltungssystem zu bauen. Jetzt habe ich aber grundsätzlich einmal die Frage: physikalisch oder virtuell?
Die physikalische Variante stelle ich mir so vor, dass jeder Benutzer einen eigenen Unterordner (evtl. mit userid als Namen) bekommt und dort dann via PHP Ordner anlegen kann und Dateien uploaden kann. Nur halt "wirkliche" physikalische Ordner.
Die virtuelle Variante stelle ich mir dann so vor, dass auch jeder Benutzer einen eigenen Unterordner bekommen und in diesen Unterordner dann seine Dateien hochladen kann. Eine Orderstruktur wird dann via mySQL in einem Nested Sets Model realisiert.
Ich denke mir mal, dass es für beide Varianten Vor- und Nachteile gibt.
Einige zähle ich jetzt mal auf:
Physikalische Methode:
+ keine Probleme, wenn es einen Datenbankfehler gibt
+ Im System kann der selbe Dateiname mehrfach vorkommen
+ leichtere Administration
- langsame Suche?
- nur begrenzter Zugriff auf META Daten (nur Änderungsdatum, Typ, etc.)
Virtuelle Methode:
+ schnelle Suche durch mySQL
+ META Daten in mySQL (Möglichkeit für Rechtebestimmung etc., u.a. für einen öffentlichen Ordner)
+ keine elend langen Links für Dateien
- Jeder Dateiname darf nur einmal vorkommen, da alle Dateien in einem Ordner sind
- Fehler bei Datenbankcrash
So nun weiß ich nicht, inwiefern meine Vor- und Nachteile zutreffen, aber was denkt ihr? Was würdet ihr bevorzugen?
mfg
Link

Kommentar