Чи буде якась проблема зі мною збереження потенційних приблизно 10 мільйонів результатів в окремих файлах в одному каталозі?
Так. Напевно, є більше причин, але це я можу відкласти вгорі голови:
tune2fs
є опція, яка називається, dir_index
що, як правило, включається за замовчуванням (для Ubuntu це), що дозволяє зберігати приблизно 100 К файлів у каталозі, перш ніж побачити хіт продуктивності. Це навіть не близько 10м файлів, про які ви думаєте.
ext
файлові системи мають фіксовану максимальну кількість входів. У кожному файлі та каталозі використовується 1 inode. Використовуйте df -i
для перегляду ваших розділів та індексів безкоштовно. Коли у вас не вистачає inode, ви не можете створювати нові файли чи папки.
такі команди, як rm
і ls
при використанні підстановних знаків, розширюють команду, і в кінцевому підсумку буде "список аргументів занадто довгий". Вам доведеться використовувати find
для видалення або списку файлів. І, find
як правило, повільно.
Або доцільно розділити їх на папки?
Так. Найбільш точно. В основному ви навіть не можете зберігати 10м файли в 1 каталозі.
Я б використовував базу даних. Якщо ви хочете кешувати його на веб-сайті, перегляньте " solr " ("надання розподіленої індексації, реплікації та збалансованого запиту запитів").