Ваш подход не кажется необоснованным, но он может пострадать, если в течение одного дня будет добавлено более нескольких тысяч документов (файловые системы, как правило, плохо справляются с очень большим количеством файлов в каталоге).
Хранение .xml документа рядом с .pdf кажется немного странным - если это действительно метаданные о документе, если он не находится в базе данных (которая, как кажется, у вас уже есть), где его можно легко запрашивать и индексировать и т. Д
При хранении очень большого количества файлов я обычно брал ключ файла (скажем, URL), хэшировал его, а затем сохранял его на уровнях X в каталогах на основе первых символов хэша ...
Скажем, вы начали с клавиши ' Как организовать большое количество объектов '. Хэш md5 для этого равен 0a74d5fb3da8648126ec106623761ac5, так что вы можете сохранить его в ...
base_dir / 0 / а / 7/4 / HTTP ___ stackoverflow.com_questions_2734454_how к организации-а-большое-число-объектов
... или что-то вроде того, что вы можете легко найти снова по ключу, с которого начали.
Этот тип подхода имеет одно преимущество перед вашим датным в том, что его можно масштабировать для соответствия очень большому количеству документов (даже в день), при этом ни один каталог не станет слишком большим, но, с другой стороны, он менее интуитивно понятен кто-то должен вручную найти определенный файл.