Предел а не на глубине вложенных подкаталогов (вы могли бы иметь десятки из них, даже больше), а в файловых системах и квотах.
Также наличие очень длинных путей к файлам неудобно (и может быть немного неэффективным). Программно, возможен путь к файлу длиной в несколько сотен или даже тысяч символов; но человеческий мозг не способен запомнить такие длинные пути к файлам.
Большинство файловых систем (в Linux) имеют фиксированное ограничение на их количество inodes.
Некоторые файловые системы плохо себя ведут с каталогами, содержащими десять тысяч записей (например, поскольку поиск является линейным, а не дихотомическим). И вам трудно справляться с ними (например, даже ls *
дает слишком длинный вывод). Следовательно, он может быть мудрым, чтобы иметь /somepath/a/0001
... /somepath/z/9999
вместо /somepath/a0001
... /somepath/z9999
Если у вас есть много тысяч пользователей, каждый со своей директории, вы можете, например, группировать пользователей по их инициалам, например. есть /some/path/A/userAaron/images/foobar
и /some/path/B/userBasile/images/barfoo
и т.д. Так что /some/path/A/
бы только сотни подкаталогов, и т.д ...
Удобным правило может быть: избегают иметь больше, чем несколько сотен записей -either подкаталоги или files- в каждом каталоге.
Некоторые веб-приложения хранят небольшой блок данных в отдельных строках баз данных SQL и используют файлы (чье имя может быть сгенерировано) для больших блоков данных, сохраняя путь к файлу в базе данных. Имея миллионы файлов с несколькими десятками байтов в большинстве, вероятно, неэффективно.
Некоторые системные администраторы также используют quotas в файловых системах.
Я считаю, что там нет _sane_ жесткого верхнего предела. Ожидайте значения порядка 2^32. Даже 2^16 более здравомыслящий.Раньше у вас будут другие проблемы. –
@JanDvorak вы можете использовать PLS. объяснить? –
Я имею в виду, что задолго до того, как вы столкнетесь с «максимальным количеством подпапок в каждой папке, доступной», список каталогов будет безумно длинным (верьте мне, перечисление папки с сотнями подпапок занимает безумно длиннее SSH), или вы будете заканчивается дисковое пространство. –