[MySQL] Zugriffszeit: BLOB vs Dateisystem

the snake II

Erfahrenes Mitglied
Hallo zusammen,

ich betreue eine Internetseite, die zur Zeit bei jedem aufruf Datensätze aus einer Filemaker-Datenbank (nicht MySQL) holt.
Zur Zeit werden Bilder und Text bei jedem Seitenaufruf abgerufen. Da die Datenbank nicht unbedingt für den konsequenten Web-Einsatz ausgelegt ist, sind die Ladezeiten bei vielen Bildern inakzeptabel.

Um das zu optimieren, möchte ich einige Daten zwischenspeichern und nur dann erneut aus der FileMaker Datenbank abrufen, wenn der betreffende Datensatz geändert wurde.

Ich sehe dafür zwei möglichkeiten: Entweder ich speichere die Bilder sowie generierten HTML-Code einfach als Dateien ab, oder ich lege die Daten in eine MySQL-Datenbank.

Ich Frage mich nun wie groß der Unterschied zwischen der Zugriffszeit im Dateisystem im Vergleich zur MySQL-Datenbank ist.
Also, ob es einen großen Unterschied macht, ob ich eine Bilddatei aus einem BLOB-Feld lade, oder direkt von der Festplatte.
Sollte die Zugriffszeit auf 30 Bilder (~1,5MB) in der Datenbank nicht signifikant höher sein, als der Zugriff auf gespeicherte Dateien im Dateisystem, würde ich MySQL verwenden, da ich hier zusätzliche Informationen zu den Bildern unkomplizierter ablegen kann.
Es Handelt sich um das Betriebssystem Windows Server 2008 R2.

Ich würde mich freuen, wenn mir da jemand weiterhelfen kann.

Viele Grüße,

André



Nachtrag:

Die MySQL Doc empfiehlt unabhängig von der Zugriffszeit auf die Daten die Nutzung des Dateisystems zum Speichern der Bilder:
MySQL Doc hat gesagt.:
Bei Webservern sollten Bilder und andere Binärressourcen normalerweise als Dateien gespeichert werden: In der Datenbank speichern Sie also statt der Datei selbst nur einen Verweis darauf. Die meisten Webserver können Dateien besser zwischenspeichern als Datenbankinhalte, weswegen die Verwendung von Dateien in der Regel schneller ist.

Nach weiteren Recherchen habe ich mich dazu entschieden, das Problem direkt am Webserver per "Output Caching" zu lösen.

Nachtrag 2:

Das Output Caching des IIS ist nicht in der Lage, aus Datenbanken abgerufene, dynamische Daten in der Form zu cachen, wie es für mich nötig wäre. Bei einem Cache-flush würden alle Bilder aus dem Cache gelöscht, nicht nur die geänderten.

Ich werde die Bilder also im Dateisystem zwischenspeichern.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück