Moin,
der eine oder andere mag es wissen, dass ich mich mit einem Foren-Projekt befasse. In den einschlägigen Supportforen wird eine Frage immer wieder diskutiert: Legt man binäre Daten (in diesem Fall Attachments) lieber als Dateien im Dateisystem ab oder steckt man sie mit in die Datenbank.
Da gibt es einmal die, die sagen "Daten in die
DB, Dateien ins Filesystem". Ich halte die Aussage für zu pauschal, da Anhänge und Bilder in diesem Zusammenhang sehr wohl Daten sind. Auf einem popeligen Shared-Webhosting mit 5.000+ Nutzern auf einem
DB-Server und einer limitierten
DB-Größe von maximal 30 MBytes würde ich ebenfalls davon abraten, dort noch Anhänge unterbringen zu wollen - logisch.
Bei Backups ist das Hantieren mit Verzeichnisstrukturen, die 30.000+ Dateien enthalten, auch nur bedingt spaßig. Da lasse ich lieber die
DB kopieren, die dann halt um 7 GBytes groß ist. Die Verbindung zum Backup-Server ist schnell, das juckt mich eigentlich nicht.
Wie könnte ich jetzt zu sinnvollen Aussagen darüber kommen, welche Vorgehensweise mit der mir zu Verfügung stehenden Hardware und dem zu erwartenden Nutzeraufkommen die geeignetere ist? Was bedeutet es konkret für ein
DBMS wie
MySQL, wenn es Dateianhänge in der Größe von ein paar KBytes bis hin zu max. 5 Mbytes zu verwalten hat? Da niemand erwartet, dass alle Records gleichzeitig im Speicher liegen, würde ich es wagen, die These aufzustellen, dass ein aktuelles DMBS (selbst
MySQL...) damit zurecht kommen MUSS. Wie kann ich also herausfinden, wie mein
DBMS beeinflusst wird, wenn eine Tabelle existiert, die "wirklich groß" (30.000+ Records, 6 GBytes) ist?
Daniel R. Wolf
mit Grüßen aus Hamburg