feat(dds): денормализовано измерение dim_routes и упрощена витрина route_performance

- Зачем:
  - улучшение производительности аналитических запросов и упрощение витрин согласно принципам Kimball Star Schema.
- Что:
  - в dds.dim_routes добавлены денормализованные поля городов и моделей самолетов.
  - в скрипт загрузки dim_routes_load.sql добавлена фаза refresh для актуализации атрибутов.
  - загрузка dm.route_performance упрощена до 1 JOIN к измерению маршрутов.
  - обновлен DAG bookings_to_gp_dds и smoke-тесты структуры графа.
  - в документации (db_schema.md) отражены денормализация и lineage версий.
  - в dim_routes_load.sql исправлено затирание _load_id при refresh исторических версий.
- Проверка:
  - make test (smoke-тесты структуры DAG проходят успешно).
This commit is contained in:
2026-03-05 23:05:59 +03:00
parent 68654181d4
commit d89434c3a8
9 changed files with 79 additions and 17 deletions
+4
View File
@@ -372,6 +372,10 @@ def test_bookings_to_gp_dds_dag_structure():
upstream=False
), "dds airplanes не должен быть upstream для airports"
# dim_routes зависит от airports и airplanes (денормализация).
_assert_reachable(dag, "dq_dds_dim_airports", "load_dds_dim_routes")
_assert_reachable(dag, "dq_dds_dim_airplanes", "load_dds_dim_routes")
# Факт должен стартовать только после всех измерений.
_assert_reachable(dag, "dq_dds_dim_calendar", "load_dds_fact_flight_sales")
_assert_reachable(dag, "dq_dds_dim_airports", "load_dds_fact_flight_sales")