В этой статье — про STAGING-слой нашего DWH и о том, как мы работаем с EAV-паттерном. Сразу оговорюсь: EAV в реляционной базе — устоявшийся антипаттерн, который в большинстве задач стоит обходить стороной. Здесь я рассказываю не о том, хорош EAV в целом или плох, а о конкретном случае, когда он оказался оправдан: почему он к нам пришёл, как мы с ним живём, что он даёт и где реально мешает.
TL;DR. На STG мы храним данные в EAV-партициях по (сущность, источник, период), при загрузке раскладываем значения по типам и разделяем их на OK и FAIL, а JDBC-драйвер разворачивает это в обычные таблицы для чтения.

