https://en.wikipedia.org/wiki/Data_access_layer
Потенциальная проблема с DAL заключается в том, что их может быть сложно высмеивать в модульных тестах. Вы частично смягчаете эту проблему, используя объект вместо модуля, но объект все равно имеет довольно большой API. Является ли это вообще проблемой, во многом зависит от контекста.
Похожие концепции включают Active Records (перенос доступа к данным в доменную модель) и Repositories (примерно сопоставимый с вашим подход, но более сфокусированный на жизненном цикле сущностей).
Стоит отметить, что во многих литературных источниках, посвященных паттернам доступа к данным, предполагается определенный контекст, например, веб-приложения. Ваш контекст анализа данных может иметь другие потребности. Примечательно, что анализ данных имеет дело с данными, а не с сущностями и бизнес-правилами.
Прикрепляю к посту несколько видео по теме: