Вау.
Думаю, я не знаю полного ответа на этот вопрос, но мне нравится думать как ответ на заглавный вопрос "Насколько большим должен быть модуль Python?" как понятие парны, скрывающее секрет. В этом случае модуль, кажется, делает это правильно (и это такой большой секрет, который он скрывает).
Позже я копался в бумагах, в которых много говорится о связях и сплоченности. Может быть, наличие большого количества модулей БД вызовет слишком много вызовов между модулями, что приведет к увеличению того, что считается плохой практикой, то есть к снижению когезии и повышению связи?
Я видел экспериментальные данные, говорящие о том, что программисты решили пожертвовать хорошей практикой ради простоты и понимания, несмотря на то, что диктует хорошая практика. На самом деле, между хорошей практикой также может возникнуть конфликт. Скажем, производительность обычно не делает людей, которые занимаются техническим обслуживанием, счастливыми позже. Я не совсем уверен, как будет улучшена разборчивость в этом случае с таким большим модулем.
Еще одна вещь, которую я заметил, заключается в том, что часть кода указана как общая, а остальные базы данных расширены. Я не программист на Python, но, возможно, это могло бы чем-то оправдать?
Итак, у меня нет окончательного ответа, но я надеюсь, что кто-то также выделит эти моменты!