Learning Platform
Глоссарий Troubleshooting
Урок 01.02 · 17 мин
Начальный
course-overviewdata-modelingroadmap

Ландшафт курса: от ER-диаграммы до lakehouse

Моделирование данных — это не одна техника, а семейство подходов, каждый из которых придуман под свою задачу. Схема для приложения банка и схема для аналитического хранилища строятся по разным правилам, потому что решают разные задачи. Этот урок — карта всего курса: что мы пройдём, в каком порядке и почему именно так.

Не пытайтесь запомнить здесь всё. Цель урока — чтобы вы видели общую картину и понимали, как очередной модуль встраивается в маршрут.

Две большие половины курса

Весь курс делится на две принципиально разные части, и понимание этого деления — ключ ко всему остальному.

Первая половина — моделирование для систем, которые обслуживают приложения. Это мир OLTP (Online Transaction Processing): интернет-магазин принимает заказ, банк проводит платёж, мессенджер сохраняет сообщение. Здесь много коротких операций, важна целостность данных, и главная техника — нормализация.

Вторая половина — моделирование для аналитики. Это мир OLAP (Online Analytical Processing): построить отчёт о выручке по месяцам, посчитать среднее время доставки за год. Здесь мало запросов, но они тяжёлые, и главная техника — размерное моделирование (dimensional modeling).

Два мира моделирования данных
OLTP: для приложенийСистемы, обслуживающие приложения: много коротких транзакций, запись и чтение, важна целостность. Главная техника — нормализация.
данные перетекают
OLAP: для аналитикиХранилища для отчётов: мало запросов, но тяжёлых, в основном чтение. Главная техника — размерное моделирование (star schema).

Одна и та же компания обычно имеет обе системы: OLTP-базу, в которой работает приложение, и OLAP-хранилище, куда данные регулярно перекладываются для анализа. Курс проведёт вас через обе.

Этап 1: фундамент (модули 2-6)

Сначала — основы, общие для любого моделирования. (Модуль 1 — минимальный SQL и зачем вообще моделировать данные: разминка, после которой остальные модули читаются легче.)

  • Что такое моделирование данных (модуль 2). Три уровня модели — conceptual, logical, physical. Workflow от требований к схеме. Кто этим занимается.
  • ER-моделирование (модуль 3). Entity-Relationship — универсальный язык для рисования модели. Сущности, атрибуты, связи. Этим вы занимались на бумаге в задании прошлого урока — здесь это станет строгой техникой.
  • Реляционная модель (модуль 4). Математическая основа всех SQL-баз: что такое relation, tuple, attribute, как работает NULL и почему он коварен.
  • Ключи (модуль 5). Как уникально идентифицировать строку. Natural и surrogate keys, и почему выбор между ними влияет на скорость.
  • Связи и кардинальность (модуль 6). Как реализовать «один-ко-многим» и «многие-ко-многим» в реальных таблицах.

После этих модулей вы умеете прочитать любую ER-диаграмму и превратить её в корректные таблицы.

Этап 2: нормализация и OLTP (модули 7-9)

  • Нормализация: основы (модуль 7). Функциональные зависимости, аномалии, нормальные формы 1NF, 2NF, 3NF. Это сердце моделирования для приложений.
  • Нормализация: углублённо (модуль 8). BCNF, 4NF, 5NF — для случаев, где 3NF недостаточно. И денормализация — когда правила нарушают сознательно.
  • Моделирование OLTP-систем (модуль 9). Как модель воплощается в коде базы: ограничения целостности, FK, CHECK, как модель влияет на индексы и блокировки.

Этап 3: переход к аналитике (модуль 10)

  • От OLTP к OLAP (модуль 10). Поворотная точка курса. Почему нормализованная схема, идеальная для приложения, плоха для аналитики (запрос с десятками соединений). Здесь же — терминология современных хранилищ: data warehouse, data mart, data lake, lakehouse, и разница между ETL и ELT.
NOTE

Модуль 10 — мост между двумя половинами курса. До него вы учитесь хранить данные правильно для приложений. После него — правильно для аналитики. Правила меняются почти на противоположные, и это не противоречие, а следствие разных задач.

Этап 4: размерное моделирование (модули 11-14)

Это техника Ральфа Кимбалла (Ralph Kimball) — индустриальный стандарт для аналитических хранилищ.

  • Размерное моделирование: основы (модуль 11). Star schema (схема «звезда»): таблица фактов в центре, таблицы измерений вокруг. Четырёхшаговый процесс дизайна и понятие grain (зерно).
  • Fact-таблицы детально (модуль 12). Типы таблиц фактов и какие показатели можно суммировать, а какие нет.
  • Dimension-таблицы детально (модуль 13). Conformed dimensions, role-playing, junk dimensions, date dimension.
  • Slowly Changing Dimensions (модуль 14). Как хранить историю изменений: атрибут клиента поменялся — сохранить новое значение или сохранить и старое тоже? Типы SCD 0-7.
Star schema — куда мы придём в модуле 11
Dimension: что/кто/когда/гдеТаблицы измерений: описательные атрибуты — клиент, товар, дата, магазин. Отвечают на вопрос, в каком разрезе смотреть.
окружают
Fact: сколько/как многоТаблица фактов в центре: числовые показатели событий — сумма продажи, количество — плюс ссылки на все измерения.

