Learning Platform
Troubleshooting
Глоссарий

Глоссарий — Data Engineering для джунов

Справочник ключевых терминов курса Data Engineering для джунов.

13 категорий · 74 терминов

roles

Data Engineer

Термин

Инженер, который проектирует и поддерживает инфраструктуру для сбора, хранения, обработки и доставки данных аналитикам и ML-командам. Отвечает за надёжность пайплайнов, качество данных и SLA. В отличие от аналитика — пишет код продакшен-уровня, в отличие от бэкенд-разработчика — оптимизирует под объёмы и пропускную способность, а не под latency запроса.

Analytics Engineer

Термин

Гибридная роль на стыке Data Engineer и Data Analyst. Отвечает за трансформацию сырых данных в моделированные витрины через инструменты вроде dbt. Знает SQL, dimensional modeling и базовый Git/CI, но обычно не строит ingestion-пайплайны от источника.

etl-elt

ETL

Термин

Extract, Transform, Load — классический подход, при котором данные сначала извлекаются из источника, трансформируются на промежуточном слое (отдельный сервер или Spark-кластер), и только затем загружаются в целевое хранилище. Был стандартом до эпохи дешёвых облачных DWH с гибким scaling.

ELT

Термин

Extract, Load, Transform — современный подход, при котором сырые данные сначала грузятся в облачное DWH (Snowflake, BigQuery, Redshift), а трансформации выполняются уже внутри хранилища через SQL. Стал доминирующим вместе с modern data stack, потому что разделяет ingestion и transformation и упрощает отладку.

CDC

Термин

Change Data Capture — техника отслеживания изменений в исходной БД (INSERT/UPDATE/DELETE) и доставки их в DWH или другую систему в почти реальном времени. Реализуется через чтение WAL/binlog (Debezium, Fivetran), триггеры или сравнение снимков. Альтернатива full reload каждую ночь.

dwh

DWH

Термин

Data Warehouse — централизованное хранилище структурированных данных, оптимизированное под аналитические запросы. Содержит исторические снимки бизнес-процессов в виде моделированных витрин (star/snowflake schema). Примеры: Snowflake, BigQuery, Redshift, Teradata, ClickHouse.

Schema-on-write

Термин

Подход, при котором схема валидируется при записи: несоответствие типов или обязательных полей приводит к ошибке загрузки. Стандарт в реляционных DWH. Жёстко, но даёт гарантии целостности данных вниз по pipeline.

Partitioning

Термин

Разбиение таблицы на физически отдельные части по значению какого-то поля — обычно по дате (date=2026-05-17). Позволяет читать только релевантные партиции (partition pruning) и быстро удалять старые данные через DROP PARTITION. Критично для производительности на больших таблицах.

Bucketing

Термин

Дополнительное к partitioning разбиение данных внутри партиции по hash от ключа на N бакетов. Применяется в Hive/Spark для ускорения joins (bucketed join без shuffle) и для равномерного распределения. Реже встречается в облачных DWH с автоматическим оптимизатором.

lakehouse

Data Lake

Термин

Хранилище сырых данных в исходных форматах (CSV, JSON, Parquet, изображения, логи), обычно на объектном хранилище вроде S3 или GCS. Принцип schema-on-read: схема навешивается при чтении, а не при записи. Дёшев, но без дисциплины превращается в data swamp.

Lakehouse

Термин

Архитектура, объединяющая дешевизну data lake и ACID-гарантии DWH через табличные форматы вроде Iceberg, Delta Lake, Hudi. Позволяет хранить данные на S3 как Parquet-файлы, но работать с ними как с таблицами с транзакциями, time travel и schema enforcement. Продвигается Databricks и open-source комьюнити.

Schema-on-read

Термин

Подход, при котором данные сохраняются в сыром виде (JSON, CSV) без явной схемы, а интерпретация структуры происходит при чтении. Гибко (легко принять новый источник), но рискованно: ошибки схемы вылезают в продакшене у потребителя, а не на ingestion.

Apache Iceberg

Термин

Открытый табличный формат для lakehouse, разработанный в Netflix. Добавляет к Parquet-файлам слой метаданных с manifest-файлами и snapshot-историей, что даёт ACID, time travel, schema evolution и hidden partitioning. Поддерживается Snowflake, BigQuery, Databricks, Spark, Trino.

Delta Lake

Термин

Открытый табличный формат от Databricks для lakehouse, базируется на Parquet и transaction log (_delta_log). Даёт ACID, time travel, schema enforcement, OPTIMIZE/Z-ORDER. Глубоко интегрирован со Spark, поддерживается также в Trino, Athena, Snowflake.

