Files
ddadminandClaude Opus 4.6 c81bdb86d9 perf(bookings): BOOKINGS_JOBS=1 по умолчанию (3× быстрее на инкрементах)
- Зачем:
  - бенчмарк на i7-11800H / WSL2 показал, что jobs=1 генерирует +1 день за ~3 мин,
    а jobs=2 — за ~9 мин из-за lock contention на gen.events FOR UPDATE SKIP LOCKED.
    Тюнинг PG (shared_buffers, work_mem) и synchronous_commit=off не влияют.
- Что:
  - дефолт BOOKINGS_JOBS изменён с 2 на 1 в Makefile и .env.example.
  - добавлен docs/internal/bookings_generation_benchmark.md с полной матрицей экспериментов.
  - обновлены комментарии и bookings/README.md.
- Проверка:
  - make bookings-init && time make bookings-generate-day (~3 мин).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 18:06:56 +03:00

48 lines
1.9 KiB
Bash

# Общие настройки
TZ=Europe/Moscow
# Airflow Configuration
AIRFLOW_USER=admin
AIRFLOW_PASSWORD=admin
AIRFLOW__WEBSERVER__SECRET_KEY=your-super-secret-key-here-replace-with-actual-random-key
# Порт Airflow UI на хосте
AIRFLOW_WEB_PORT=8080
# PostgreSQL (Airflow metadata)
PG_USER=airflow
PG_PASSWORD=airflow
PG_DB=airflow
# Порт мета-БД Airflow на хосте (нужен в основном для диагностики)
PGMETA_PORT=5433
# Bookings demo database (Postgres)
BOOKINGS_DB_USER=bookings
BOOKINGS_DB_PASSWORD=bookings
BOOKINGS_DB_NAME=bookings
BOOKINGS_DB_PORT=5434
# Начальная дата модельного времени для генерации демобазы
BOOKINGS_START_DATE=2017-01-01
# Количество дней для генерации с нуля (make bookings-generate); для make bookings-init не используется
BOOKINGS_INIT_DAYS=60
# Количество параллельных джобов генератора (1 = синхронно без dblink, 2+ = через dblink).
# jobs=1 оптимален для инкрементальной генерации (+1 день ≈ 3 мин).
# jobs>1 на WSL2 в 3× медленнее из-за lock contention на gen.events.
BOOKINGS_JOBS=1
# Greenplum Configuration
GP_USER=gpadmin
GP_PASSWORD=gpadmin
GP_DB=gp_dwh
GP_HOST=greenplum
GP_PORT=5432
# Порт Greenplum на хосте (подключение из DBeaver/psql с ноутбука)
GP_HOST_PORT=5435
GP_CONN_ID=greenplum_conn
GP_USE_AIRFLOW_CONN=true
# PXF (optional)
# PXF_SEED_OVERWRITE=1 — принудительно перезаписать seed-файлы из образа в PXF_BASE (полезно после правок в pxf/)
PXF_SEED_OVERWRITE=0
# PXF_SYNC_ON_START=1 — выполнять `pxf cluster sync` при старте контейнера (дольше, но гарантирует актуальные конфиги)
PXF_SYNC_ON_START=0