---
title: Моделирование данных
questionDates:
  q-transfer-0294: '2026-10-01'
  q-transfer-0321: '2026-10-01'
seo:
  description: >-
    Тема «Моделирование данных» для собеседования Data Engineer. Как развивать
    модель данных без потери истории? Как выбрать grain для базы парковок?
  title: Моделирование данных — Data Engineer
---

[Все темы Data Engineer](/prep/data-engineer)

## Как развивать модель данных без потери истории? [#q-transfer-0294]

Сначала фиксируют новый grain и связь со старой моделью. Совместимое поле добавляют, запускают dual-read или dual-write при необходимости, выполняют идемпотентный backfill и сверяют историю. Несовместимую схему версионируют, дают потребителям окно миграции и удаляют старое после подтверждения. Исторические строки не перезаписывают без бизнес-основания; правила effective time и surrogate keys проверяют отдельно. Grain, ключи и временную историю фиксируют до таблиц, а схему проверяют основными бизнес-запросами.

:::note[Ссылки для изучения]

1. [Эволюция модели DWH с сохранением истории: anchor modeling в Авито](https://habr.com/ru/companies/avito/articles/600053/)
2. [Моделирование данных с dbt. INZHENERKA_TECH, с 1:10:15](https://www.youtube.com/watch?v=BSge0lPJeHk&t=4215s)

:::

---

## Как выбрать grain для базы парковок? [#q-transfer-0321]

Сначала выбирают grain: парковочное место, зона, сессия стоянки, платеж и версия тарифа являются разными сущностями. Геометрию зоны хранят подходящим spatial-типом и индексом. Тариф имеет интервал действия, чтобы старый платеж воспроизводился; сессия содержит время въезда и выезда и ограничения на пересечение. Схему проверяют ключевыми запросами: доступность, цена на момент и история нарушений. Grain, ключи и временную историю фиксируют до таблиц, а схему проверяют основными бизнес-запросами.

:::note[Ссылки для изучения]

1. [Выбор детализации данных (grain) по требованиям: пример модели Power BI](https://habr.com/ru/companies/lemana_tech/articles/948004/)
2. [Моделирование данных с dbt. INZHENERKA_TECH, с 1:10:15](https://www.youtube.com/watch?v=BSge0lPJeHk&t=4215s)

:::
