Каковы последствия наличия большого количества файлов в каталоге в файловой системе ext4?

Моя задача – сохранить список JSON на диске (без использования какой-либо базы данных), и у меня есть следующие параметры:

Лично я предпочитаю второй вариант, так как он позволяет напрямую обращаться к любому JSON по их идентификатору, не прикасаясь ни к каким другим JSON. Тем не менее, есть почти от 0,1 до 1 миллиона записей JSON, и я боюсь возможных негативных последствий для базовой файловой системы (ext4 в моем случае):

  • Будет ли это превышать ограничения файловой системы на количество файлов (либо в каталоге, либо во всей файловой системе)?

  • Будет ли это причиной замедления при получении определенного идентификатора?

    Чтобы быть более конкретным, я считаю, что список файлов в каталоге поддерживается структурой inode каталога, но я не уверен, какие структуры данных (список или карта) он использует для хранения списка файлов. Есть ли увеличение производительности в поиске, если я использую иерархию каталогов? Например, 0123456789.json в root/01/0123456789.json вместо root/0123456789.json ?

One Solution collect form web for “Каковы последствия наличия большого количества файлов в каталоге в файловой системе ext4?”

Имея 1 миллион файлов в одном каталоге, это замедлит работу, но так будет анализироваться совокупный JSON с 1 миллионом записей. Лучше всего использовать хэшированные каталоги, но вы, вероятно, захотите пойти на два уровня, а не на один уровень. А именно, положите 0123456789.json в root/0/01/0123456789.json 987654321.json root/0/01/0123456789.json и 987654321.json в root/9/98/987654321.json .

  • Как вывести структуру каталогов в формат Json
  • Как использовать sed для изменения}, {"Foo" to} \ n {"Foo"?
  • Как разобрать скрипт на Bash? (платформа MIPS)?
  • отправить json через rsyslog в elasticsearch
  • Редактирование значения дочернего элемента JSON с помощью jq
  • Удаление нескольких строк
  • Извлечь часть значения из пары ключ-значение, разделенной двоеточием в Linux
  • Интерпретация исходной продукции WHOIS
  • Разбор JSON на оболочке
  • Преобразование простых данных в json-файл
  • не удается найти документацию по json.tool
  • Linux и Unix - лучшая ОС в мире.