Вопрос

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

Что было бы лучше:

  1. Давая документы имя или метаданные (XML), которые содержат дату и пользователь (и итерации через них, чтобы получить метаданные) или ...

  2. Давая файлы случайное / уникальное имя и хранить метаданные в БД? что-то вроде этого:

    date | user | filename
    

Что бы вы сказали и почему? Используемый язык программирования - Java, а БД MySQL.

Это было полезно?

Решение

Я бы выбрал БД. БД быстрее, безопаснее (вы не случайно удалите важные файлы) и проще. Кроме того, это цель БД: управление большими монтами данных. Файловые системы предназначены для хранения файлов.

Но выбор, конечно, для вас.

Но я гарантирую: (DB > XML) == true в производительности и (DB >= XML) == false В файловых файлах!

Другие советы

Я бы выбрал второй вариант для хранения метаданных. MySQL будет справиться с прилавкой, а поиск в БД намного быстрее, чем итерация файла XML.

Так что было бы, если сумма данных очень низкая, скажем, Макс. 30 файлов на пользователя и скажем, 20 пользователей -> 600 файлов максимум. Как бы вы оцениваете решение для создания отдельной папки для каждого пользователя и предоставить файлы пользователям по адресу уникальное имя? Таким образом, вы можете легко перемещаться по файловой системе. В этом контексте БД имеет смысл для этого низкого количества документов?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top