Hudi

Термин

Apache Hudi — табличный формат для lakehouse с фокусом на upserts и CDC-нагрузки. Поддерживает два режима хранения: Copy-on-Write (для read-heavy) и Merge-on-Read (для write-heavy). Активно используется в Uber, изначально оптимизирован под streaming-ingestion.

Z-ordering

Термин

Техника физической перестановки данных в Delta Lake и Iceberg по нескольким колонкам сразу, чтобы запросы с фильтром по любой из них пропускали много файлов. Использует Z-order curve (space-filling curve) для сохранения локальности по нескольким измерениям. Запускается командой OPTIMIZE.

Compaction

Термин

Объединение множества мелких файлов в один большой в data lake / lakehouse. Решает small files problem: каждый файл — это отдельный seek и метаданные, тысячи мелких файлов убивают производительность чтения. Запускается командой OPTIMIZE в Delta или rewrite_data_files в Iceberg.

Time Travel

Термин

Возможность запросить таблицу в её состоянии на момент в прошлом: «SELECT * FROM orders AS OF '2026-05-01'». Поддерживается в Snowflake, BigQuery, Iceberg, Delta Lake, Hudi через хранение snapshot-метаданных. Полезно для отладки, аудита, восстановления после ошибочных UPDATE.

architecture

OLTP

Термин

Online Transaction Processing — системы для оперативной обработки транзакций: банковские переводы, заказы в интернет-магазине, регистрация пользователей. Оптимизированы под короткие записи и точечные чтения по primary key. Типичные представители: PostgreSQL, MySQL, Oracle, MS SQL Server.

OLAP

Термин

Online Analytical Processing — системы для аналитических запросов с агрегациями по большим объёмам данных: SUM продаж за квартал, AVG чека по сегментам. Оптимизированы под колоночное хранение и сканирование, а не точечные чтения. Snowflake, BigQuery, ClickHouse, Vertica — типичные OLAP.

ACID

Термин

Atomicity, Consistency, Isolation, Durability — четыре свойства транзакций в БД. Гарантируют, что транзакция либо целиком применилась, либо целиком откатилась, изолирована от других, и после commit пережила сбой. В DWH-мире классически были в OLTP, теперь приходят в lakehouse через Iceberg/Delta/Hudi.

Modern Data Stack

Термин

Сборная архитектура data engineering, доминирующая с ~2020 года: облачное DWH (Snowflake/BigQuery), managed ingestion (Fivetran/Airbyte), трансформации в dbt, оркестрация в Airflow/Dagster, BI поверх (Looker/Tableau/Metabase). Принцип — ELT, SQL-first, managed services вместо self-hosted.

formats

Parquet

Термин

Колоночный бинарный формат хранения данных от Apache, де-факто стандарт в data lakes. Хранит данные по столбцам, что даёт высокий compression ratio и быстрое сканирование при запросе нескольких колонок из таблицы с сотнями полей. Содержит метаданные (min/max, null counts) для predicate pushdown.

Avro

Термин

Строчный бинарный формат с явной схемой, разработанный Apache. Хранит schema в самом файле, что упрощает schema evolution: добавление новых полей не ломает старых читателей. Часто используется для streaming (Kafka) и хранения сырых событий, где важна целостность одной записи.

ORC

Термин

Optimized Row Columnar — колоночный формат от Hortonworks, исторически связанный с Hive-экосистемой. По свойствам похож на Parquet: колоночное хранение, статистики, сжатие. Лучше работает в Hadoop-стеке, в облачных DWH чаще встречается Parquet.

Columnar Storage

Термин

Способ хранения, при котором значения одного столбца лежат вместе на диске. Даёт высокое сжатие (одинаковые типы рядом) и быстрое сканирование агрегаций (читаем только нужные столбцы). Используется в Parquet, ORC, Snowflake, BigQuery, ClickHouse. Неэффективно для OLTP-нагрузок с записями по одной строке.

Row Storage

Термин

Способ хранения, при котором все поля одной строки лежат рядом на диске. Оптимально для OLTP-нагрузок: вставка одной транзакции — одна запись подряд, чтение по ID — один seek. Используется в PostgreSQL, MySQL и других реляционных OLTP-системах.

dimensional-modeling

Star Schema

Термин

Способ моделирования DWH, при котором в центре стоит fact-таблица (события: продажи, клики), а вокруг — dimension-таблицы (продукт, клиент, дата). Все dimensions соединяются напрямую с fact через foreign key. Простая, быстрая, понятная аналитикам — стандарт для BI-витрин.

Snowflake Schema

Термин

Развитие star schema, в котором dimension-таблицы нормализованы: например, dim_product ссылается на dim_category. Экономит место, но усложняет запросы (больше joins) и хуже работает на BI-инструментах. Применяется редко, чаще выбирают денормализованную звезду.

Fact Table

Термин

Таблица в DWH, хранящая количественные измерения бизнес-событий: продажи, заказы, клики. Содержит foreign keys на dimensions и meassures (numeric поля для агрегаций). Обычно большая (миллионы-миллиарды строк), грузится append-only по batch или streaming.

Dimension Table

Термин

Таблица в DWH, описывающая сущности, по которым происходит срез фактов: клиент, продукт, регион, дата. Сравнительно небольшая (тысячи-миллионы строк), содержит описательные атрибуты. Изменяется реже, чем fact, но требует продуманной стратегии обновлений (SCD).

SCD Type 1

Термин

Slowly Changing Dimension Type 1 — стратегия обновления dimension, при которой старое значение перезаписывается новым без сохранения истории. Подходит для исправлений опечаток, но теряет информацию о том, что было раньше. Простой UPDATE.

SCD Type 2

Термин

Slowly Changing Dimension Type 2 — стратегия, сохраняющая полную историю изменений через добавление новой строки на каждое изменение с полями valid_from, valid_to и is_current. Позволяет видеть состояние клиента или продукта на момент любой исторической транзакции. Стандарт в DWH.

SCD Type 3

Термин

Slowly Changing Dimension Type 3 — компромисс, при котором в dimension добавляются колонки previous_value и current_value. Хранит только последнее изменение, не полную историю. Применяется редко, когда нужно сравнить «было/стало», но не вся хронология.

Grain

Термин

Уровень детализации одной строки в fact-таблице: что именно описывает одна запись — одна продажа, один день, одна позиция в чеке. Определение grain — первый и важнейший шаг dimensional modeling. Смешение grain в одной таблице ведёт к двойному счёту в агрегациях.

Surrogate Key

Термин

Искусственный ключ dimension-таблицы, не связанный с бизнес-смыслом — обычно auto-increment или UUID. Используется в SCD2, где natural key (customer_id из источника) перестаёт быть уникальным после исторических снимков. Позволяет fact ссылаться именно на ту версию dimension, которая действовала на момент события.

Natural Key

Термин

Естественный ключ сущности из исходной системы: customer_id из CRM, product_sku из товарного каталога. Уникален в источнике, но в DWH с SCD2 одного natural key соответствует несколько строк (история). Поэтому в DWH используется как business key, но не primary key.

batch

Idempotency

Термин

Свойство операции, при котором её повторный запуск даёт тот же результат, что и одиночный. Критично для пайплайнов: retry после сбоя не должен задублировать данные. Достигается через MERGE/UPSERT, использование детерминированных ключей, разметку обработанных событий.

Backfill

Термин

Перезапуск пайплайна за прошлый период для восстановления данных: добавили новое поле в трансформацию, пересчитали витрину за два года. Требует идемпотентности и продуманной партиционности, иначе перезапись миллиардов строк превращается в катастрофу.

Batch Processing

Термин

Обработка данных порциями по расписанию: «раз в час», «раз в сутки», «раз в неделю». Высокий throughput, простая семантика, легко отлаживается и перезапускается. Стандарт для DWH-пайплайнов и аналитических витрин, где latency в часы приемлема.

streaming

Watermark

Термин

Метка в streaming-системе, означающая «до этого момента все события уже пришли, можно закрывать window». Нужен для агрегаций по времени, когда события могут опоздать из-за сетевых задержек. Слишком ранний watermark теряет late events, слишком поздний — задерживает результат.

Late-arriving data

Термин

События, пришедшие в систему после ожидаемого окна обработки: продажа из оффлайн-магазина с задержкой синхронизации, мобильный клиент без сети сутки. В streaming требуют политики обработки (drop, update window, side output), в batch — пересчёта затронутых партиций.

Lambda Architecture

Термин

Архитектурный паттерн с двумя слоями: batch (полная пересчётка истории) и speed/streaming (быстрые приблизительные результаты), которые объединяются в serving layer. Даёт надёжность batch и low-latency stream, но требует поддерживать две кодовые базы. Сейчас вытесняется Kappa.

Kappa Architecture

Термин

Упрощение Lambda, в котором есть только один streaming-слой, а batch — это replay стрима с самого начала. Одна кодовая база, но требует надёжного хранения событий (Kafka с большим retention или event lake). Популярна в командах с сильным streaming-стеком.

Stream Processing

Термин

Обработка данных по мере их поступления, событие за событием или в микро-батчах. Low latency (секунды-миллисекунды), но сложнее в отладке и backfill. Инструменты: Kafka Streams, Flink, Spark Structured Streaming. Применяется для real-time дашбордов, фрод-детекта, IoT.

Idempotent Producer

Термин

Режим Kafka-продюсера, в котором даже при retry сообщение не дублируется: брокер отслеживает sequence numbers от producer-а и отбрасывает дубли. Включается через enable.idempotence=true. Основа для exactly-once semantics в Kafka.

Exactly-once

Термин

Гарантия доставки в streaming: каждое событие обрабатывается ровно один раз, без потерь и дублей. Дороже at-least-once и at-most-once, требует поддержки на producer, broker и consumer. Достижима в Kafka через idempotent producer и transactional consumer, в Flink через checkpoints.

tools

Apache Spark

Термин

Распределённый фреймворк для обработки больших объёмов данных в памяти. Поддерживает batch (DataFrame API), streaming (Structured Streaming), SQL, ML. Используется как движок для трансформаций над петабайтными датасетами. Альтернатива Hadoop MapReduce с многократно лучшей производительностью.

Apache Kafka

Термин

Распределённая платформа для потоковой передачи событий, по сути — большой append-only лог с подписчиками. Брокер хранит сообщения по топикам и партициям, продюсеры пишут, консьюмеры читают. Стандарт для event-driven архитектур и streaming pipelines.

dbt

Термин

data build tool — фреймворк трансформаций для ELT, в котором SQL-модели версионируются в Git и компилируются в DDL/DML для целевого DWH. Поддерживает Jinja-шаблоны, инкрементальные модели, тесты, документацию, lineage. Стандарт modern data stack для Analytics Engineer.

Fivetran

Термин

Managed-сервис для ingestion данных из сотен SaaS-источников (Stripe, Salesforce, Postgres CDC) в DWH. Берёт на себя коннекторы, schema evolution, retries, мониторинг. Платный, но снимает необходимость писать свои Python-скрипты на ingestion. Конкурент — Airbyte (open-source).

Airbyte

Термин

Open-source альтернатива Fivetran для ingestion из источников в DWH. Поддерживает 300+ коннекторов, можно self-host или использовать managed cloud. Менее зрелый, чем Fivetran, на сложных источниках, но бесплатен и расширяем.

OpenLineage

Термин

Открытый стандарт описания lineage (происхождения) данных: какая таблица из какой получена, через какой job. Интегрируется с Airflow, dbt, Spark, выгружает события lineage в централизованный backend (Marquez, DataHub, OpenMetadata).

Data Lineage

Термин

Граф зависимостей данных: откуда взялась каждая колонка, через какие трансформации прошла. Нужен для impact analysis (что сломаем, если изменим источник), отладки, compliance. Строится автоматически в dbt (через ref()) или через OpenLineage / DataHub.

Data Catalog

Термин

Каталог данных — централизованный реестр всех таблиц, датасетов, dashboards с описанием, owner-ом, tags, lineage. Помогает аналитикам найти нужный датасет и понять, можно ли ему доверять. Примеры: DataHub, OpenMetadata, Amundsen, Alation, Collibra.

Spark Executor

Термин

Процесс на worker-узле Spark-кластера, выполняющий tasks и хранящий данные в памяти. Каждый executor имеет фиксированное количество CPU cores и memory. Тюнинг количества executors и их размера — типичная задача оптимизации Spark-jobs.

Shuffle

Термин

Перераспределение данных между executors в Spark при операциях, требующих сведения данных по ключу: groupBy, join, distinct. Дорогостоящая операция: данные сериализуются, пишутся на диск, передаются по сети. Минимизация shuffle — главная техника оптимизации Spark.

Broadcast Join

Термин

Оптимизация в Spark, при которой маленькая таблица копируется (broadcast) на все executors, и join выполняется локально без shuffle. Применима, когда одна из сторон join умещается в память executor-а (по умолчанию <10MB). Резко ускоряет joins fact с маленькими dimensions.

orchestration

Apache Airflow

Термин

Оркестратор пайплайнов на Python, в котором workflow описывается как DAG из задач. Запускает задачи по расписанию или триггеру, отслеживает зависимости, делает retry, показывает UI с историей запусков. Стандарт de-facto в data engineering, конкуренты — Dagster, Prefect, Mage.

DAG

Термин

Directed Acyclic Graph — ориентированный граф без циклов, в Airflow и других оркестраторах описывает зависимости между задачами. Узлы — задачи, рёбра — «выполнить после». Гарантирует, что нет циклов (A зависит от B, B от A), и можно построить детерминированный порядок выполнения.

Operator

Термин

В Airflow — шаблон для одного типа задачи: PythonOperator выполняет функцию, BashOperator запускает shell-команду, SnowflakeOperator выполняет SQL. Создавая task, ты инстанцируешь оператор с конкретными параметрами. Также есть community-провайдеры с операторами для всех популярных систем.

Sensor

Термин

Особый тип Airflow-оператора, который ждёт наступления события: появление файла в S3, готовности upstream-таблицы, ответа от внешнего API. Может работать в режиме poke (опрос с задержкой) или reschedule (освобождать слот между проверками). Чрезмерное использование poke-сенсоров забивает пул задач.

Task

Термин

Минимальная единица работы в Airflow-DAG — инстанс оператора с конкретными параметрами. Каждый запуск DAG создаёт task instances, у каждой есть статус (queued, running, success, failed, retry). Из tasks через `>>` или `set_downstream` строится зависимостный граф.

cloud

Snowflake (platform)

Термин

Облачная DWH-платформа с разделением storage и compute, что позволяет масштабировать их независимо. Поддерживает semi-structured данные (VARIANT), time travel, zero-copy cloning, Snowpark. Биллинг — за секунды работы compute. Один из лидеров modern data stack.

BigQuery

Термин

Облачное DWH от Google Cloud, полностью serverless: не управляешь кластерами, платишь либо за просканированные байты, либо за зарезервированные слоты. Хорошо интегрирован с GCS, Looker, Dataflow. Использует колоночное хранение Capacitor и Dremel-движок.

Redshift

Термин

Облачное DWH от AWS, исторически основан на форке PostgreSQL и архитектуре MPP. Имеет варианты Provisioned (фиксированные кластеры) и Serverless. Сильно интегрирован с экосистемой AWS (S3, Glue, IAM). Уступает Snowflake и BigQuery по UX, но привычен AWS-командам.

Databricks

Термин

Платформа на базе Apache Spark и Delta Lake, продвигающая концепцию lakehouse. Объединяет ETL, ML, BI в одной среде на основе ноутбуков и Unity Catalog. Сильна в ML-workloads и обработке неструктурированных данных. Альтернатива Snowflake для команд с тяжёлыми ML и Spark-нагрузками.

S3

Термин

Simple Storage Service — объектное хранилище от AWS, де-факто стандарт для data lake. Хранит файлы как объекты в bucket, с дешёвой ценой за гигабайт и бесконечной масштабируемостью. Поддерживает разные классы хранения (Standard, IA, Glacier) для оптимизации стоимости.

Object Storage

Термин

Класс систем хранения, в котором данные представлены как объекты в плоском пространстве (bucket), без иерархии файлов. Доступ по HTTP, обычно eventually consistent, дёшев и масштабируем. Примеры: AWS S3, GCS, Azure Blob, MinIO. Основа всех современных data lakes.

Slot (BigQuery)

Термин

Единица вычислительных ресурсов BigQuery, примерно эквивалентна виртуальному CPU. В on-demand модели слоты выделяются автоматически, в reserved — резервируются на месяц/год за фиксированную цену. Тюнинг количества слотов — рычаг оптимизации стоимости.

Warehouse (Snowflake)

Термин

Compute-кластер в Snowflake, исполняющий запросы. Имеет размер (X-Small, Small, ... 6X-Large), стоит фиксированных credits за час работы, может авто-стопаться и масштабироваться. Не путать с DWH как концепцией — в Snowflake это конкретный compute-кластер.

dq

Great Expectations

Термин

Open-source фреймворк для тестов качества данных. Позволяет описывать expectations (ожидания) к датасету: «колонка не null», «значение в диапазоне», «уникальность» — и запускать их как unit-тесты в пайплайне. Альтернативы: Soda, dbt tests, Deequ.

Data Quality dimensions

Термин

Шесть классических измерений качества данных: completeness (нет пропусков), accuracy (соответствие реальности), consistency (согласованность между источниками), timeliness (свежесть), uniqueness (нет дубликатов), validity (соответствие формату/типу). Тестирование DQ обычно покрывает эти оси.

Monte Carlo

Термин

Платформа data observability — мониторинг качества данных в проде: автоматическое обнаружение аномалий (drop in row counts, schema changes), data lineage, оповещения. Категория продуктов называется data observability, конкуренты — Soda, Bigeye, Anomalo, Acceldata.