dbt недавно похвастался, что преодолел $100M ARR, в основном за счёт роста клауд-продукта среди Enterprise-клиентов.
5,000 dbt Cloud customers, 30% year-over-year рост
Средний чек — $20K на клиента. Конечно, среднее в SaaS — это такое себе мерило. SpatialChat генерит dbt $1.2K в год, а Siemens, думаю, под $100K+.
Но что интересно — dbt, похоже, окончательно сменил стратегию. Фокус на Enterprise немного ранил дух open-source, на котором dbt вырос. Я это и на себе заметил. Долгое время я жил в длинном хвосте dbt-клиентов на $1.2K, и с каждым годом продукт радовал всё меньше. Семантический слой так и не поддерживает Postgres (понимаю, что так себе выбор для dwh, но все же). В Cloud-версии нельзя выбрать версию для запуска. Изменения в прайсинге даже не самые прозрачные – я как-то пропустил даже, что меня начали чарджить за модели.
Но бизнес есть бизнес. Новый план может и расстроил коммьюнити в Slack, зато закрыли сильные Enterprise-сделки.
Помимо ARR-апдейта, dbt ещё купил SDF — интересный стартап, который я давно хотел разобрать. SDF поднимал $9M от Two Sigma Ventures, Sequoia, a16z и даже знакомого многим RTP Global.
SDF воспринимает SQL не как текст, а как объектную систему. dbt всю жизнь относился к SQL как к строкам. Всё, что делал dbt — это добавлял Jinja-шаблонизацию, референсы и макросы, чтобы облегчить работу с SQL-пайплайнами. SDF пошёл дальше. Он анализирует SQL на уровне типов и зависимостей, а не просто передаёт его в базу. Он понимает метаданные, может инспектировать lineage и анализировать SQL ещё до выполнения. По сути, это SQL-компилятор, трансформационный движок, linter и language server в одном. Он написан на Rust и просто быстрее dbt Core, который работает на Python.
Если dbt удачно встроит SDF в экосистему, это может изменить саму парадигму работы с SQL. SQL-пайплайны начнут разрабатываться как полноценный код, а не как “набор текстовых файлов”. SQL-компиляция станет быстрее, ошибки будут отлавливаться до деплоя. Data lineage станет встроенной фичей, а не чем-то, что приходится восстанавливать вручную. Это движение в сторону data control plane.
dbt уже давно строит не просто инструмент для трансформации данных, а что-то большее — платформу, которая станет стандартом работы с SQL.
Еще одна особенность SDF в независимости от платформы. Пишешь SQL в одном языке, dbt/SDF транслирует его под нужный движок (Snowflake, BigQuery, DuckDB и т.д.). Программы и пайплайны становятся независимыми от движка. Можно выбирать оптимальный execution engine под конкретную задачу.
Кажется это хорошая покупка для dbt; dbt скорее сделал им хороший оффер, а аудитория адоптила медленно.