Что это простыми словами

Presto — это программа, которая умеет быстро искать данные сразу в нескольких хранилищах, не перетаскивая их в одно место.

Аналогия: представьте библиотеку с книгами, разложенными по разным зданиям — историческое здание, научный корпус, архив. Обычный способ: вы обходите все здания пешком, собираете нужные книги в рюкзак, приносите домой и там читаете. Presto работает иначе: вы пишете запрос «найти все книги про космос», и система сама одновременно смотрит во всех зданиях, находит страницы и показывает вам результат — не таская книги туда-сюда.

В IT такие хранилища называют «источниками данных». Данные могут лежать в базах разных типов, в файлах, в облаке — Presto подключается ко всем сразу и отвечает на запрос за секунды, не копируя терабайты данных.

Официальное определение

Теперь, когда суть понятна, вот как Presto описывают в вакансиях и документации. Эту формулировку вы встретите в требованиях к data-инженеру.

«Presto — распределённый SQL-движок для интерактивной аналитики, выполняющий запросы к гетерогенным источникам данных без предварительного переноса данных».

Разберём по словам. «Распределённый» — работа разбивается между несколькими серверами одновременно, поэтому быстро. «SQL» — язык запросов, которым описывают, какие данные нужны. «Движок» — программа, которая выполняет эти запросы. «Интерактивная аналитика» — когда человек задаёт вопрос и ждёт ответ прямо сейчас, а не через час. «Гетерогенные источники» — данные лежат в базах разных типов и форматов. «Без предварительного переноса» — Presto читает данные там, где они лежат, не собирая их в одну базу заранее.

Какую задачу решает

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

Классический способ: скопировать данные из всех источников в одно хранилище. Это долго, дорого, занимает место, и данные устаревают, пока их копируют. Presto решает проблему иначе: оставляет данные там, где они лежат, и опрашивает все источники одновременно. Запрос выполняется за секунды, данные всегда свежие, ничего не нужно копировать.

Такой подход называют «federated query» — федеративный запрос. Это ключевое слово, которое вы можете встретить в вакансиях.

Кто им пользуется

Presto — это инструмент, а не язык программирования, поэтому он ни к какому языку не привязан. Им пользуются несколько ролей:

Для работы с Presto нужен SQL — язык запросов к данным. Поэтому в вакансиях Presto и SQL идут вместе.

Аналоги / чем заменяется

Presto решает ту же задачу федеративных запросов, что и другие SQL-движки для больших данных:

Переход между ними возможен, но не тривиален. Логика и SQL похожи, но каждый движок имеет свои особенности настройки, оптимизации и подключения источников. Data-инженер с опытом Presto освоит Trino быстрее, чем человек без опыта распределённых SQL-движков, но это не вопрос одного дня.

Что не путать

Насколько это важно при отборе

Короткий ответ: важность зависит от того, насколько глубоко Presto встроен в инфраструктуру компании.

Если компания активно использует Presto как центральный инструмент доступа к данным, то опыт с ним становится жёстким требованием для data-инженера. Настройка, оптимизация запросов, подключение источников и отладка производительности — это специфические навыки, которые осваиваются не за неделю. Человек без опыта Presto потратит месяцы на вхождение.

Если же Presto используется эпизодически или компания готова обучать — можно рассмотреть кандидата с опытом похожих технологий: Trino, Apache Drill, работы с распределёнными SQL-движками или большими данными. Такой человек освоит Presto быстрее, чем тот, кто никогда не сталкивался с подобными системами.

Для data-аналитика требования мягче: если он уверенно знает SQL и работал с любыми большими данными, то научится писать запросы через Presto за пару недель. Отсеивать аналитика только из-за отсутствия Presto в резюме — чаще всего избыточно.

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