Вся магия заключается в том что разметки элементов не известны. Пользователь может захотеть сделать систему например для игры "Call of cthulhu 7e" где большую роль играет механика рассудка и удачи, а может например "DnD 5e" в которой значительнйы упор сделан на пракачку. Соответственно будут использованы разные макросы и разные расчеты. MongoDB я выбрал по этой причине. А насчет key-value баз данных , у меня был с ними не очень хороший опыт несколько раз, и они начинали сильно страдать от тысячи или 10 тысяч записей. Поэтому этот вариант был отклонен. Возможно я не прав и существуют хорошие минималистичные и производительные решения, но я таких не нашел.