PrestoDB vs Trino сегодня: форк, расхождение, роль Starburst
В прошлом уроке мы проследили хронологию: один проект Presto в 2018 году разделился на две ветки. Оригинальный репозиторий остался у Facebook, а основатели увели community-ветку, которая в итоге стала Trino. Но история — это прошлое. Сейчас важнее настоящее: что эти два проекта представляют собой сегодня, в 2026 году, насколько они разошлись и почему для инженера это не праздный вопрос.
Практическая причина разобраться проста. Когда вы выбираете движок для платформы, читаете документацию, ищете ответ на StackOverflow или приходите на собеседование, вы постоянно встречаете оба имени. Нужно чётко понимать: это два разных проекта, у них разная функциональность, разные сообщества, и совет, найденный для одного, не всегда применим к другому.
Два проекта, общий предок
С 2018 года Presto существует в виде двух независимых проектов.
PrestoDB — это оригинальный репозиторий, тот самый, что остался у Facebook. Сегодня он развивается компанией Meta совместно с сообществом под управлением Presto Foundation при Linux Foundation. Имя «PrestoDB» используют, чтобы отличать оригинальный проект от форка; иногда его называют просто Presto.
Trino — это бывший PrestoSQL, форк, созданный основателями в конце 2018 года и переименованный 27 декабря 2020 года. Сегодня он развивается сообществом, компанией Starburst и при участии других игроков, включая AWS.
Ключевая мысль: это не «версия А и версия Б одного продукта». Это два самостоятельных проекта. У них общий код только до точки форка 2018 года; всё, что добавлено после, добавлялось в каждый проект отдельно, разными командами, по разным дорожным картам.
Почему за годы они разошлись
Когда два проекта развиваются раздельно несколько лет, расхождение неизбежно. Причин несколько.
Во-первых, разные команды и приоритеты. Дорожную карту PrestoDB во многом определяют потребности Meta и участников Linux-Foundation-сообщества. Дорожную карту Trino — основатели, Starburst и сообщество вокруг них. Команды решают, какие фичи важнее, исходя из своих пользователей.
Во-вторых, разный темп. Trino выпускает релизы очень часто — каждые 1-4 недели, маленькими инкрементами. Это быстрый поток изменений, и за несколько лет он накапливается в большую разницу функциональности.
В-третьих, новые фичи добавляются независимо. Когда в Trino появляется поддержка нового табличного формата, новый коннектор, новый синтаксис SQL или новая возможность оптимизатора — это работа команды Trino. В PrestoDB своя история фич. Иногда идеи перекликаются, но реализации и сроки разные.
Результат — за годы после 2018 проекты заметно разошлись и по набору возможностей, и по внутреннему устройству. Курс честно фокусируется на Trino и говорит именно про Trino; переносить здешние факты на PrestoDB напрямую нельзя.
Полезно понимать механику расхождения форков на более общем уровне, потому что это типичная ситуация в open-source. В момент форка две ветки идентичны — у них один код. Но дальше каждое изменение вносится в конкретную ветку. Команда Trino добавляет фичу A — она появляется только в Trino. Команда PrestoDB добавляет фичу B — она появляется только в PrestoDB. Иногда команды видят одну и ту же потребность и обе делают похожую фичу — но реализуют по-своему, с разными именами настроек и разным поведением в деталях. Со временем накапливается не только разный набор возможностей, но и разные внутренние решения. Чем дольше живут две ветки, тем сильнее расхождение — и для Trino с PrestoDB прошло уже много лет. Поэтому даже там, где обе системы «умеют одно и то же», конкретный синтаксис и конфигурация могут не совпадать.
Совет, найденный для «Presto», может не работать для Trino, и наоборот. Это частая ловушка: статья или ответ на форуме могут описывать PrestoDB, тогда как у вас Trino — и конкретный синтаксис, имя свойства конфигурации или поведение коннектора будут отличаться. Всегда проверяйте, про какой именно проект источник, и сверяйтесь с документацией нужного.
Как не перепутать проекты
Поскольку оба имени постоянно встречаются, полезно иметь набор практических признаков, по которым легко понять, о каком проекте речь.
| Признак | PrestoDB | Trino |
|---|---|---|
| Прежнее имя | Presto (оригинал) | PrestoSQL (до 27 дек 2020) |
| Кто развивает | Meta и сообщество | Сообщество, Starburst, AWS |
| Управляющий фонд | Presto Foundation (Linux Foundation) | Trino Software Foundation |
| Сайт | prestodb.io | trino.io |
| GitHub-организация | prestodb | trinodb |
| Коммерческий дистрибутив | разные вендоры | Starburst Enterprise / Galaxy |
Самый надёжный быстрый тест — это домен сайта и организация на GitHub. Документация на trino.io и репозитории в организации trinodb — это Trino. Документация на prestodb.io и организация prestodb — это PrestoDB. Если статья ссылается на trino.io/docs — она про наш курс.
Роль Starburst
Вокруг Trino важно понимать роль компании Starburst. Это частый источник путаницы: «Starburst — это и есть Trino?» Нет, но связь тесная.
Starburst — это компания, основанная людьми, стоящими за Trino, включая самих создателей движка. Trino как таковой — открытый проект под открытой лицензией, бесплатный; им управляет Trino Software Foundation, и им может пользоваться кто угодно. Starburst же зарабатывает на коммерческих продуктах, построенных вокруг этого открытого ядра.
У Starburst два основных продукта. Starburst Enterprise — коммерческий дистрибутив Trino: то же ядро плюс дополнительные коннекторы, расширенная безопасность, инструменты и коммерческая поддержка, для тех, кто разворачивает Trino сам. Starburst Galaxy — полностью управляемый облачный сервис на основе Trino: Trino как SaaS, где администрированием занимается вендор.
Почему компания вкладывается в развитие открытого Trino, если он бесплатный? Это стандартная модель open-core: открытое ядро привлекает огромное сообщество и пользователей, а компания зарабатывает на тех, кому нужны корпоративные возможности, поддержка или управляемый сервис. Чем сильнее открытый Trino, тем больше потенциальных клиентов у коммерческих продуктов. Starburst — крупный, но не единственный контрибьютор: в развитии Trino участвует широкое сообщество и другие компании, включая AWS.
Этот курс — про открытый, бесплатный Trino, который вы скачиваете с trino.io и запускаете сами, как мы делали в уроке про среду разработки. Всё, чему учит курс — архитектура, SQL, оптимизатор, эксплуатация — относится к открытому ядру. Коммерческие дистрибутивы добавляют возможности поверх, но фундамент один и тот же.
Что выбрать инженеру
Практический вопрос: если строишь платформу сегодня, на что смотреть — PrestoDB или Trino? Однозначного «всегда X» здесь нет, выбор зависит от контекста, но есть устойчивые ориентиры.
Trino за годы после форка стал очень активным проектом с быстрым релизным циклом, большим сообществом, широкой экосистемой коннекторов и компанией Starburst, толкающей развитие. Многие современные lakehouse-стеки и интеграции (например, dbt-trino, плагины и драйверы) ориентированы именно на Trino. По функциональности, особенно вокруг открытых табличных форматов вроде Iceberg, Trino во многом ушёл вперёд.
PrestoDB остаётся живым проектом со своей нишей и сообществом, в частности внутри экосистемы Meta. Если вы приходите в компанию, где исторически развёрнут PrestoDB, — это рабочий движок, и резко мигрировать не обязательно.
Главное для инженера — не путать проекты и понимать, что навык не пропадает: общие принципы (MPP-архитектура, фрагментация плана, exchange, cost-based оптимизация, pushdown), которым учит курс, применимы к обоим, потому что у них общий предок. Различаются детали: конкретный синтаксис, имена свойств, набор фич и темп их появления.
Эта мысль про переносимость навыка важна, и на ней стоит задержаться. Когда вы изучаете Trino «до железа» — как запрос превращается в стадии, как воркеры обмениваются данными, как оптимизатор выбирает порядок джойнов — вы изучаете не набор кнопок одного продукта, а фундаментальные принципы распределённого SQL-движка. Эти принципы заложены в общем предке Presto и потому одинаково лежат в основе и Trino, и PrestoDB. Более того, похожие идеи вы узнаете и в Spark SQL, и в облачных аналитических движках. Поэтому глубокое понимание Trino — это инвестиция, которая не обесценивается при смене конкретного движка: меняется синтаксический «верхний слой», но модель внизу остаётся узнаваемой.
Что до практического выбора, разумная позиция такая. Для новой платформы, которую вы проектируете с нуля сегодня, Trino — естественный выбор по умолчанию: активное развитие, широкая экосистема, ориентация современных интеграций именно на него. Если же вы приходите в окружение, где уже работает PrestoDB, не нужно воспринимать это как «неправильный движок» — это рабочая система, и решение о миграции, если оно вообще нужно, принимается по конкретным причинам, а не из-за имени. В обоих случаях фундамент, который даёт этот курс, останется с вами.
Попробуй сам
Откройте два сайта рядом: trino.io и prestodb.io. Сравните их главные страницы — как каждый проект сам себя описывает, какие сценарии выдвигает на первый план, насколько свежие даты в новостях и блоге.
Затем зайдите на GitHub в организации trinodb и prestodb, найдите основной репозиторий каждого проекта и посмотрите дату последнего релиза и активность коммитов за последний месяц. Сделайте вывод о темпе разработки каждого проекта. В завершение сформулируйте письменно своими словами: чем PrestoDB и Trino отличаются как проекты и почему совет, найденный для одного, не всегда применим к другому.