Нет ... ну .. не обязательно.
Если у вас есть строгое соглашение и общие средства синтаксического анализа и проверки (скрипты, библиотеки и т. Д.), Вы готовы к работе.
Возьмем, к примеру, системы управления пакетами и зависимостями (Maven, NuGet и тому подобное). Хотя многие будут использовать специальные файлы для метаданных для хранения более сложной информации, основная информация часто является частью самого имени файла. Опираясь на строгие соглашения, имя файла может содержать наиболее важную информацию о пакете: его поставщик, его имя, его версия, его тип. Иногда это все, что вам нужно ... 4 или 5 коротких кусочков информации.
Если метаданные просты, то соглашение об именовании файлов имеет смысл, не требуя ничего для внедрения. Его можно усилить с помощью очень простых инструментов и сценариев, не требующих базы данных, никакой специализированной инфраструктуры, всего лишь несколько сценариев и соглашение об именах.
Если ничто там не делает то, что вам нужно, и ваши потребности просты, я бы начал с этого.
ваши требования перерастают эту конвенцию? расширить его с помощью правильного файла метаданных. Вам позже нужно лучше поискать это? Уже есть хорошие решения для поиска файлов, которые доставят вас туда, куда вам нужно.
Дело не в том, что мне не нравятся базы данных, наоборот, они действительно мощные и полезные, но для их запуска требуется некоторое количество ресурсов. Их нужно устанавливать, резервировать, обслуживать, вам понадобится персонал, которому, если он не будет полностью выделен, придется посвятить часть своего времени этой инфраструктуре. Они также более сложны и загадочны для неспециалистов, теряют разработчика, который вас настраивал, и ваша система будет зависать вовремя, пока вы не найдете замену.
Никогда не стоит недооценивать силу низких технологий с надлежащим контролем, который может помочь вам в этом.
И к тому времени, когда вы перерастете свое низкотехнологичное решение, вы соберете весь опыт и требования для внедрения идеальной системы для ваших нужд.