Является ли поиск имени файла в каталоге, содержащем 20 000 элементов, таким же эффективным, как поиск строки в базе данных? [закрыто]

Я пытаюсь решить, хранить ли некоторые XML-данные в однозначно определенных путях к файлам в файловой системе Linux или в текстовых столбцах таблицы базы данных. При прочих равных условиях, примерно одинаково ли время доступа для идентификатора элемента (либо включенного в путь к файлу, либо в уникальный столбец базы данных)?

Я ожидаю, может быть, 20 000 предметов.

0
задан 18 February 2013 в 02:41
2 ответа

20 000 - это ничто для базы данных, но очень много для файловой системы, если все они находятся в одной папке.

Если вы разделите их на отдельные папки (возможно, используйте первые 2 или 4 буквы GUID) это поможет.

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

Если вы хотите хранить метаданные с файлами и получать к ним доступ от третьих лиц, используйте db.

Если вы хотите чтобы выполнить собственную аутентификацию для взаимодействия с файлами, используйте db.

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

Если они большие, используйте файловую систему . Вам не нужно, чтобы в вашей таблице было 20 ГБ файлов, если вы можете этого избежать.

6
ответ дан 4 December 2019 в 11:06

Файловые системы - это базы данных. Они просто оптимизированы для работы под конкретную задачу - для хранения довольно больших объектов в иерархии.

Когда вы решаете, хотите ли вы базу данных или файловую систему, следует учитывать множество факторов:

  • Производительность -
  • Управляемость - это зависит от того, кто будет выполнять обслуживание.
  • Масштабируемость - это зависит от текущего размера базы данных, от ожидаемого размера через несколько лет, от скорости роста и от того, как легко добавить новые серверы в вашу среду.
  • Нормализация - как вы будете хранить объекты - например, большие двоичные объекты или как проанализированную структуру?
  • Как часто объекты будут меняться? ищутся и каким образом.

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

Если вам нужны структурированные данные, синтаксический анализ XML в базе данных выполняется намного быстрее.

См .:

2
ответ дан 4 December 2019 в 11:06

Теги

Похожие вопросы