Каковы ваши основания полагать, что это решение будет иметь значение для общей эффективности решения? Что он делает, кроме как дать определения?
Есть ли у вас MySQL как часть решения в любом случае, или вам нужно добавить его, если вы выберете его в качестве решения здесь?
Где находится окончательный источник определений? (Возможно, реплицированная) файловая система или какая-то автономная БД?
Похоже, что-то должно быть в БД архитектурно - файловые системы - странное место для отображения большого количества имен в значения (о чем свидетельствует структура вашей файловой системы, разбивающая вещи на начальные буквы)
Если он находится в БД, отвечая на вопросы типа "сколько там определений?" это намного проще, но если вы не заботитесь о таких вещах для своего приложения, это может не иметь значения.
Так что в некоторой степени это похоже на гипероптимизацию производительности чего-то, чья производительность на самом деле не будет иметь большого значения для общего решения.
Я фанат «сделай это правильно, а затем сделай это быстро», и «правильно» было бы проще достичь с помощью БД.
И, конечно, окончательным ответом было бы попробовать оба и посмотреть, какой из них лучше всего работает в вашей ситуации.
Пол