IceMatrix schrieb:
Einzelne Thumbnails im Dateisystem werden ebenso ohne Ordnung abgespeichert.
das OS kann in dem Fall aber besser cachen als eine Datenbank, denn diese muss einen ganzen Datenblock cachen, ein Filesystem hingegen kann dies z.B. nur mit den HotSpots machen.
IceMatrix schrieb:
Wer sagt denn überhaupt, dass du mehrere Thumbnails in ihrer natürlichen Ordnung auslesen willst?
muss natürlich nicht, aber bei Fotoalben z.B. gibt es eine natürliche Ordnung, diese ist mit MyISAM aber unter keinem Umstand realisierbar. Es seidenn man lässt dauerhaft die Seiten der Tabelle neu organisieren.
IceMatrix schrieb:
Wenn du einen Forumthread öffnest, dann sind die benötigten Thumbnails ganz sicher nicht in der natürlichen Ordnung, und schon gar nicht direkt aufeinander folgend. Um viele I/O kommst du bei diesem Gebiet grundsätzlich nicht herum (außer du machst nen memory cache).
theoretisch hast du Recht, praktisch sage ich aber gibt es eine Eigenschaft, die man ausnutzen kann: HotSpots
Es wird eine Menge an Usern geben, die deutlich mehr Posten als andere und dessen Avatare müssen dann auch öfter abgerufen werden. Reorganisieren wir nun z.B. alle 5 Tage die Tabelle indem wir die hypothethische Speicherung der Avater nach ihrer prozentualen Anfragewahrscheinlich absteigend clustern, steigt die Wahrscheinlichkeit, dass wir Threads erwischen in denen nicht mehr für n Nutzer k Seiten geladen werden müssen (k ist der Paging-Factor), sondern ein Wert unterhalb von k, da einige Nutzer in der gleichen Datenbankseite stecken und daher kein weiterer IO-Request nötig ist.
@Blitzmerker: es ging nie darum die gesammte Datenhaltung im Filesystem zu machen sondern nur die Bilder dort zu speichern, da die Bilder in einer Datenbank weniger Sinn machen. Datenbanken wurden eben nicht geschaffen um große Informationen zu speichern, sondern um die Suche nach Dateien zu ermöglichen. Außerdem ist es sehrwohl möglich die Datenbankhaltung sehr gut im Filesystem zu machen, schau dir NoSQL-Datenbanken und Key-Value-Stores an, deren Datenspeicherung könnte man hypothetisch direkt aufs Filesystem mappen. Natürlich nur rein theoretisch.