Выбор DWH-инструмента

10 января 2025 г.

Раньше, когда компьютеры были большими и "64 кБ должно хватить всем", программисты писали на ассемблере и щеголяли короткими быстрыми простыми программами. Но те времена давно прошли.

Точно так же, как прошли и те времена, когда DWH строился "врукопашную" на голом SQL.

Или не прошли? Или пришли опять?... Давайте разбираться.

Уход вендоров из России

С уходом таких low-code платформ, как Oracle, SAP мы вынуждены при построении DWH либо переориентироваться на OpenSource инструменты, либо "рубиться врукопашную" с SQL. Это, конечно, не дает той же скорости разработки и удобства, как раньше.

Многие в такой ситуации пошли по пути создания своих фреймворков. Часть разработчиков освоили инструмент для трансформации данных DBT (Data Base Tool). Кто-то использует оркестраторы и там трансформирует данные.

Сравнение инструментов

Получается, нет какой-то устоявшейся технологии, которая удобно трансформирует данные в большинстве случаев. Встает вопрос - а какую технологию применить нам на новом проекте? Должны быть какие-то критерии для сравнения.

Итак, предлагаются следующие критерии:

Критерии для сравнения на примере asapBI

  1. Простота использования:
    - простота интерфейса; - возможность работать в браузере/облаке.
    asapBI может работать как в облаке, так и на локальной машине. Интерфейс простой, модель настраивается мышью, в сложных случаях возможно поправить генерацию.
    +1 балл
  2. Контроль версий:
    - поддержка GIT.
    Пока не предусмотрена.
    0 баллов
  3. Расширяемость:
    - поддержка плагинов, API.
    Пока не предусмотрена.
    0 баллов
  4. Документация:
    - доступная, полноценная; - есть сообщество; - проводятся тренинги.
    Пока нет.
    0 баллов
  5. Vendor lock:
    - кто именно создает и поддерживает инструмент; - что будет в случае прекращения поддержки и развития.
    asapBI создается как пет-проект. Можно параллельно работать с теми же самыми объектами как в asapBI, так и в других инструментах. Более того - можно подключить в программу уже существующие объекты.
    +1 балл
  6. Удобно использует методики для безопасного расширения модели:
    - поддержка Data Vault; - поддержка сателлитов для таблиц.
    asapBI это все поддерживает, генерируя на основании связей соответствующий SQL.
    +1 балл
  7. Стоимость
    - оценка стоимости внедрения, лицензирования и поддержки.
    asapBI - пет проект. Этим пока все сказано.
    +1 балл
  8. Скорость работы
    - обработка данных ведется в самой базе без выгрузки на сервер приложений.
    asapBI для обработки генерирует SQL запросы в самой базе. Данные при обработке не покидают БД.
    +1 балл
  9. Возможность работы с разными БД
    - возможность генерации SQL для разных БД.
    asapBI пока подключается только к Greenplum и PostgreSQL, но архитектура позволяет расширить список БД.
    +1 балл

Итого 6 из 9 - а какой балл у вашего инструмента DWH?

Успехов!