Яндекс Метрика. Цели
Я обычно стараюсь играть по правилам. Даже в каком-нибудь нелюдимом захолустье терпеливо ожидаю зеленый свет на переходе, услужливо пропуская перекати-поле. Мы пришли, чтобы выиграть войну, а не битву или еще: этот максимум - локальный. 😎
Естественно, что и при редкой работе с Метрикой я всегда всё делаю согласно документации. Так вот, в этой самой документации есть любопытная ремарка касательно целей:
Внимание. Значение идентификатора target не должно содержаться в URL страниц сайта. Иначе будет собираться некорректная статистика, учитывающая посещения страниц, содержащих в адресе значение, выбранное при создании цели.
Получается, что разница между целями типа js-событие и url есть только в интерфейсе для удобства юзера, в бэке же они все эти годы хранились вместе. А значит, мы можем фиксировать цели с js-событиями условиями для url.
Зачем?
В этом случае доступны проверки вхождения и регулярки, что наверняка оценят любителя автотегов, посылающие в Метрику что-то типа
Легально?
Тех поддержка не рекомендует пользоваться таким способом, так что сперва посмотрите на свой трекинг и подумайте, может ли быть хуже.
А ещё варианты?
Вместо это советуют пользоваться параметрами визитов, которые тоже, кстати, можно автоматизировать.
@Burgerdata
Я обычно стараюсь играть по правилам. Даже в каком-нибудь нелюдимом захолустье терпеливо ожидаю зеленый свет на переходе, услужливо пропуская перекати-поле. Мы пришли, чтобы выиграть войну, а не битву или еще: этот максимум - локальный. 😎
Естественно, что и при редкой работе с Метрикой я всегда всё делаю согласно документации. Так вот, в этой самой документации есть любопытная ремарка касательно целей:
Внимание. Значение идентификатора target не должно содержаться в URL страниц сайта. Иначе будет собираться некорректная статистика, учитывающая посещения страниц, содержащих в адресе значение, выбранное при создании цели.
Получается, что разница между целями типа js-событие и url есть только в интерфейсе для удобства юзера, в бэке же они все эти годы хранились вместе. А значит, мы можем фиксировать цели с js-событиями условиями для url.
Зачем?
В этом случае доступны проверки вхождения и регулярки, что наверняка оценят любителя автотегов, посылающие в Метрику что-то типа
{{Event Category}}_{{Event Action}}_{{Event Label}}Легально?
Тех поддержка не рекомендует пользоваться таким способом, так что сперва посмотрите на свой трекинг и подумайте, может ли быть хуже.
А ещё варианты?
Вместо это советуют пользоваться параметрами визитов, которые тоже, кстати, можно автоматизировать.
@Burgerdata
GTM Server-side
Клевые новости пришли с Superweek, который проходит сейчас в Венгрии. Брайан Кун (если я правильно разглядел фотку) анонсировал GTM для серверной стороны. Это решит очень много проблем с нагрузкой на клиент, с запретами на куки, кастомным стримингом данных и т.п.
Семён конечно уже вовсю излагает свои мыслишки
https://twitter.com/SimoAhava/status/1222459714614841346
@Burgerdata
Клевые новости пришли с Superweek, который проходит сейчас в Венгрии. Брайан Кун (если я правильно разглядел фотку) анонсировал GTM для серверной стороны. Это решит очень много проблем с нагрузкой на клиент, с запретами на куки, кастомным стримингом данных и т.п.
Семён конечно уже вовсю излагает свои мыслишки
https://twitter.com/SimoAhava/status/1222459714614841346
@Burgerdata
X (formerly Twitter)
Simo Ahava (@SimoAhava) on X
So, #GoogleTagManager introduced “server-side tagging”, at SuperWeek, which finally gives me a chance to unload some thoughts about it :)
Server-side tagging translates to a new “Server” container running on a cloud VM in your own domain namespace. 1/6
Server-side tagging translates to a new “Server” container running on a cloud VM in your own domain namespace. 1/6
Apps noscript V8
В аппскрипте поменялся движок для выполнения JS. Теперь это V8, на котором работают сhrome и nodejs. Больше не придётся щелкать в голове тумблер, чтобы забыть привычные конструкции 🤓
Надеюсь, теперь это облако для бедных, станет чуть менее непопулярно.
У меня получилось включить V8, добавив
https://developers.google.com/apps-noscript/guides/v8-runtime
Из менее интересного: в ЯМетрике теперь по умолчанию визиты атрибуТТТируются как в GA – по последнему известному источнику. Хорошая новость, потому что большинство юзеров по моему опыту, даже не знали, что это такое, и открывая отчеты, просто копипастили данные в общую эксельку с GA.
@Burgerdata
В аппскрипте поменялся движок для выполнения JS. Теперь это V8, на котором работают сhrome и nodejs. Больше не придётся щелкать в голове тумблер, чтобы забыть привычные конструкции 🤓
Надеюсь, теперь это облако для бедных, станет чуть менее непопулярно.
У меня получилось включить V8, добавив
"runtimeVersion": "V8" в корень манифеста: View - Show manifest file. Никаких опций Enable из гайда по ссылке я в своих скриптах не увидел.https://developers.google.com/apps-noscript/guides/v8-runtime
Из менее интересного: в ЯМетрике теперь по умолчанию визиты атрибуТТТируются как в GA – по последнему известному источнику. Хорошая новость, потому что большинство юзеров по моему опыту, даже не знали, что это такое, и открывая отчеты, просто копипастили данные в общую эксельку с GA.
@Burgerdata
Google for Developers
V8 runtime overview | Apps Script | Google for Developers
Learn about the Apps Script V8 runtime, including the modern JavaScript syntax and features it enables, and its specific limitations.
APP+WEB
Добавили возможность рисовать свои пути по сайту, в том числе шаги, предшествовавшие чему-то. То есть можно задать точку начала или точку конца, и достроить остальное.
У меня конечно далеко не лучший на планете G-счетчик для демонстрации, и в ближайшее время я переходить туда не планирую, но попытка хорошая 🤔
@Burgerdata
Добавили возможность рисовать свои пути по сайту, в том числе шаги, предшествовавшие чему-то. То есть можно задать точку начала или точку конца, и достроить остальное.
У меня конечно далеко не лучший на планете G-счетчик для демонстрации, и в ближайшее время я переходить туда не планирую, но попытка хорошая 🤔
@Burgerdata
APP+WEB - Enhanced Ecommerce
В этом карантине работаешь весь день, и руки доходят даже до забытого бэклога. Вот и гугиль добавил наконец расширенный екоммерс в новый счетчик. Документация у них давно висела на сайте, но сам трекер должным образом не реагировал , теперь же шлётся что-то отличное от
Дока для gtag
Дока для gtm
Глядишь, скоро и отчёты добавят, где эти данные можно будет нормально посмотреть.
@Burgerdata
В этом карантине работаешь весь день, и руки доходят даже до забытого бэклога. Вот и гугиль добавил наконец расширенный екоммерс в новый счетчик. Документация у них давно висела на сайте, но сам трекер должным образом не реагировал , теперь же шлётся что-то отличное от
[object Object].Дока для gtag
Дока для gtm
Глядишь, скоро и отчёты добавят, где эти данные можно будет нормально посмотреть.
@Burgerdata
📣 Здравствуйте, товарищи!
Сколько ж воды утекло.. и высохло.
Я успел поработать СберВоином, меня забанили в гугле, и, как и многим, мне пришлось полностью сменить стек.
Шаг за шагом это привело к тому, что мы с командой запустили SaaS для работы с данными, который я анонсирую завтра🧨
Конечно же буду активно навязывать его вам в грядущих постах.
А чего ещё можно ожидать?
А ещё мне необходимо побольше людей обращать в свою веру, и поэтому в канале будут появляться посты по актуальному для меня стеку:
🧦 dbt
🧦 Cube (семантический слой)
🧦 ИИ Агенты (ии слой)
🧦 ClickHouse
🧦 Trino
🧦 DuckDB
Сколько ж воды утекло.. и высохло.
Я успел поработать СберВоином, меня забанили в гугле, и, как и многим, мне пришлось полностью сменить стек.
Шаг за шагом это привело к тому, что мы с командой запустили SaaS для работы с данными, который я анонсирую завтра🧨
Конечно же буду активно навязывать его вам в грядущих постах.
А чего ещё можно ожидать?
А ещё мне необходимо побольше людей обращать в свою веру, и поэтому в канале будут появляться посты по актуальному для меня стеку:
🧦 dbt
🧦 Cube (семантический слой)
🧦 ИИ Агенты (ии слой)
🧦 ClickHouse
🧦 Trino
🧦 DuckDB
❤1
Мы с вами расстались в ковид.
Тогда на карантине много кто поднабрал. Стали большими мои данные, а с ними и счета за BQ.
В попытке сэкономить я эволюционировал от scheduled queries до dataform, с которого потом пришлось перейти на dbt.
Однако многим коллегам трансформация далась непросто, ведь для командной работы с dbt-core необходимо
⁃ установить python окружение, dbt и доп.пакеты
⁃ настроить подключение, проект, таргеты для прода и дева
⁃ освоить git: ветки, коммиты, конфликты, релизы
⁃ подключаться к ВМ по SSH с vpn, редактировать cron, разбирать логи
⁃ как-то ещё надо получать алерты об упавших моделях из расписания
⁃ всё это у нас умножилось на дюжину персон в отделе, десятки клиентов, проектов и сотни моделей
Коллегам было очень, очень тяжело. А ведь данные всего мира не стоят слезинки на щеке аналитика! 🥹
Какие были варианты?
⁃ освободить ставки, нанять инженеров и научить их работать с данными диджитал маркетинга
⁃ второй
Мы выбрали второй!
Тогда на карантине много кто поднабрал. Стали большими мои данные, а с ними и счета за BQ.
В попытке сэкономить я эволюционировал от scheduled queries до dataform, с которого потом пришлось перейти на dbt.
Однако многим коллегам трансформация далась непросто, ведь для командной работы с dbt-core необходимо
⁃ установить python окружение, dbt и доп.пакеты
⁃ настроить подключение, проект, таргеты для прода и дева
⁃ освоить git: ветки, коммиты, конфликты, релизы
⁃ подключаться к ВМ по SSH с vpn, редактировать cron, разбирать логи
⁃ как-то ещё надо получать алерты об упавших моделях из расписания
⁃ всё это у нас умножилось на дюжину персон в отделе, десятки клиентов, проектов и сотни моделей
Коллегам было очень, очень тяжело. А ведь данные всего мира не стоят слезинки на щеке аналитика! 🥹
Какие были варианты?
⁃ освободить ставки, нанять инженеров и научить их работать с данными диджитал маркетинга
⁃ второй
Мы выбрали второй!
🔥4
Встречайте https://subquery.ru
Мы постарались сделать удобный сервис для работы с dbt, чтобы технология была доступна не только инженерам данных, но и аналитикам и другим спецам со знанием SQL. Уже год он используется для обработки маркетинговых данных крупнейшего российского рекламодателя.
👂Какие функции есть?
⁃ поддерживаем адаптеры ClickHouse, PostgreSQL и принимаем заявки
⁃ sql редактор с подсказками, проверками и настройками под себя
⁃ граф моделей, поиск, таргеты, стриминг логов dbt
⁃ запуски по расписанию, удаленные запуски, бэкфилы, алерты
⁃ ветки, публикации, история версий и изменений
⁃ файловый менеджер S3
👂Что нужно, чтобы начать?
Опубликованная СУБД ClickHouse или PostgreSQL.
Мы предоставляем демо-проект для пробы, в котором конечно же не стоит вести дела.
👂Сколько стоит?
Небольшой проект можно вести бесплатно.
Что-то посерьезнее потребует постоплаты по числу рабочих мест.
Для энтерпрайза лимиты обсуждаются отдельном в каждом конкретном случае.
👂Что дальше?
dbt - первый этап. Позже мы добавим BI систему, коннекторы к источникам, облачную СУБД, свой счетчик и прочее. Есть открытый роадмап, вы можете повлиять на приоритеты.
Приглашаю попробовать https://subquery.ru
Можно со своим репозиторием.
Надеюсь, это сэкономит ваши слёзы.🥹
Мы постарались сделать удобный сервис для работы с dbt, чтобы технология была доступна не только инженерам данных, но и аналитикам и другим спецам со знанием SQL. Уже год он используется для обработки маркетинговых данных крупнейшего российского рекламодателя.
👂Какие функции есть?
⁃ поддерживаем адаптеры ClickHouse, PostgreSQL и принимаем заявки
⁃ sql редактор с подсказками, проверками и настройками под себя
⁃ граф моделей, поиск, таргеты, стриминг логов dbt
⁃ запуски по расписанию, удаленные запуски, бэкфилы, алерты
⁃ ветки, публикации, история версий и изменений
⁃ файловый менеджер S3
👂Что нужно, чтобы начать?
Опубликованная СУБД ClickHouse или PostgreSQL.
Мы предоставляем демо-проект для пробы, в котором конечно же не стоит вести дела.
👂Сколько стоит?
Небольшой проект можно вести бесплатно.
Что-то посерьезнее потребует постоплаты по числу рабочих мест.
Для энтерпрайза лимиты обсуждаются отдельном в каждом конкретном случае.
👂Что дальше?
dbt - первый этап. Позже мы добавим BI систему, коннекторы к источникам, облачную СУБД, свой счетчик и прочее. Есть открытый роадмап, вы можете повлиять на приоритеты.
Приглашаю попробовать https://subquery.ru
Можно со своим репозиторием.
Надеюсь, это сэкономит ваши слёзы.🥹
🔥5
В subquery.ru есть файловый менеджер для работы с файлами S3.
Так или иначе мы периодически сталкиваемся с ручными данными, занимаемся загрузкой\выгрузкой, поэтому решили, что удобно, когда всё рядом, и не надо ходить в утку.
Ну и конечно его использование бесплатно, если поступаете со своим бакетом.
Я включил в нашу документацию руководство по работе с S3 в ClickHouse.
https://docs.subquery.ru/files/guides/clickhouse-s3/
Так или иначе мы периодически сталкиваемся с ручными данными, занимаемся загрузкой\выгрузкой, поэтому решили, что удобно, когда всё рядом, и не надо ходить в утку.
Ну и конечно его использование бесплатно, если поступаете со своим бакетом.
Я включил в нашу документацию руководство по работе с S3 в ClickHouse.
https://docs.subquery.ru/files/guides/clickhouse-s3/
🔥4
Однажды человек пришёл к мудрецу и сказал ему:
- О, мудрейший, я хочу жениться и выбираю девственницу.
Мудрец вышел, а когда вернулся, то в руках он держал два..
В общем я надкусил Apache Iceberg, и если вы обещаете никому не говорить, то расскажу, как это было.
Сходим в 🪣 s3, одолеем чудовище по имени Nessie, вкусим DuckDB паштет, ну и Trino тоже поучаствует.
https://subquery.ru/blog/iceberg-trino-duckdb/
- О, мудрейший, я хочу жениться и выбираю девственницу.
Мудрец вышел, а когда вернулся, то в руках он держал два..
В общем я надкусил Apache Iceberg, и если вы обещаете никому не говорить, то расскажу, как это было.
Сходим в 🪣 s3, одолеем чудовище по имени Nessie, вкусим DuckDB паштет, ну и Trino тоже поучаствует.
https://subquery.ru/blog/iceberg-trino-duckdb/
SubQuery
SubQuery — инструменты Big Data. Облачный DBT
SaaS решение для работы с большими данными на основе DBT. Интуитивный облачный редактор для создания моделей данных.
🔥6
🚀 Новый релиз!
- Запросы в консоли можно разделять с помощью ; и запускать индивидуально
- Окно поиска поддерживает регулярки, выбор регистра и массовую замену!
- Добавлена команда dbt retry. Она основывается на записи в run_results, так что в персональной ветке зайдёт, а вот в коллективной отцом может оказаться любой.
- Оптимизировали работу с хранилищем результатов запроса. Теперь там всё по тирам с разными TTL и компрессией.
- General system stability improvements to enhance the user's experience.
- Запросы в консоли можно разделять с помощью ; и запускать индивидуально
- Окно поиска поддерживает регулярки, выбор регистра и массовую замену!
- Добавлена команда dbt retry. Она основывается на записи в run_results, так что в персональной ветке зайдёт, а вот в коллективной отцом может оказаться любой.
- Оптимизировали работу с хранилищем результатов запроса. Теперь там всё по тирам с разными TTL и компрессией.
- General system stability improvements to enhance the user's experience.
🔥8👏5🤩4
Семантический слой
Когда-то, работая аналитиками, мы делали сотни дашбордов.
Заказчики использовали их реже, чем обещали, дашборды теряли актуальность, а данные между ними неизбежно расходились.
Семантический слой позволил унифицировать данные, а его реализация с помощью Cube дала возможность вообще позабыть про дашборды, кроме отдельных случаев.
Вдобавок к этому недавно прошла конференция СБЕРа на тему использования AI в BI, где коллеги говорили про тестирование подходов в виде DataAPI или Text2SQL. А нам внедренный семантический слой позволил подключить агента меньше, чем за неделю(!)
Я написал пару статей о нашем опыте взаимодействия с Cube и надеюсь, что это поможет стать ему хоть чуточку популярнее
Сила атрибута meta в Cube
Как организовать тенанты в Cube
Когда-то, работая аналитиками, мы делали сотни дашбордов.
Заказчики использовали их реже, чем обещали, дашборды теряли актуальность, а данные между ними неизбежно расходились.
Семантический слой позволил унифицировать данные, а его реализация с помощью Cube дала возможность вообще позабыть про дашборды, кроме отдельных случаев.
Вдобавок к этому недавно прошла конференция СБЕРа на тему использования AI в BI, где коллеги говорили про тестирование подходов в виде DataAPI или Text2SQL. А нам внедренный семантический слой позволил подключить агента меньше, чем за неделю(!)
Я написал пару статей о нашем опыте взаимодействия с Cube и надеюсь, что это поможет стать ему хоть чуточку популярнее
Сила атрибута meta в Cube
Как организовать тенанты в Cube
👍7❤5👀3🔥2🤩2
AI в BI
Видимо, кто-то до сих пор верит, что SQL придумали для секретарш, и потому надеется научить ему ИИ. Обывателю кажется, что "подай-принеси" данные делать несложно, но мы-то с вами знаем, кого и куда порой приходится натягивать, чтобы всё сошлось, а ведь дата стюарды отнюдь нерезиновые!
Тем не менее позыв позитивный, и надо его поддержать. Так что в этой неравной битве встану на сторону машин, тем более что за рабочие места секретарш я спокоен.
Попробую разложить тизер из прошлого поста. Итак, я уверен, что нейросеть не должна генерить SQL.
Это плохо контролируемый процесс, а вольности тут недопустимы, отвечать-то всё равно нам.
Как быть?
Мы ведь с вами делаем дашборды, в которых заказчик может тыкать только выданные виджеты, фильтры, смотреть предустановленные метрики и срезы. Так вот с этими недосекретаршами ситуация аналогичная - их нужно ограничить.
🧞♂️ План
1️⃣ Описываем в кубе необходимые бизнес метрики со всякими сложными SQL выражениями, джойнами и прочим. Добавляем к ним дескрипшны.
2️⃣ Пишем MCP сервер с перечислением нужных нейросети инструментов. Для демки мы использовали библиотеку от верцеля. Также вам понадобятся Дима и Гриша.
3️⃣ Суём машине в контекст наши инструменты, инструкции по их использованию, а потом закидываем вопрос юзера. Если выплывет, устраиваем на полставки.
🧙♀️ Какие инструменты писать?
dataset_meta
Подносим ИИшнице меню на выбор, в нём перечень всех полей датасета с описаниями, т.е. meta куба.
dimension_values
Юзер редко знает, как точно называется продукт в базе, когда интересуется выручкой по нему. Так что пусть машина сбегает и посмотрит, какие варианты вообще есть.
get_date
ИИ уже такого от вас натерпелся, что первым делом по привычке спрашивает, как долго он был в отключке. Сверяем часы, если нужно, чтобы данные в ответах были актуальными.
dataset_query
Когда многомиллиардная разработка наконец осознаёт, что от неё хотят, то формирует json запроса в куб
Вишенкой стали методы для выбора и построения графиков, расчета позиции спавна виджетов и прочего визуального.
🦄 Как это выглядит?
🧚 Что надо учесть?
1. Можно использовать разные модели для планирования решения и реализации. Это скажется и на скорости и на стоимости, так многие делают.
2. За ИИ всегда надо проверять. В неудачных дублях скринкаста он дергал функцию генерации конфига виджета дважды, потому что первое изделие не прошло сертификацию. Мы используем zod, как в примере.
3. Мультитенантность и RLS тоже не стоит доверять нейросети, для этого потребуются низкоуровневые методы
4. ИИ получает доступ к данным. Передача ценных данных между юрлицами, а тем более трансграничная, не всегда допустима.
5. Видос я ускорил.
6. Всё равно кто-то попросит скриншот дашборда в мессенджер... каждый день
Видимо, кто-то до сих пор верит, что SQL придумали для секретарш, и потому надеется научить ему ИИ. Обывателю кажется, что "подай-принеси" данные делать несложно, но мы-то с вами знаем, кого и куда порой приходится натягивать, чтобы всё сошлось, а ведь дата стюарды отнюдь нерезиновые!
Тем не менее позыв позитивный, и надо его поддержать. Так что в этой неравной битве встану на сторону машин, тем более что за рабочие места секретарш я спокоен.
Попробую разложить тизер из прошлого поста. Итак, я уверен, что нейросеть не должна генерить SQL.
Это плохо контролируемый процесс, а вольности тут недопустимы, отвечать-то всё равно нам.
Как быть?
Мы ведь с вами делаем дашборды, в которых заказчик может тыкать только выданные виджеты, фильтры, смотреть предустановленные метрики и срезы. Так вот с этими недосекретаршами ситуация аналогичная - их нужно ограничить.
🧞♂️ План
1️⃣ Описываем в кубе необходимые бизнес метрики со всякими сложными SQL выражениями, джойнами и прочим. Добавляем к ним дескрипшны.
2️⃣ Пишем MCP сервер с перечислением нужных нейросети инструментов. Для демки мы использовали библиотеку от верцеля. Также вам понадобятся Дима и Гриша.
3️⃣ Суём машине в контекст наши инструменты, инструкции по их использованию, а потом закидываем вопрос юзера. Если выплывет, устраиваем на полставки.
🧙♀️ Какие инструменты писать?
dataset_meta
Подносим ИИшнице меню на выбор, в нём перечень всех полей датасета с описаниями, т.е. meta куба.
dimension_values
Юзер редко знает, как точно называется продукт в базе, когда интересуется выручкой по нему. Так что пусть машина сбегает и посмотрит, какие варианты вообще есть.
get_date
ИИ уже такого от вас натерпелся, что первым делом по привычке спрашивает, как долго он был в отключке. Сверяем часы, если нужно, чтобы данные в ответах были актуальными.
dataset_query
Когда многомиллиардная разработка наконец осознаёт, что от неё хотят, то формирует json запроса в куб
Вишенкой стали методы для выбора и построения графиков, расчета позиции спавна виджетов и прочего визуального.
🦄 Как это выглядит?
import { createMcpHandler } from '@vercel/mcp-handler'
import { z } from 'zod'
const handler = createMcpHandler(
(server) => {
server.tool(
'dataset_query',
'Get data with Cube query',
{
measures: z.array(z.string()),
dimensions: z.optional(
z.array(z.string())
),
filters: z.optional(
z.array(
z.object({
member: z.string(),
operator: z.string(),
values: z.array(z.string()),
})
)
),
// ...
})
})
🧚 Что надо учесть?
1. Можно использовать разные модели для планирования решения и реализации. Это скажется и на скорости и на стоимости, так многие делают.
2. За ИИ всегда надо проверять. В неудачных дублях скринкаста он дергал функцию генерации конфига виджета дважды, потому что первое изделие не прошло сертификацию. Мы используем zod, как в примере.
3. Мультитенантность и RLS тоже не стоит доверять нейросети, для этого потребуются низкоуровневые методы
4. ИИ получает доступ к данным. Передача ценных данных между юрлицами, а тем более трансграничная, не всегда допустима.
5. Видос я ускорил.
6. Всё равно кто-то попросит скриншот дашборда в мессенджер... каждый день
🔥7🤩4❤3👀3🆒3
🛠 Никто не заметил, а мы сделали
Мы давненько не писали апдейты, но это не значит, что ничего не происходило.
Коротко 👇
🔍 Поиск в dbt стал сильно умнее
Теперь можно искать регулярками, учитывать регистр и делать массовую замену сразу в файлах. Когда проект большой — это реально спасает время.
📊 Появились графики
Результаты запросов теперь можно не только смотреть таблицей, но и быстро визуализировать.
А еще:
— Копирование всех колонок одним действием (и из дерева БД, и из результатов запроса)
— Добавили команды dbt retry и dbt source freshness
— Починили удаление пользователей из команды (теперь без сюрпризов)
Без громкого релиза, но с кучей мелких улучшений, которые делают жизнь проще.
👉 Самое время вернуться и потыкать демо → https://subquery.ru/
Мы давненько не писали апдейты, но это не значит, что ничего не происходило.
Коротко 👇
🔍 Поиск в dbt стал сильно умнее
Теперь можно искать регулярками, учитывать регистр и делать массовую замену сразу в файлах. Когда проект большой — это реально спасает время.
📊 Появились графики
Результаты запросов теперь можно не только смотреть таблицей, но и быстро визуализировать.
А еще:
— Копирование всех колонок одним действием (и из дерева БД, и из результатов запроса)
— Добавили команды dbt retry и dbt source freshness
— Починили удаление пользователей из команды (теперь без сюрпризов)
Без громкого релиза, но с кучей мелких улучшений, которые делают жизнь проще.
👉 Самое время вернуться и потыкать демо → https://subquery.ru/
🔥11⚡7❤5
Макросы в dbt — это как суперспособности, только без укуса радиоактивного паука 🕷
Представь, что ты пишешь один и тот же SQL в десятый раз и думаешь: «Ну всё, я теперь SELECT-монах».
И тут появляются макросы.
Почему макросы — это польза, а не магия чёрной кухни:
🧠 Экономят мозг
Написал логику один раз — используешь везде. Мозг перестаёт кипеть, а кофе — остывать.
🧹 SQL становится чище
Вместо километров кода — аккуратный вызов макроса. Красота, порядок, почти как в комнате… ну, почти.
🔁 Меньше копипасты — меньше багов
Один макрос — одна ошибка максимум. А не «ой, тут я забыл поменять имя колонки».
🛠 Легко чинить
Поменял макрос — и все модели такие:
«О, спасибо, мы тоже обновились».
😎 Выглядишь как профи
Коллеги видят {{ my_cool_macro() }} и думают: «Хм, этот человек знает, что делает».
А если хочется не просто верить в силу макросов, а понять, как они работают на практике, особенно с ClickHouse, 👉 вот отличная статья, которая всё раскладывает по полочкам (без магии и жертвоприношений).
Итог простой: макросы в dbt — это когда ты ленив… но правильно. А правильная лень, как известно, — двигатель автоматизации 🚀
Представь, что ты пишешь один и тот же SQL в десятый раз и думаешь: «Ну всё, я теперь SELECT-монах».
И тут появляются макросы.
Почему макросы — это польза, а не магия чёрной кухни:
🧠 Экономят мозг
Написал логику один раз — используешь везде. Мозг перестаёт кипеть, а кофе — остывать.
🧹 SQL становится чище
Вместо километров кода — аккуратный вызов макроса. Красота, порядок, почти как в комнате… ну, почти.
🔁 Меньше копипасты — меньше багов
Один макрос — одна ошибка максимум. А не «ой, тут я забыл поменять имя колонки».
🛠 Легко чинить
Поменял макрос — и все модели такие:
«О, спасибо, мы тоже обновились».
😎 Выглядишь как профи
Коллеги видят {{ my_cool_macro() }} и думают: «Хм, этот человек знает, что делает».
А если хочется не просто верить в силу макросов, а понять, как они работают на практике, особенно с ClickHouse, 👉 вот отличная статья, которая всё раскладывает по полочкам (без магии и жертвоприношений).
Итог простой: макросы в dbt — это когда ты ленив… но правильно. А правильная лень, как известно, — двигатель автоматизации 🚀
🔥11❤6👍4🆒4
🎄 Новый год, новые мы
Рабочее место SubQuery — 990 ₽ в месяц
Мы обновили тарифы SubQuery.
С сегодняшнего дня стоимость рабочего места — 990 ₽ в месяц вместо 5 000 ₽, и это уже действует для всех текущих пользователей.
Мы проанализировали, как сервис работает на практике, пересобрали лимиты и упростили модель тарификации. Во многом это стало возможным благодаря нашим корпоративным клиентам 💚 — их реальные сценарии и деньги помогли нам лучше понять, каким должен быть тариф.
Заодно обновили лендинг — теперь стало проще разобраться, как устроен SubQuery и для кого он подойдёт.
👉 Если давно не заходили, сейчас хороший момент. Посмотреть, как мы принарядились → subquery.ru
Рабочее место SubQuery — 990 ₽ в месяц
Мы обновили тарифы SubQuery.
С сегодняшнего дня стоимость рабочего места — 990 ₽ в месяц вместо 5 000 ₽, и это уже действует для всех текущих пользователей.
Мы проанализировали, как сервис работает на практике, пересобрали лимиты и упростили модель тарификации. Во многом это стало возможным благодаря нашим корпоративным клиентам 💚 — их реальные сценарии и деньги помогли нам лучше понять, каким должен быть тариф.
Заодно обновили лендинг — теперь стало проще разобраться, как устроен SubQuery и для кого он подойдёт.
👉 Если давно не заходили, сейчас хороший момент. Посмотреть, как мы принарядились → subquery.ru
🔥11🤩4😎3
Спасибо, что уделяете нам время в промежутках между адхоками, дагами и дашбордами. Надеюсь, вам за это воздастся 😅
В уходящем году https://subquery.ru наконец вышел в открытый доступ и начал набирать обороты после года внутренней эксплуатации.
В 2026 в комплект к dbt мы выкатим ещё несколько модулей:
- BI система
- потоки данных
- облачная СУБД
Зачем? Потому что можем 😆
И потому что у нас есть, чего сказать нового по этим темам
Цензурную версию роадмапа можно посмотреть по ссылке:
👉 https://github.com/orgs/SubQueryLab
Фантастическая спрятана в жирных кулуарах
И да, это тот самый случай, когда аналитик действительно может повлиять на развитие продукта 😅
Желаю вам спокойного, но интересного и увлекательного года!
Мы подсобим
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉11🔥6❤4