Меню

ETL и ELT простыми словами: как данные превращаются в отчёты

От списка покупок до отчёта о продажах: разбираем два маршрута данных, их различия и вопросы, которые помогают выбрать подход. Без кода и сложных схем.

Два настольных маршрута обработки данных с разным расположением фильтров и контейнеров — иллюстрация ETL и ELT.

Почему отчёт не появляется сам собой

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

Просто сложить все цифры опасно. Один заказ может попасть и в кассу, и в доставку. Где-то сумма включает доставку, где-то нет. Возвраты поступают позже покупок. Прежде чем строить график, нужно собрать сведения и договориться, что именно будет означать показатель выручки.

Три действия, скрытые в названии

В названиях ETL и ELT используются одни и те же три действия: извлечь данные из источников, преобразовать их по нужным правилам и загрузить в целевое хранилище. Хранилищем здесь назовём систему, в которой данные собирают для дальнейшей работы.

Главное различие — где происходит преобразование. В ETL оно выполняется до загрузки в целевое хранилище, в ELT — уже внутри него. Так эти подходы сопоставляет AWS.

Преобразование может означать приведение дат к одному виду, объединение записей, удаление повторов или расчёт показателя по согласованным правилам. Само слово не означает, что нужно произвольно менять исходные факты.

ETL: сначала подготовить, потом передать

В условной сети кофеен можно устроить отдельный этап подготовки. Туда поступают сведения о покупках и возвратах. После проверки система рассчитывает нужные показатели и передаёт подготовленные данные в хранилище для отчётов.

Это похоже на доставку набора уже отсортированных документов: получателю остаётся работать с согласованным набором. Но аналогия имеет предел. ETL не запрещает отдельно сохранять исходные данные, а сами преобразования бывают гораздо сложнее сортировки.

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

ELT: сначала собрать, потом подготовить

В другом варианте сведения из касс и доставки сначала загружаются в хранилище. Уже там их связывают, проверяют и подготавливают для отчётов. Для этого целевая система должна уметь выполнять необходимую обработку.

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

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

Что спросить перед выбором

Спор «какой подход современнее» плохо помогает владельцу кофейни. Полезнее описать ограничения конкретной задачи. Вот вопросы, с которых можно начать разговор с командой:

  • Какие источники есть и кто отвечает за их данные?
  • Нужно ли сохранять подробные исходные записи для новых вопросов?
  • Как быстро должен обновляться отчёт?
  • Где можно выполнять обработку и какие ресурсы доступны?
  • Кто согласует значение показателей и проверяет результат?

Например, ежедневного отчёта о продажах может быть достаточно руководителю. А сотруднику, который следит за наличием товара, нужна другая скорость обновления. Это различие требований важнее красивой аббревиатуры.

Что не решает ни один из подходов

Если два отдела по-разному понимают выручку, перенос преобразования из одного места в другое спор не устранит. Сначала придётся договориться, учитываются ли доставка, скидки и возвраты. То же касается повторных заказов и опоздавших сведений.

Вернёмся к условному заказу на 500 рублей, который оказался в двух источниках. Итог 1 000 рублей будет неверным и в ETL, и в ELT, если никто не предусмотрел распознавание одной и той же покупки. Работа с данными начинается со смысла записей, а устройство маршрута помогает выполнять согласованные правила регулярно.

Именно такие вопросы делают инженерию данных интересной: нужно понимать и системы, и задачу людей, которые будут пользоваться результатом.

Куда двигаться дальше

Разобраться в задачах этой профессии поможет программа Data Engineer для начинающих. Посмотрите, как в ней связаны источники, хранение и обработка данных, и сопоставьте это со своими интересами.

Data Engineer для начинающих
Курс
Доступ сразу
Data Engineer для начинающих

Курс для новичков, которые хотят с нуля освоить Data Engineering и разобраться, как устроена работа с данными в современных компаниях. Вы изучите основные инструменты Data Engineer, научитесь собирать, хранить, обрабатывать и передавать большие объёмы данных, создавать ETL/ELT-процессы и строить надёжные пайплайны. Для старта не требуется опыт работы в Data Engineering — обучение выстроено от базовых тем к более сложным и сопровождается практическими заданиями.

С нуля до junior
Теория и практика
Диплом по окончании
12 990
₽/мес
УЗНАТЬ ПОДРОБНЕЕ

Источники

Читайте также

Что такое NULL в SQL и почему отсутствие значения — не ноль
8

Что такое NULL в SQL и почему отсутствие значения — не ноль

Человек ничего не потратил или просто не ответил на вопрос? На примере короткого опроса объясняем NULL и показываем, почему пропуски меняют смысл отчёта.
Что такое CSV и почему таблица иногда открывается неправильно
6

Что такое CSV и почему таблица иногда открывается неправильно

Почему выгрузка превращается в один столбец, откуда берутся странные символы и куда исчезают нули? Знакомимся с CSV на примере обычного списка заказов.
Оконные функции SQL: как сравнивать данные и видеть общую картину
8

Оконные функции SQL: как сравнивать данные и видеть общую картину

Как сравнить покупку со средним чеком, увидеть рост продаж и составить рейтинг? Объясняем оконные функции SQL на понятных примерах, без программирования.
Заявка отправлена
Отправим вам подборку курсов в течение 5 минут. С вами также свяжется наш специалист и даст карьерную консультацию.
Персональный промокод
На курс «Инженер по парсингу данных»
Введите код при оплате, чтобы применить скидку к программе.