Das Problem sehr viele Dateien zu verwalten zu müssen gibt es auch in anderer Software wie z.B. der Cache von Firefox oder das Repository von Git.
Üblicherweise wird das Problem so gelöst:
Man wendet eine Hashfunktion (z.B. MD4 oder
SHA-1) auf den Dateiinhalt an und erhält einen 16 oder 20 Byte langen Hashwert.
Der Hashwert wird in einen hexadezimalen String umgewandelt (32 oder 40 Zeichen Länge).
Die ersten beiden Zeichen ergeben den Namen des Verzeichnisses und die restlichen Zeichen den Dateinamen.
Damit werden die Dateien einigermassen gleichmässig auf bis zu 256 Verzeichnisse verteilt und man kann die Limits des Dateisystem einhalten.