data-engineering
Data engineering
Работа с данными в больших объёмах — как дёшево хранить огромные массивы и строить по ним аналитику и поиск. Продвинутый уровень; сначала изучи обычные базы данных.
Начать трек →С нуля
Перед senior-материалом: что вообще такое дата-инжиниринг и горстка слов, которые остальной трек считает уже знакомыми.Oltp vs olap
Скоро — Data engineering для фуллстекаElt vs etl
Скоро — Data engineering для фуллстекаParquet
Скоро — Data engineering для фуллстекаMaterialized views
Скоро — Data engineering для фуллстекаEvent sourcing
Скоро — Data engineering для фуллстекаSearch
Скоро — Data engineering для фуллстекаVectors
Скоро — Data engineering для фуллстекаPutting it together
Скоро — Data engineering для фуллстекаПроекты по этому треку
Guided-проекты, которые закрепляют изученное здесь.
Фильтр Блума
Собери пространственно-эффективное вероятностное множество, отвечающее на запросы членства за O(1) с настраиваемой вероятностью ложных срабатываний, — и разберись, почему ложных отрицаний в нём быть не может принципиально.
Кодирование Хаффмана
Собери lossless-компрессор с нуля: постройте оптимальное дерево prefix-free кодов снизу вверх, выведи битовые строки и докажи, что round-trip точен, а результат короче кодирования фиксированной шириной.
Идемпотентный ETL-конвейер
Конвейеры не падают аккуратно — они падают в три часа ночи, на середине загрузки, и кто-то их перезапускает. Этот проект учит одному свойству, которое отличает любительский скрипт от настоящей дата-инженерии: прогон, который можно повторить сколько угодно раз и всё равно получить ровно одну копию каждой строки. Ты построишь пакетную загрузку, идемпотентный load, watermark для инкрементальных выгрузок и проверки качества данных, которые останавливают мусор, прежде чем он отравит всё ниже по течению.
Оптимизатор отчётной схемы
Отчётность — это место, где база либо оправдывает себя, либо нет: запросы широкие, таблицы большие, а «тормозит» — самый частый баг в продакшен-аналитике. Ты смоделируешь домен продаж и событий, напишешь честные медленные версии запросов для дашборда, а затем ускоришь их индексами и материализованными представлениями — и прочитаешь EXPLAIN ANALYZE, чтобы доказать ускорение, а не гадать о нём. Это сердце трека: превратить расплывчатое «отчёт подтормаживает» в измеренное, обоснованное изменение плана.
AI / LLM
Как строить функции поверх больших языковых моделей — подавать им свои данные, давать вызывать твой код и проверять, что ответы и правда хорошие.