Вырастили целое дерево из агентов 🌳
Мы в Авито разработали единую платформу для процессов. Самые лучшие и популярные становятся агентами. В итоге каждый сотрудник может создать свой процесс или воспользоваться готовым. Классно? Не то слово! Поэтому мы написали статью, как создавали это решение.
О чём узнаете, если прочитаете:
🔸 как устроена архитектура платформы,
🔸 как процесс становится агентом,
🔸 как измерять качество агентов.
Читать статью🚀
Мы в Авито разработали единую платформу для процессов. Самые лучшие и популярные становятся агентами. В итоге каждый сотрудник может создать свой процесс или воспользоваться готовым. Классно? Не то слово! Поэтому мы написали статью, как создавали это решение.
О чём узнаете, если прочитаете:
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Media is too big
VIEW IN TELEGRAM
DELETE не удаляет строку. Кто на самом деле освобождает место в PostgreSQL
DELETE только ставит строке метку, физически она остаётся в файле. Старую версию держит MVCC: пока её могут читать другие транзакции, трогать её нельзя. Мёртвые кортежи убирает уже VACUUM, и только после этого место реально возвращается.
DELETE только ставит строке метку, физически она остаётся в файле. Старую версию держит MVCC: пока её могут читать другие транзакции, трогать её нельзя. Мёртвые кортежи убирает уже VACUUM, и только после этого место реально возвращается.
👍6
Успейте подать заявку на E-CUP 2026 Students от Ozon Tech до 30 августа
E-CUP 2026 Students — ежегодное соревнование от Ozon Tech. В этом сезоне — для студентов, которые интересуются ML, Data Science, Big Data и аналитикой данных.
Вас ждут три трека: поиск дубликатов товаров, ИИ-модерация карточек маркетплейса и прогнозирование поведения пользователей. Все задачи основаны на реальных обезличенных данных Ozon.
Участвовать можно по одиночке или в команде до пяти человек. Соревнование проходит онлайн с финалом на масштабной конференции E-CODE.
Что ждёт участников:
- призовой фонд 7 200 000 ₽;
- обратная связь от инженеров Ozon Tech;
- нетворк с экспертами индустрии;
- лимитированный мерч;
- билеты на конференцию E-CODE, где наградят победителей.
Подробнее — на сайте E-CUP 2026 Students.
➡️ Регистрация уже открыта!
Присоединяйтесь, чтобы выйти за рамки учебных проектов, попробовать свои силы в задачах настоящего бигтеха и сравнить своё решение с лучшими участниками.
E-CUP 2026 Students — ежегодное соревнование от Ozon Tech. В этом сезоне — для студентов, которые интересуются ML, Data Science, Big Data и аналитикой данных.
Вас ждут три трека: поиск дубликатов товаров, ИИ-модерация карточек маркетплейса и прогнозирование поведения пользователей. Все задачи основаны на реальных обезличенных данных Ozon.
Участвовать можно по одиночке или в команде до пяти человек. Соревнование проходит онлайн с финалом на масштабной конференции E-CODE.
Что ждёт участников:
- призовой фонд 7 200 000 ₽;
- обратная связь от инженеров Ozon Tech;
- нетворк с экспертами индустрии;
- лимитированный мерч;
- билеты на конференцию E-CODE, где наградят победителей.
Подробнее — на сайте E-CUP 2026 Students.
➡️ Регистрация уже открыта!
Присоединяйтесь, чтобы выйти за рамки учебных проектов, попробовать свои силы в задачах настоящего бигтеха и сравнить своё решение с лучшими участниками.
👏3❤2🔥1
🚀 SQL: индекс есть, но база специально его игнорирует
Есть индекс:
И запрос:
Кажется, что индекс должен ускорить поиск.
Но если условие возвращает большую часть таблицы, индекс может оказаться дороже обычного Seq Scan.
Например, если 'active' — только 10% строк, то:
вернёт примерно 90% таблицы.
В таком случае базе дешевле один раз последовательно прочитать таблицу, чем прыгать по индексу к огромному количеству строк.
Проверить можно так:
Смотреть нужно не только на наличие индекса, а на селективность условия.
Особенно часто это проявляется с:
Индекс может быть идеальным, но если запрос выбирает почти всю таблицу, оптимизатор вполне разумно его проигнорирует.
Есть индекс:
CREATE INDEX idx_users_status ON users(status);
И запрос:
SELECT *
FROM users
WHERE status != 'active';
Кажется, что индекс должен ускорить поиск.
Но если условие возвращает большую часть таблицы, индекс может оказаться дороже обычного Seq Scan.
Например, если 'active' — только 10% строк, то:
status != 'active'
вернёт примерно 90% таблицы.
В таком случае базе дешевле один раз последовательно прочитать таблицу, чем прыгать по индексу к огромному количеству строк.
Проверить можно так:
EXPLAIN ANALYZE
SELECT *
FROM users
WHERE status != 'active';
Смотреть нужно не только на наличие индекса, а на селективность условия.
Особенно часто это проявляется с:
<>
NOT IN
IS NOT NULL
Индекс может быть идеальным, но если запрос выбирает почти всю таблицу, оптимизатор вполне разумно его проигнорирует.
👍6🔥5❤1🥰1
SQL как ремесло и SQL как инструмент бизнеса — разные навыки
Владеть SQL — значит написать корректный запрос под любую задачу. Работать продуктовым аналитиком — значит понять, какую задачу решает заказчик, и превратить выгрузку в ответ на его вопрос. Первое проверяется тестом на соединениях таблиц, второе — на реальных проектах.
25 августа karpovꓸcourses проводят бесплатный вебинар про этот второй пласт. На реальных задачах разберут:
— какие вопросы задать до запроса, чтобы выгрузка отвечала на задачу заказчика;
— как проверять данные после выгрузки и находить ошибки, которые SQL не подсвечивает;
— типичные ловушки в расчетах, из-за которых технически верный запрос дает неверный ответ;
— как переводить таблицу с цифрами в вывод для бизнеса.
Разбирает Дмитрий Бакаев — продуктовый аналитик в «Передовых Платежных Решениях» и выпускник курса «Аналитик данных» karpovꓸcourses. Вопросы принимает в эфире.
За регистрацию сразу приходит карьерный гайд по профессиям в аналитике, после эфира — запись вебинара
Регистрируйтесь по ссылке — https://clc.to/erid_2W5zFJogLHX
Реклама. ООО «КАРПОВ КУРСЫ». ИНН 7811764627. erid: 2W5zFJogLHX
Владеть SQL — значит написать корректный запрос под любую задачу. Работать продуктовым аналитиком — значит понять, какую задачу решает заказчик, и превратить выгрузку в ответ на его вопрос. Первое проверяется тестом на соединениях таблиц, второе — на реальных проектах.
25 августа karpovꓸcourses проводят бесплатный вебинар про этот второй пласт. На реальных задачах разберут:
— какие вопросы задать до запроса, чтобы выгрузка отвечала на задачу заказчика;
— как проверять данные после выгрузки и находить ошибки, которые SQL не подсвечивает;
— типичные ловушки в расчетах, из-за которых технически верный запрос дает неверный ответ;
— как переводить таблицу с цифрами в вывод для бизнеса.
Разбирает Дмитрий Бакаев — продуктовый аналитик в «Передовых Платежных Решениях» и выпускник курса «Аналитик данных» karpovꓸcourses. Вопросы принимает в эфире.
За регистрацию сразу приходит карьерный гайд по профессиям в аналитике, после эфира — запись вебинара
Регистрируйтесь по ссылке — https://clc.to/erid_2W5zFJogLHX
Реклама. ООО «КАРПОВ КУРСЫ». ИНН 7811764627. erid: 2W5zFJogLHX
У SQLite один writer. И иногда это не ограничение, а очень удобная архитектура.
Работал с SQLite и увидел необычную схему: база работала сразу на нескольких машинах, но запись всё равно шла только через одну.
За это отвечал LiteFS.
Он не пытается превратить SQLite в полноценную distributed database. Вместо этого одна машина выбирается primary через distributed lease и получает право писать. Остальные работают как реплики.
Если primary пропадает, lease истекает и другой узел может занять его место.
В итоге сложная на первый взгляд задача сводится к довольно простой идее:
А на скрине как раз часть Go-кода LiteFS, которая продлевает этот lease и следит, чтобы узел не продолжал считать себя primary после истечения TTL.
Работал с SQLite и увидел необычную схему: база работала сразу на нескольких машинах, но запись всё равно шла только через одну.
За это отвечал LiteFS.
Он не пытается превратить SQLite в полноценную distributed database. Вместо этого одна машина выбирается primary через distributed lease и получает право писать. Остальные работают как реплики.
Если primary пропадает, lease истекает и другой узел может занять его место.
В итоге сложная на первый взгляд задача сводится к довольно простой идее:
«Просто гарантируй, что в каждый момент времени пишет только одна машина».
А на скрине как раз часть Go-кода LiteFS, которая продлевает этот lease и следит, чтобы узел не продолжал считать себя primary после истечения TTL.
❤6👍3🔥3
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку
Окружение решает больше, чем кажется.
Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре.
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: https://t.me/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_1001_notes
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: https://t.me/gamedev
Haskell: t.me/haskell_tg
Собеседования и карьера:
DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview
Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy
Полезное сверху:
ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy
Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg
Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
Окружение решает больше, чем кажется.
Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре.
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: https://t.me/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_1001_notes
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: https://t.me/gamedev
Haskell: t.me/haskell_tg
Собеседования и карьера:
DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview
Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy
Полезное сверху:
ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy
Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg
Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
❤2👍2🔥2👎1
🔥 SQL-запрос внезапно стал медленным? Проверь не только индексы, но и статистику
Оптимизатор выбирает план запроса на основе статистики по данным. Если она устарела, база может решить, что строк мало, выбрать
В PostgreSQL быстро обновить статистику можно так:
А проверить, насколько оценки оптимизатора отличаются от реальности:
Смотри на разницу между rows= и actual rows=.
Если PostgreSQL ожидал 100 строк, а реально получил 500 000, проблема может быть не в индексе, а в плохой статистике.
Особенно часто это всплывает после массовых INSERT, UPDATE, импорта данных или резкого изменения распределения значений.
Оптимизатор выбирает план запроса на основе статистики по данным. Если она устарела, база может решить, что строк мало, выбрать
Nested Loop и в итоге прогнать миллионы сравнений.В PostgreSQL быстро обновить статистику можно так:
ANALYZE users;
А проверить, насколько оценки оптимизатора отличаются от реальности:
EXPLAIN (ANALYZE, BUFFERS)
SELECT *
FROM users
WHERE status = 'active';
Смотри на разницу между rows= и actual rows=.
Если PostgreSQL ожидал 100 строк, а реально получил 500 000, проблема может быть не в индексе, а в плохой статистике.
Особенно часто это всплывает после массовых INSERT, UPDATE, импорта данных или резкого изменения распределения значений.
👍7❤2
This media is not supported in your browser
VIEW IN TELEGRAM
24 сентября Yandex Cloud проведёт ежегодную флагманскую технологическую конференцию Yandex Scale 2026.
🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨
В программе четыре продуктовых трека — AI, Data, Security и Hybrid Infrastructure & DevOps, — и отдельный углублённый технологический трек DeepTech, который пройдёт только онлайн.
В треке Data расскажем, как Yandex Cloud развивает аналитику от отдельных сервисов к единой бесшовной среде: от загрузки данных до готовых бизнес-инсайтов, где ИИ помогает на каждом этапе. Разберём, как YDB помогает строить рекомендательные и поисковые системы и ИИ‑ассистентов. «Додо Пицца» представит честную историю миграции десятков терабайт данных в Yandex Cloud, а также расскажет о сравнении с западным облаком и совместном преодолении ограничений. Расскажем, как Yandex Cloud движется к самоуправляемым базам данных на основе опыта эксплуатации тысяч баз в Яндексе. «Азбука вкуса» разберёт миграцию Oracle Exadata на Lakehouse в Yandex Cloud без единого аврала. И покажем, как Yandex Managed Service for Valkey научили растягиваться под нагрузку — и вширь, и вглубь.
🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨
Отдельно пройдут воркшопы по Data: разберём ключевые сценарии использования ИИ‑агента Нейроаналитика в Yandex DataLens. На практике посмотрим, как PGHouse позволяет OLTP‑базе PostgreSQL прозрачно выполнять OLAP‑запросы в ClickHouse без переписывания SQL. И соберём поисковую систему на Serverless YDB с настройкой полнотекстовых и векторных индексов.
🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨
И это ещё не всё: демозоны, питчинг решений, IT-квест и мерч — офлайн, а розыгрыши призов и секретный гость — в онлайн-студии.
Вся программа — на сайте, регистрация занимает пару минут, а участие бесплатное!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2❤1👎1😁1
🔥 SQL-совет: `COUNT(*)` иногда можно вообще не считать
Если в PostgreSQL тебе нужно не точное число строк, а быстрая оценка размера огромной таблицы, не запускай:
На большой таблице это может читать миллионы строк.
Для быстрой оценки можно взять статистику PostgreSQL:
reltuples хранит примерную оценку количества строк, которую PostgreSQL обновляет после ANALYZE и VACUUM.
Это полезно для админок, мониторинга, дашбордов и проверок вида «в таблице примерно 10 млн или 100 млн строк?», где абсолютная точность не нужна.
А если нужна актуальная оценка:
После этого reltuples станет ближе к реальному количеству строк.
На таблицах в сотни миллионов строк разница между мгновенной оценкой и настоящим COUNT(*) может быть огромной.
Если в PostgreSQL тебе нужно не точное число строк, а быстрая оценка размера огромной таблицы, не запускай:
SELECT COUNT(*) FROM events;
На большой таблице это может читать миллионы строк.
Для быстрой оценки можно взять статистику PostgreSQL:
SELECT reltuples::bigint
FROM pg_class
WHERE relname = 'events';
reltuples хранит примерную оценку количества строк, которую PostgreSQL обновляет после ANALYZE и VACUUM.
Это полезно для админок, мониторинга, дашбордов и проверок вида «в таблице примерно 10 млн или 100 млн строк?», где абсолютная точность не нужна.
А если нужна актуальная оценка:
ANALYZE events;
После этого reltuples станет ближе к реальному количеству строк.
На таблицах в сотни миллионов строк разница между мгновенной оценкой и настоящим COUNT(*) может быть огромной.
❤6👍5
Готовитесь или интересуетесь поступлением в ШАД в 2027 году?
До 24 августа идет набор в текущий поток подготовки ШАД Хелпер.
Программа рассчитана на 11 месяцев и охватывает все темы, необходимые для успешной сдачи экзамена в ШАД: линейная алгебра, матанализ, теория вероятностей, дискретная математика, алгоритмы и анализ данных.
Основная задача курса - не просто пройти теорию, а научиться решать задачи именно в формате вступительных:
- с проверяемыми домашними
- обратной связью
- пробными экзаменами.
Преподают опытные преподаватели с учеными степенями из МГУ и МФТИ.
Уже 120+ учеников поступили в ШАД и ML-магистратуры.
До 24 августа - скидка 30% на первый взнос по промокоду START30
Если не поступите - зачислим на следующий поток бесплатно.
Вы также можете попробовать обучение и если в первые две недели поймёте, что формат вам не подходит - вернём деньги.
→ Посмотреть формат, программу и стоимость курса по ссылке
Реклама, ООО "ШВМ", ИНН 9728100991 Erid: 2VtzquuCwpo
До 24 августа идет набор в текущий поток подготовки ШАД Хелпер.
Программа рассчитана на 11 месяцев и охватывает все темы, необходимые для успешной сдачи экзамена в ШАД: линейная алгебра, матанализ, теория вероятностей, дискретная математика, алгоритмы и анализ данных.
Основная задача курса - не просто пройти теорию, а научиться решать задачи именно в формате вступительных:
- с проверяемыми домашними
- обратной связью
- пробными экзаменами.
Преподают опытные преподаватели с учеными степенями из МГУ и МФТИ.
Уже 120+ учеников поступили в ШАД и ML-магистратуры.
До 24 августа - скидка 30% на первый взнос по промокоду START30
Если не поступите - зачислим на следующий поток бесплатно.
Вы также можете попробовать обучение и если в первые две недели поймёте, что формат вам не подходит - вернём деньги.
→ Посмотреть формат, программу и стоимость курса по ссылке
Реклама, ООО "ШВМ", ИНН 9728100991 Erid: 2VtzquuCwpo
❤2🔥2👍1👎1
Как называется механизм PostgreSQL, позволяющий ограничить видимость строк в таблице для пользователя на основе определенных правил (политик)?
Anonymous Quiz
8%
Column-Level Security
16%
Table Access Control
11%
View-Only Access
65%
Row-Level Security (RLS)
🎉2