Как хранить mp3 файлы на жестком диске и поддерживать производительность - PullRequest
1 голос
/ 01 декабря 2011

Я работаю над проектом, в котором будут миллионы маленьких mp3-файлов, которые я думал сохранить на жестком диске.

У меня есть следующие вопросы:

  • Какую структуру я должен использовать для сохранения файлов? одна папка или много папок.
  • Каков наилучший способ поиска?

Ответы [ 2 ]

2 голосов
/ 01 декабря 2011

Я должен был сделать аналогичную вещь в проекте, который включал в себя хранение большого количества изображений. Используя некоторые метаданные для файла, я сгенерировал хеш MD5, который затем использовал в качестве имени файла. Первый символ имени файла будет каталогом прародителя для файла, а второй символ - родителем. В результате структура файла выглядит следующим образом:

enter image description here

Преимущество заключается в равномерном распределении файлов по каталогам. И если вы выберете метаданные, используемые для создания хэша, то у него также будет преимущество в том, что вы сможете найти файл без использования базы данных для хранения ссылок на него.

Я обнаружил, что этот метод хорошо работает с файлами размером около 100 тыс., Но без дополнительной информации о том, что именно вы пытаетесь сделать, трудно понять, подходит ли он для вашей проблемы ...

2 голосов
/ 01 декабря 2011

Наилучшим подходом может быть сохранение информации, которую вы собираетесь искать, в базе данных и ее использование для поиска.Затем вы можете использовать что-то вроде Lucene или Solr для выполнения поиска.

База данных будет хранить ссылку на файл на диске и просто использовать ее непосредственно, когда при поиске появятся его результаты.Это означает, что вы можете упорядочить файлы на диске в любом порядке.

Однако, без гораздо большей информации, это всего лишь предположение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...