Через тернии к Визам
588 subscribers
98 photos
18 videos
41 links
Про DWH, CH, BI и автоматизации рядом
Канал это место для дискуссий =D То есть не стесняемся задавать вопросы, уточнять и говорить свое фи.

Канал ведёт Юра, который любит данные, оптимизации в БД и визуализацию

Большие посты тут
https://датавиз.рф
Download Telegram
Friday Joke
На этой неделе мы работали ровно 1/2 недели - если смотреть WoW* =)

Всем хороших выходных

*WoW - Week Over Week
😁16
Friday Joke
До отпуска 2 часа, но понимаю, что мозг еще неделю будет возвращаться к незакрытым задачам =)
Как вы отключаетесь в отпуске?
😁17💯4🙏1
How to. Make MultiSources SQL with Trino
Потестировал тут намедни Trino в DataLens, хочу тут пока зафиксировать, что получилось, что нет и зачем оно вообще в BI?

💚
- Можно делать датасеты в BI с табличками из разных источников и оно работает!
- При этом, для улучшения производительности, берутся статистики по таблицам и если возможно и нужно, результат из одного источника пуш даунится в другой и вообще или дропается JOIN и заменяется на WHERE IN или передается как CTEшка
- Хорошо масштабируется
- Очень крутой Explain, если его лениво самому читать - теперь ж есть AI, когда в первый раз не понял, куда Трина пошла - попросил распарсить всё Алису - подтвердила гипотезу правильной работы с фильтрами. После КХ тут конечно очень вкусный Explain =)
- Есть кеширование запросов в БД, то есть, если у вас слева табличка и по ней ничего не меняется никогда - Трино прочитает раз ее и будет какое-то время брать из кэша ее
- Можно легко попробовать развернуть в Докере
- очень быстро добавлять каталоги (подключения) - в целом за 6 часов проверил все гипотезы с нуля, когда вообще не трогал зверя

💔
- Вроде можно делать кросс-датасетные вещи, но самая база-база: твоя БД + csv[excel] на S3 - нет такого. то есть в любом случае эксельки надо во что-то другое положить или hive/ch как прослойку ну такое
- Какой-то сюр с добавлением пользователей, через downtime системы. Это прям странное для меня в 2025, настроечный файл + ребут
- Для больших JOIN не сможет перекинуть весь контекст в соседнюю систему, то есть JOIN по номеру заказа (например, база с продажами и логистическая) - без фильтрации предварительной не сможет, иногда может стать блокером
- Не бесплатное, если поиграться в облаке, то есть не по цене чашки кофе, как КХ =)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🤯2🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
Weekend Chart
Чем бы заняться в отпуске, когда ветра нет? посмотреть, где он есть =)
Конечно, AI в BI сильно уменьшает время от идеи до реализации. Представляю вам колдун-чарт =D

Минутка душноты =)
Ветроуказатель (Колдун) - нужен там, где важно направление ветра и его скорость (аэродромы, дропзоны, кайт-споты, любые парусные виды спорта).

Полосатый он не просто так:
- полоски нужны для примерной оценки скорости
- полосатый указатель сильно лучше видно

Сам себе набрасываю:
У меня тут "плохая" картинка в части визуализации: полоски не несут никакой нагрузки + в целом я вывожу топ-7 спотов по количеству ветровых дней, а не по их средней силе.
❤‍🔥74🔥1
WHEN SPAGHETTI IS APPROPRIATE
В среде BI-аналитиков спагетти-чарт это моветон, но тут прям интересна усредняющая статистика (это, кстати, нагрузка на BI систему), как люди приходят, смотрят дэшики, потом уходят на обед и потом возвращаются, но уже не так активно.

В данном случае 2 дня выделяются, один день это праздник, а второй вот не могу понять, как будто предпраздничный день какой-то был, после обеда не вернулись за компы =)
😁10
Media is too big
VIEW IN TELEGRAM
How to. Make Plan vs Actual
Простой и понятный чарт исполнения план-факт.
Формулы смотрите на How to дэше
🔥14🤩1🙏1
Урок Цифры
Провёл во второй раз "Урок Цифры" у ребенка в классе. Тема злободневная: ИИ.

Основные тезисы:
- Дети в 7м классе пока дети, это чудесно 💜 О том, что ИИ сильно влияет на весь мир пока не задумвыаются
- Юзают ИИ для решения домашки, не всегда вдумчиво
- Одна девочка юзает правильно - уточняет, почему у нее ничего не получилось и ответ не сходится и просит разъяснений
- Сложные темы, типа температуры, вероятностей - не зашли еще, хотя сейчас в школах с 7 класса уже ТВиМС


А в прошлом году был урок про Такси, когда спросил, знает ли кто-то, что такое "граф", ответ из зала улыбнул: ну это кто-то Богатый =)
🔥18😁11❤‍🔥5
How to Editor. All in One

Во-первых, тут в коментах попросили расписать пример, как сделать чатик в DataLens (не надо повторять! =) попросили для действительно полезной штуки), сделал статью, видосик тут

Во-вторых, в основную статью про Editor добавил последний нераскрытый пункт - как делать JS-селекторы на базе датасетов, кажется, теперь есть единая точка входа, как делать те или иные вещи в Editor от A до Я

+ Основная Дока
+ Демо дэш с примерами и кодом
🔥8❤‍🔥5
Friday Joke.
Just very very Cute.
😁63🙏1
Посыпаю голову пеплом =)
Совсем забыл рассказать, сегодня стартует ежегодный фестиваль DataLens.
Насыщенная неделя с онлайн и оффлайн контентом, очень крутой состав спикеров (я в том числе).
Будут выступать клиенты и партнеры, некоторые кейсы и идеи прям вообще огонь, но спойлерить не буду ;-)

Ну и как обычно: конкурсы и призы, как небольшие мотиваторы к действию =)
🔥12
Friday joke
А вообще, задачка: какие типы визуализаций можно и/или стоит отрисовывать с помощью рекурсии? =)
😁7🔥3🤔2
ClickHouse. What's new
Наконец выбрал вечер посмотреть, что нового в ClickHouse появилось, оно того стоило!!!

25.10
Удобства
1. равенство с учётом null: <=>, null <=> = null = True
2. LIMIT N BY DIM1, оставить только N первых записей по DIM1, без оконок! пример в feedle
5. LIMIT -100. Милота - можно брать LIMIT с конца =)

Оптимизации
3. Ооо, крутое, enable_lazy_columns_replication, позволяет делать JOIN сильно оптимальнее, если JOIN по разряженному полю, типа табличка 100М строк JOIN сама на себя за 8 секунд, то есть JOIN не будет сначала все перемножать и потом считать.
4. SET enable_join_runtime_filters, просто ТОП! вместо JOIN, если табличка относительно небольшая, будет подзапрос и в большую табличку передастся PREWHERE! Это решает вопросы с RLS, с моделькой звезды в ClickHouse. Надо прям потестить, кто-нибудь пробовал? Х2 к скорости вроде.

25.11
Удобства

1. LIMIT 0.3 - 30% от выборки =) OFFSET 0.5 - OFFSET первой половины записей

Оптимизации
2. Проекции как способ вторичной сортировки - хороший способ ускорения, но очень дорогой, надо хранить все данные еще раз. ClickHouse представил _part_offset указатель, где проекция делается не на все данные, а на указание, в каких партах искать те или иные отсортированные по другому полю данные. То есть читаться партов будет больше, но для каких-то небольших выборок попадание будет хорошее, а хранить все данные, как в полной проекции, не придется.
3. Проекция с GROUP BY теперь используется как источник для DISTINCT! Долой медленные справочники =)
6🔥5
DataLens Festival. How it was
Завершился фестиваль DataLens. Кроме большого набора контента, материалов, (всё есть в канале DataLens) вчера была AfterParty. Наверное, выделю пункты, которые дали почву для размышлений после

🛒 Анализ своих расходов как отдельная тема для рефлексии, то есть не просто план-факт вести, а как-то детально на это смотреть (осуждающе на фастфуд 😁)

📊 Социальная инфографика через BI продукт. Меняю свое мнение, что Отчеты пока не дозрели для инфографики - дозрели, надо теперь только паблик ссылки прикрутить.

👥 Коммьюнити и свежая кровь рулит. Многие вещи, которые были сделаны в Editor, видел впервые, хотя чего только ни делали внутри Я

⚙️ - JS, API (Almost), AI - это все позволяет делать не просто BI Аналитику, а большие дата-продукты вокруг BI

Картинки и ссылки кину первым комментом, чтобы тут не получился длиннопост =)
11🔥6
Header NY Edition
А еще, ближе к новому году, чтобы поднять немного пользователям настроение, уже несколько лет подряд внутри Яндекса включаем на дашбордах гирлянды Деда Мороза, он выглядывает из-за лого соответствующего бизнеса =)

Так как чарт централизованный, это делается по флагу, удобно, быстро, все дэши получают новогодний вайб =)

Главное, не забыть убрать елку до марта отключить после праздников.
7👍5
How To. Make any DB function call
Давно ждал эту функциональность в DataLens и теперь она доступна во всех вариантах.
Набор формул из которых вы можете вызывать любые функции, которые нативно есть в базе данных.
Из того, что прям круто-круто и теперь можно проводить второй вебинар про ClickHouse - uniqMerge, а вообще, ниже примеры с комментами.

-- CH - читаем из словаря categories атрибут category_name по полю category_id, если не найден, проставляем константу other
DB_CALL_STRING('dictGetStringOrDefault','categories','category_name',[category_id],'other')

-- Работа с JSON
-- CH, взять из json поля json_field атрибут last_order_date из объекта category
DB_CALL_STRING('JSONExtractString',[json_field],'category','last_order_date')

-- PG - взять из json атрибут возвраст и возвращаемый тип будет int
DB_CALL_INT('JSON_VALUE',[json_field],'$.age')

-- CH посчитать hash с солью
DB_CALL_STRING('hex',DB_CALL_STRING('SHA1',[salt_param] + [some_id]))

-- CH оставить только уникальные значения в списке значений
DB_CALL_ARR('arrayCompact',[arr_field])

-- CH - использование bittest для проверки, проверяет, равна ли 1 четвертая цифра в int_field, удобно, когда в одном атрибуте зашито много значений
DB_CALL_BOOL('bitTest',[int_field],4)

-- CH, средневзвешенное
DB_CALL_AGG_FLOAT('avgWeighted',[amount],[weight_field])

-- CH, корреляция
DB_CALL_AGG_FLOAT('corr',[x],[y])

-- CH, работа с агрегациями uniqState
DB_CALL_AGG_INT('uniqMerge',[uniqStateField])
🔥103👍2
How to. Spend time during freeze
Сегодня в Москве на улице фриз (-14), возможно, у тебя в компании уже тоже =D
Если так - можно немного выдохнуть до нового года и побаловаться.
Виталий Лифанов прислал в Галерею работ DataLens игры, которые победили в фестивале. Можно покопаться в коде поиграть после планирования 1ого спринта '26 =)
😁75
Про цвета
Несколько месяцев ходим с сыном в кузницу на занятия по ковке. И тут недавно владельцы (они же наши учителя) показали один из своих заказов: Подсвечники, которые делают для ближайшей церкви (тут еще не до конца покраска проведена, патина будет "золотить"). И они не такие, как это "по классике" принято сейчас в ковке: покрашены различными цветами, прям рисунок, придающий совсем другой, живой образ изделию и помещению, где они будут установлены.
Очень приятно и необычно, свежо.
Оказалось, что кузнецы уговаривали сделать вот так, а не "как обычно", заказчика долго, ведь не "бохато" и "золотом" как в других церквях. А убедил его довод, что в Москвоском кремле тоже такая покраска присутствует, а не только золотом (второе фото, Теремной дворец, покрашено по эскизам 1670 года)

Оказалось, что кованые изделия красили таким образом 300 лет назад намного чаще, чем можно встретить сейчас: ковка была дорогим ремеслом, без покраски изделие быстрее ржавело, а покрашенным меньше старилось при этом выглядели наряднее.

Ах да, о чём это я! при чем тут визуализация
- Не бойтесь экспериментировать с цветом и искать палитры где-то в прошлом, ведь многие вещи уже были придуманы давно!
- Если есть разногласия с заказчиком по палитре / использованию чартов, попробуйте использовать аргумент авторитета

Всем побольше творческих моментов в BI, чтобы не только полезно, но и с душой =)
11👍6😁3🙏1