Этап 5: методологии и современность (модули 15-18)

  • Методологии DWH (модуль 15). Три школы построения хранилищ: Inmon, Kimball, Data Vault — в чём философская разница.
  • Data Vault 2.0 (модуль 16). Подход для аудируемости и параллельной загрузки из многих источников: hubs, links, satellites.
  • Современное моделирование (модуль 17). Lakehouse, medallion-архитектура (bronze/silver/gold), One Big Table, semantic layer, роль dbt.
  • Моделирование для NoSQL (модуль 18). Когда данные хранятся не в таблицах: документные базы (MongoDB), wide-column (Cassandra), графовые (Neo4j). Здесь правило «query-first»: схема проектируется от запросов.

Этап 6: капстоун (модуль 19)

Финальный модуль — сквозной проект. Вы пройдёте полный путь: бизнес-требования, conceptual-модель, нормализованная OLTP-схема, затем star schema для аналитики, реализация SCD2. Все знания курса собираются в один связный кейс.

Как техники соотносятся друг с другом

Распространённое заблуждение новичка — что новая техника «отменяет» старую: раз есть размерное моделирование, нормализация устарела. Это неверно. Техники не конкурируют — они применяются на разных слоях и для разных задач.

ТехникаГде применяетсяГлавная цель
Нормализация (3NF/BCNF)OLTP-базы приложений, raw/silver-слой хранилищаЦелостность, отсутствие аномалий
Размерное (star schema)Аналитический gold-слой, витриныСкорость и понятность аналитических запросов
Data VaultИнтеграционный слой хранилищаАудируемость, приём из многих источников
NoSQL-моделированиеДокументные/графовые/wide-column базыСоответствие конкретным паттернам доступа

В современном хранилище эти подходы сосуществуют слоями: сырые данные приходят в нормализованном или Data Vault виде, а на витринах превращаются в star schema. Вы научитесь не «единственно правильной» технике, а умению выбирать подходящую под задачу.

Inmon vs Kimball — обзор двух школ DWH Kimball-light в dbt: staging, marts на практике

Почему именно такой порядок модулей

Может возникнуть вопрос: почему курс идёт от ER-моделирования к нормализации, а размерное моделирование оставлено на вторую половину? Порядок не случаен — он отражает зависимости между темами.

Сначала идут понятия, без которых не обойтись нигде: что такое сущность, атрибут, связь, ключ. Это алфавит. На нём строится всё остальное, поэтому он первый. Затем — реляционная модель и нормализация: это техники для OLTP, и они опираются на алфавит из первых модулей. Размерное моделирование стоит после, потому что оно лучше всего понимается в контрасте с нормализацией: чтобы оценить, зачем аналитике денормализованная звезда, надо сначала прочувствовать, что такое нормализованная схема и почему она тяжела для аналитических запросов. Учить размерное моделирование до нормализации — всё равно что объяснять исключение из правила до самого правила.

Методологии хранилищ (Inmon, Kimball, Data Vault) и современные подходы (lakehouse, semantic layer) идут в конце, потому что они комбинируют все предыдущие техники. Понять Data Vault, не зная, что такое ключ, нормализация и хеш, невозможно. Капстоун замыкает курс, потому что он требует уже всего арсенала сразу.

Зависимости между блоками курса
Алфавит: сущности, ключи, связиБазовые понятия ER-моделирования и реляционной модели. Фундамент, на который опирается всё остальное.
на нём строится
Нормализация и OLTPТехники для систем приложений. Опираются на алфавит и задают правило, контраст к которому покажет размерное моделирование.
контраст к нормализации
Размерное моделированиеТехника для аналитики. Лучше всего понимается как осознанное отступление от нормализации ради скорости чтения.
комбинируют всё
Методологии и капстоунInmon, Kimball, Data Vault, lakehouse и сквозной проект. Требуют сразу всего арсенала курса.

Вывод: порядок модулей — это не произвольная нумерация, а граф зависимостей. Каждый модуль готовит почву для следующего, поэтому курс и нужно проходить последовательно.

TIP

Если на каком-то модуле потеряете нить — вернитесь к этой карте. Спросите себя: это OLTP или OLAP? Какой слой хранилища? Какая цель — целостность или скорость чтения? Эти три вопроса почти всегда возвращают понимание контекста.

Попробуй сам

Перерисуйте маршрут курса как простой список из шести этапов по памяти, не подглядывая: фундамент, нормализация и OLTP, переход к аналитике, размерное моделирование, методологии и современность, капстоун. Рядом с каждым этапом одной фразой напишите, какую задачу он решает. Затем честно отметьте, какие два-три понятия из этого урока вам совсем незнакомы — это нормально, именно их курс и объяснит. Возвращайтесь к этому списку каждые несколько модулей и вычёркивайте то, что стало понятным: так вы будете видеть собственный прогресс.


Проверка знанийKnowledge check
Курс делится на две большие половины. В чём разница между ними, и почему техники моделирования из второй половины не «отменяют» техники из первой?
ОтветAnswer
Первая половина курса — моделирование для OLTP-систем, которые обслуживают приложения: много коротких транзакций, важна целостность данных, главная техника — нормализация. Вторая половина — моделирование для OLAP, то есть для аналитики: мало запросов, но тяжёлых, в основном чтение, главная техника — размерное моделирование (star schema). Техники из второй половины не отменяют первую, потому что они решают разные задачи и применяются на разных слоях. Нормализация обеспечивает целостность и отсутствие аномалий — это нужно базам приложений и сырым слоям хранилища. Размерное моделирование обеспечивает скорость и понятность аналитических запросов — это нужно витринам. В современном хранилище оба подхода сосуществуют слоями: сырые данные хранятся нормализованно, а на витринах превращаются в star schema. Поэтому курс учит не одной «правильной» технике, а умению выбирать подходящую под конкретную задачу.

Проверьте понимание

Результат: 0 из 0
Концептуальный
Вопрос 1 из 4. На какие две большие половины делится курс и какая техника главная в каждой?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 3