Я пытаюсь выбрать между хранением некоторых XML-данных либо в однозначно определенных путях к файлам в файловой системе Linux, либо в текстовых столбцах в таблице базы данных. При прочих равных условиях, примерно одинаково ли время доступа для идентификатора элемента (либо включенного в путь к файлу, либо в уникальный столбец базы данных)?
Я ожидаю, может быть, 20 000 предметов.
20000 - это ничто для базы данных, но немало для файловой системы, если все они находятся в одной папке.
Если вы разделите их на отдельные папки (возможно, используйте первые 2 или 4 буквы GUID), это поможет.
Это также зависит от вашей загруженности. Если вы делаете много блокирующих / заблокированных запросов к таблице, используйте файловую систему.
Если вы хотите хранить метаданные с файлами и получать к ним доступ от третьих лиц, используйте db.
Если вы хотите использовать собственную аутентификацию для взаимодействия с файлами, используйте команду db.
Если вы хотите иметь возможность легко изменять файлы, скажем, из блокнота, используйте файловую систему.
Если они большие, используйте файловую систему. Вы не хотите, чтобы в вашей таблице было 20 ГБ файлов, если вы можете этого избежать.
Файловые системы являются базы данных. Они просто оптимизированы для работы под конкретную задачу - удерживать довольно большие объекты в иерархии.
Когда вы решаете, нужна ли вам база данных или файловая система, необходимо учитывать множество факторов:
Если вы собираетесь использовать их как большие двоичные объекты, файловая система работает быстрее. Чем они больше, тем лучше служат файлами.
Если вам нужны структурированные данные, анализируемый XML в базе данных выполняется намного быстрее.
Видеть: