Перейти к содержанию
Learning Platform
Глоссарий Troubleshooting
Урок 02.02 · 20 мин
Начальный
СловарьПайплайнETLBatchОркестрация

Словарь дата-инженерии на пальцах

Дальше в курсе на тебя польётся жаргон: пайплайн, ETL, warehouse, batch, оркестрация. Чтобы он не пугал, разберём эти слова заранее — каждое в одном-двух простых предложениях и с бытовой аналогией. Не нужно зубрить определения наизусть. Нужно, чтобы при следующей встрече слово было знакомым, а не страшным.

Держи в голове картинку из прошлого урока: данные текут по трубам от источника к крану. Почти весь словарь ниже — это просто названия частей этого водопровода.


Источник (source)

Источник — это место, где данные рождаются. База приложения, сайт, мобильное приложение, датчик, внешний сервис вроде платёжной системы — всё это источники. Дата-инженер не создаёт данные сам, он их забирает из источников.

Бытовая аналогия: источник — это родник или скважина. Вода (данные) сама там появляется, наша задача — провести от неё трубу.

У одной компании источников обычно много: отдельно база заказов, отдельно реклама, отдельно поддержка клиентов. Часть работы DE — подключиться к каждому и регулярно вытаскивать оттуда свежие данные.


Хранилище данных (data warehouse)

Хранилище данных (англ. warehouse, читается «вэрхаус») — это большая база, специально устроенная под анализ. Туда складывают данные из всех источников, чтобы по ним удобно было считать отчёты и отвечать на вопросы бизнеса.

Бытовая аналогия: warehouse — это большой склад-распределитель. С разных фабрик (источников) туда свозят товар, аккуратно раскладывают по полкам, и теперь по складу легко найти что угодно и посчитать остатки.

Важно: warehouse — это не та база, в которой работает само приложение. Приложению нужна скорость на мелких операциях (записать один заказ), а складу — умение быстро перелопатить миллионы строк ради одного отчёта. Это разные задачи, поэтому и базы разные. Подробно разницу мы разберём в модуле про OLTP и OLAP.


Пайплайн (pipeline)

Пайплайн — это путь данных от источника до хранилища, собранный из последовательных шагов. Забрать данные, почистить, преобразовать, положить на место — всё это шаги одного пайплайна.

Бытовая аналогия: пайплайн — это конвейер на заводе. Сырьё заезжает с одного конца, проходит через станции (помыть, нарезать, упаковать) и выезжает готовым продуктом с другого. Если одна станция сломалась — встаёт весь конвейер.

Слово «pipeline» буквально и переводится как «трубопровод». Когда дата-инженер говорит «у меня упал пайплайн», он имеет в виду «сломалась одна из труб, по которой ехали данные, и они не доехали».


ETL и ELT

Это два способа построить пайплайн. Оба состоят из трёх шагов, спрятанных в буквах:

  • E — Extract (извлечь): забрать данные из источника.
  • T — Transform (преобразовать): почистить и привести к нужному виду — например, убрать дубли, перевести даты в один формат, посчитать суммы.
  • L — Load (загрузить): положить данные в хранилище.

Разница только в порядке двух последних букв:

  • ETL — сначала преобразуем, потом грузим уже готовое. (Извлёк -> почистил -> положил.)
  • ELT — сначала грузим сырьё в хранилище, а преобразуем уже внутри него. (Извлёк -> положил -> почистил на месте.)

Бытовая аналогия: представь, что везёшь овощи с рынка. ETL — это помыть и нарезать овощи прямо на рынке, а домой привезти готовый салат. ELT — это привезти грязные овощи домой и резать их на своей кухне, где есть большая раковина и удобные ножи. Какой способ лучше — зависит от того, где у тебя удобнее «кухня». В современном мире с мощными хранилищами чаще выбирают ELT. Отдельный модуль курса посвящён именно этому выбору.


Batch и stream (партиями или ручьём)

Данные можно доставлять двумя ритмами.

  • Batch (батч, «пакет/партия») — данные едут порциями по расписанию. Например, раз в час или раз в сутки собрали всё накопившееся и отправили одной пачкой.
  • Stream (стрим, «поток/ручей») — данные едут по одному, непрерывно, сразу как появились. Каждое новое событие тут же бежит по трубе дальше.

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

Большинство пайплайнов в мире — batch, потому что отчёту «за вчера» не нужна мгновенность. Stream нужен там, где промедление дорого: антифрод, рекомендации в реальном времени, мониторинг.


Оркестрация (orchestration)

Когда пайплайнов становится много и одни зависят от других, кто-то должен ими дирижировать: запускать в нужном порядке, по расписанию, перезапускать упавшие. Это и есть оркестрация.

Оркестрация — это управление запуском шагов: что за чем запускается, когда и что делать, если шаг упал. Программу, которая этим занимается, называют оркестратором (самый известный — Airflow, но о нём позже).

Бытовая аналогия: оркестрация — это дирижёр оркестра. Каждый музыкант (пайплайн) умеет играть свою партию, но без дирижёра они вступят вразнобой. Дирижёр следит, чтобы скрипки вступили после вступления, а не до, и чтобы при сбое всё не развалилось.

TIP

Не пугайся, когда позже встретишь слово «DAG» рядом с оркестрацией. DAG — это просто схема «какой шаг от какого зависит», нарисованная стрелками: сначала забрать данные -> потом почистить -> потом построить отчёт. Мы разберём DAG отдельно и подробно. Сейчас достаточно знать, что оркестратор дирижирует шагами по такой схеме.


Собираем словарь в одну картинку

Прочитай это предложение медленно, подставляя только что выученные слова:

Дата-инженер строит пайплайны, которые забирают данные из источников, преобразуют их (ETL или ELT), доставляют партиями или потоком в хранилище, а запускает всё это по расписанию оркестратор.

Если предложение целиком понятно — модуль выполнил свою задачу. Дальше каждое из этих слов получит свой урок и свои детали. Но теперь, встречая жаргон, ты будешь узнавать знакомые лица, а не пугаться незнакомцев.


Попробуй сам

  1. Закрой урок и своими словами, не подглядывая, объясни вслух три слова: пайплайн, источник, хранилище. Если застрял — это нормально, открой и перечитай именно тот абзац.
  2. Придумай свою бытовую аналогию для batch и stream (не автобус и эскалатор). Например, из мира еды, почты или транспорта. Чем твоя аналогия лучше или хуже?
  3. Возьми приложение из задания прошлого урока. Назови его источник данных и придумай один отчёт, который бизнес хотел бы получать из хранилища. Нужен ли этому отчёту stream, или хватит batch раз в сутки?
Проверка знанийKnowledge check
Объясни простыми словами разницу между ETL и ELT. В чём именно отличие, если оба делают одни и те же три действия?
ОтветAnswer
И ETL, и ELT делают три одинаковых действия: Extract (извлечь данные из источника), Transform (преобразовать/почистить) и Load (загрузить в хранилище). Отличие только в порядке. В ETL сначала Transform, потом Load: данные чистят ещё по дороге и в хранилище кладут уже готовыми. В ELT сначала Load, потом Transform: сырые данные сразу грузят в хранилище и преобразуют уже внутри него. Аналогия: ETL — нарезать салат прямо на рынке и привезти домой готовым; ELT — привезти грязные овощи домой и резать на своей удобной кухне. Современные мощные хранилища чаще делают преобразование внутри себя, поэтому ELT стал популярнее.

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

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

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

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