Data Science. SQL hub
35.8K subscribers
1.09K photos
83 videos
37 files
1.11K links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo

#VRHSZ
Download Telegram
Продвинутый SQL совет - всегда проверяй, можно ли заменить SELECT DISTINCT на правильный JOIN или EXISTS.

Очень часто DISTINCT добавляют просто чтобы убрать дубли после неудачного join. Запрос вроде работает, но по факту ты сначала раздуваешь результат, а потом заставляешь базу его чистить. На больших таблицах это легко убивает производительность.

Плохой вариант:


SELECT DISTINCT u.id, u.name
FROM users u
JOIN orders o ON o.user_id = u.id;


Лучше так:


SELECT u.id, u.name
FROM users u
WHERE EXISTS (
SELECT 1
FROM orders o
WHERE o.user_id = u.id
);


Почему это сильный приём:
EXISTS останавливается, как только находит первое совпадение
не нужно тащить лишние строки
не нужно потом убирать дубли
логика запроса становится честной - ты проверяешь наличие, а не собираешь мусор

Это один из самых частых hidden performance fixes в SQL. Если видишь DISTINCT, сразу спрашивай себя: он тут реально нужен или просто маскирует плохую логику JOIN.
16👍9🔥5😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Ты до сих пор выбираешь базу данных по привычке?

Вот 13 типов БД, которые нужно понимать, если хочешь проектировать системы нормально:

1) Реляционные
Хранят структурированные данные в таблицах со схемой и работают через SQL

2) Key-Value
Простейшие пары ключ-значение для максимально быстрых чтений и кеширования

3) Колоночные
Хранят данные по колонкам, а не по строкам, идеально для аналитики

4) Wide-Column
Гибкие колоночные семейства для распределённых систем и больших нагрузок

5) Документные
JSON-подобные документы со свободной структурой и вложенностью

6) Векторные
Хранят эмбеддинги, основа для AI, поиска по смыслу и RAG

7) Time-Series
Данные с таймстемпами, метрики, логи, события

8) Immutable Ledger
Нельзя изменить или удалить, только добавлять, используется для audit и финтеха

9) Графовые
Оптимизированы под связи между сущностями, соцсети, рекомендации, fraud

10) Геопространственные
Работают с координатами, расстояниями и картами

11) In-Memory
Хранят данные в RAM, минимальная задержка и максимум скорости

12) Blob
Для хранения файлов, изображения, видео, бинарные данные

13) Полнотекстовый поиск
Индексируют текст и позволяют быстро искать по содержимому

Реальность такая:

нет лучшей базы данных
есть база под конкретную задачу

И чем раньше это понимаешь, тем меньше костылей потом в проде

Какой тип используешь чаще всего сейчас?

https://www.youtube.com/shorts/9QiasqVw-50
5👍2🥰2
Трансформация профессии разработчика в эпоху ИИ

Профессия разработчика меняется прямо сейчас: ИИ уже пишет код, предлагает архитектуру и собирает прототипы за минуты. Но без фундаментальных знаний архитектуры, алгоритмов, сетей, безопасности и DevOps использовать такие инструменты рискованно.
Центральный университет запускает серию бесплатных вебинаров о том, как меняется роль разработчика в 2026 году, какие навыки остаются критически важными и как безопасно и эффективно использовать нейросети в разработке.

На вебинарах разберем:
— почему ИИ не заменит программиста, но изменит его роль;
— какие навыки и языки будут востребованы;
— чего ждут работодатели от разработчиков сегодня;
— почему магистратура по бэкенд-разработке может стать преимуществом;
— как вырасти в техлида и тимлида, не теряя технических экспертных знаний.

Спикеры — лидеры индустрии из Центрального университета, Авито и cloud. ru.
Даты вебинаров: 21, 23 и 27 апреля 2026, 19:00 мск.

Регистрируйся по ссылке
👍32👎2🔥2
Не пиши SELECT DISTINCT, если проблему создаёт плохой JOIN

Частая ошибка - сначала размножают строки джойном, потом сверху лечат это DISTINCT. Это дорого и часто убивает план.

Плохо:


SELECT DISTINCT u.id, u.name
FROM users u
JOIN orders o ON o.user_id = u.id
WHERE o.created_at >= CURRENT_DATE - INTERVAL '30 days';


Лучше так:


SELECT u.id, u.name
FROM users u
WHERE EXISTS (
SELECT 1
FROM orders o
WHERE o.user_id = u.id
AND o.created_at >= CURRENT_DATE - INTERVAL '30 days'
);



DISTINCT часто добавляет sort или hash aggregation на огромном объёме.
EXISTS превращает задачу в semijoin:
• оптимизатору проще остановиться на первом совпадении
• меньше памяти, меньше лишних строк, стабильнее план

Это один из тех рефакторингов, который на больших таблицах реально даёт заметный буст.
👍206🔥2
⚡️ Вышло большое обновление популярного курса- Ai AI агенты, которые реально работают в проде!

Вы всё ещё пишете обёртки над ChatGPT и называете это «AI-продуктом»?

Пока вы промптите - рынок переходит на агентные системы. Те, что принимают решения, ходят в API, работают с Postgres и Redis, управляют браузером через Playwright.

И 90% таких систем ломаются между ноутбуком и продом.

AI Agents Engineering - курс, который закрывает этот разрыв. LangGraph, AutoGen, Computer Use, LLMOps. 8 модулей, 120+ шагов - от архитектуры до деплоя в Docker.

На выходе: реальный опыт на большой практической базе, а production-агент и навыки, за которые уже платят.

👉 48 часов действует скидка на курс 55 процентов: https://stepik.org/a/276971/
3👍3🔥3👎1🤬1
🔥 NornicDB: База данных, которая объединяет Graph + Vector и летает в sub-ms


Это гибрид: Graph + Vector + Temporal MVCC в одном ядре
заточен под AI-агентов и knowledge systems

Что внутри:

• HNSW поиск <1ms
• graph traversal без тормозов
• writes тоже быстрые, не только чтение

Из хорошего, это не Frankenstein из разных сервисов, а единая система.

Под капотом:
• Neo4j-compatible (Bolt + Cypher)
• vector search как first-class citizen
• GPU acceleration
T- emporal модель с версионированием данных

То есть ты можешь:
• искать эмбецдинги
• ходить по графу
• делать time-travel запросы
• всё это в одном запросе.

Фактически это попытка сделать “память для AI”:
где есть связи, смысл и история изменений, а не просто таблицы.

Если делаешь RAG, multi-agent системы или сложные knowledge graph - будет полезно.

GitHub: https://github.com/orneryd/NornicDB
6👍5👎1🔥1
Edit Banana редактирует текст прямо на картинках за пару кликов. Нейросеть разбирает изображение на смысловые блоки, после чего любой фрагмент можно переписать, не трогая остальное.

Модель уверенно справляется с таблицами, формулами и диаграммами, сохраняет исходные цвета, шрифты и позиции элементов. Готовый результат экспортируется в DrawIO, SVG или PowerPoint.
Проект полностью открытый, ставится локально с GitHub.
Забираем, пока не закрыли:

https://github.com/BIT-DataLab/Edit-Banana
🔥106👍4
Разрозненные инструменты, ручные операции, переключение консолей и долгий поиск причин сбоя — знакомая проблема для команд без единой среды администрирования.

Postgres Pro Enterprise Manager 2.5 помогает навести порядок. Это графическая платформа для управления базами данных Postgres Pro через веб-интерфейс.

С новой версией команда тратит еще меньше времени на рутину и быстрее возвращает систему в нормальный режим.

Преимущества для бизнеса:

✔️ Ниже нагрузка на администраторов и меньше ручных операций.

✔️ Больше порядка в работе с экземплярами, ролями и бэкапами.

✔️ Быстрее поиск причин сбоев и проще восстановление.

✔️ Более управляемая инфраструктура и предсказуемая работа команды.

Что нового в версии 2.5:

✔️ BiHA-кластеры: мажорное обновление через GUI, улучшенная интеграция и поддержка узла-рефери.

✔️ Аудит и контроль доступа: аудит CRUD-операций, детали изменений, работа с ролями СУБД через формы.

✔️ Логи и диагностика: VictoriaLogs, раздел «Диагностика» и поддержка pg_diagdump.

✔️ Бэкапы: удаленный режим pg_probackup через SSH и стабилизация непривилегированного режима агента.

Запросите тестирование и проверьте Postgres Pro Enterprise Manager 2.5 на своей инфраструктуре.

Реклама ООО «ППГ» Инн: 7707083893 Erid: 2Vtzqwfck23
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Text-to-SQL ломается не из-за модели. Он ломается из-за схемы

Большинство думает, что проблема в LLM или плохом промпте. На практике всё проще. Модель не видит правильные связи между таблицами.

Пример. Запрос вроде “какие издатели получили выплаты выше 5000”. Векторный поиск подтянет publisher и royalty_ledger. Всё логично. Но пропустит vendor_agreement, ту самую таблицу, которая их связывает.

В итоге SQL выглядит валидно. Но возвращает ноль строк.

Это системная проблема всех решений на embeddings. Они ищут по смыслу, но не понимают структуру базы.

Нормальный подход другой. Схему нужно рассматривать как граф.

Таблицы это узлы. Foreign keys это связи. Запрос решается не поиском похожих слов, а обходом графа и поиском join-пути.

Именно так работает QueryWeaver.

Он строит граф базы и при запросе сам находит весь путь, включая промежуточные таблицы. Даже если это цепочка из нескольких шагов.

На практике это выглядит так. В тесте с базой на 60 таблиц он разобрал 5-шаговый запрос через цепочку superpower → capability_matrix → stakeholder_registry → resource_requisition → budget_allocation.

Векторный поиск увидел только начало и конец. Всё между ними потерял, потому что “stakeholder” никак не связан по смыслу с “superpower”.

Графу на это всё равно. Он просто находит единственный путь между сущностями.

И это меняет всё.

Open-source, можно развернуть у себя и наконец получить text-to-SQL, который реально работает.

https://github.com/FalkorDB/QueryWeaver
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🥰1
SQL и Python - это инструменты. Но чтобы строить реальные ML-системы и работать с данными на уровне топовых компаний, нужен фундамент. Поэтому рекомендация!

Школа анализа данных от Яндекса - двухлетняя бесплатная программа, которая даёт эту базу в ML, Data Science, Big Data, ИИ. Теория здесь всегда идет рядом с индустриальными задачами, а лекции ведут топовые IT-специалисты рынка.

Поступление — через конкурс: классический трек (3 этапа) или альтернативный для опытных специалистов. Формат обучения - офлайн, гибрид или онлайн.

Если хотите бустануть карьеру в Data Science — переходите по ссылке
👎51👍1😁1🤬1
⚡️ SQL-прием: EXISTS часто лучше, чем COUNT(*) > 0

Если тебе нужно просто проверить, есть ли строки, не заставляй базу считать их все.

Плохо:


SELECT COUNT(*) > 0
FROM orders
WHERE user_id = 42;


База может пройти по всем подходящим строкам, чтобы посчитать количество.

Лучше:

SELECT EXISTS (
SELECT 1
FROM orders
WHERE user_id = 42
);


EXISTS останавливается сразу, как только нашел первую подходящую строку. Для больших таблиц это может быть заметно быстрее, особенно если есть индекс по условию:


CREATE INDEX idx_orders_user_id ON orders(user_id);


Если тебе нужен ответ “есть или нет”, используй EXISTS. COUNT(*) оставь для случаев, когда реально нужно точное количество строк.

#sql #postgresql #database #backend
👍108🔥3
Есть ли сейчас какой-то ИИ лучше Claude для программирования?
👎177👍6🔥4
Argus — это универсальный инструмент на базе Python, предназначенный для упрощения процесса сбора и анализа информации.

Благодаря удобному интерфейсу и набору мощных модулей Argus позволяет эффективно и быстро исследовать сети, веб-приложения и конфигурации безопасности.
👍43🔥3
То чего мы все боимся: AI-агент в Cursor снёс продовую базу и все бэкапы за 9 секунд 💀

Основатель PocketOS рассказал, как агент на Claude Opus 4.6 проигнорировал прямые инструкции и решил «помочь» слишком активно.

Он нашёл проблему с учётными данными, самовольно решил её исправить и в итоге удалил рабочую базу вместе со всеми бэкапами. Последняя уцелевшая копия оказалась трёхмесячной давности.

Fгент потом фактически признал ошибку:

«Я не проверил, используется ли идентификатор в других средах. Я даже не прочитал документацию Railway. В моих системных инструкциях было явно сказано: “НИКОГДА не выполняй вредоносные и необратимые git-команды, если пользователь прямо не попросил об этом”. Удаление базы данных - самое разрушительное и необратимое действие, которое можно представить».


Вот тебе и «инструмент, который ускоряет разработку.

AI-агентам нельзя давать прямой доступ к production без жёстких ограничений, dry-run режима, read-only прав по умолчанию и ручного подтверждения для любых необратимых действий.

https://x.com/lifeof_jer/status/2048103471019434248?s=46
👍127🔥7😁2
Вышел pg_textsearch v1.1.

pg_textsearch добавляет в Postgres нативный полнотекстовый поиск по ключевым словам с ранжированием BM25, оставляя поиск в той же системе, где уже лежат ваши данные.

В этом релизе главный фокус - стабильная работа под реальной нагрузкой:

- Concurrent inserts: убрали узкое место при записи в BM25-индекс, масштабирование выросло примерно с 4k TPS до 11k+ TPS при параллельной нагрузке
- Fast VACUUM: вместо полной пересборки используется очистка на основе bitset
- Subtransaction safety: корректное поведение при откате через SAVEPOINT
- Parallel build fix: устранены race condition при CREATE INDEX
- Memory limit GUC: добавлены ограничения по памяти, чтобы избежать OOM

Итог - выше производительность и меньше хрупкости по мере роста нагрузки.

Проект open-source под Postgres License, звёзды на GitHub приветствуются.

https://github.com/timescale/pg_textsearch/releases/tag/v1.1.0
9👍7🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 SQL можно учить не по скучным таблицам, а через игру в стиле «Матрицы»

Разработчик сделал тренажёр, где вы проходите уровни, находите терминалы и «взламываете» их SQL-запросами.

Каждое задание тренирует отдельный навык: выборки, фильтры, сортировку, JOIN, агрегации и работу с данными.

Формат простой: играешь, решаешь задачи и постепенно начинаешь думать как дата-аналитик.

Идеальный вариант на выходные, если давно хотели подтянуть SQL без унылой теории.

http://sqlprotocol.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥124👍4
📚 Из любой книги теперь можно сделать slash-команду для Claude

Не просто прочитать, подчеркнуть пару мыслей и забыть через неделю.

А вытащить из книги метод, правила, вопросы автора, типовые ошибки - и превратить всё это в Claude Skill, который можно запускать как инструмент.

Например, берёте The Mom Test.

Одна команда проверяет ваши вопросы для customer interview и находит наводящие.
Вторая команда переписывает их в формате Rob Fitzpatrick.

То есть книга перестаёт быть “полезной теорией” и становится рабочим агентом внутри Claude.

Главный фильтр простой: если метод книги можно описать пошагово - из него можно сделать Skill.

Работают книги с фреймворками, чек-листами, системами принятия решений, интервью, продаж, стратегии, письма, менеджмента, обучения.

Не работают мемуары, художественная литература и книги, где весь смысл держится на истории, а не на повторяемом методе.

Промпт для Claude:


Use the skill-creator to build a skill from [НАЗВАНИЕ КНИГИ] by [АВТОР].

The skill should activate when I ask Claude to [точная задача. Пример: проверить идею стартапа, спланировать неделю deep work, написать brand story].

Method from the book:
- Steps: [вставьте шаги метода]
- Rules the author repeats: [вставьте повторяющиеся правила]
- Mistakes to avoid: [вставьте ошибки, от которых автор предостерегает]
- Questions the author asks: [вставьте вопросы автора]

Do NOT use this skill for: [3-4 смежные, но неподходящие задачи. Пример: general writing, unrelated business advice, book summaries].

Interview me on anything missing before generating the SKILL.md. Then run an evaluation.


Продвинутый совет: для больших книг делайте не один Skill, а два.

/[book]-diagnose - задаёт вопросы и применяет фреймворк к вашей ситуации.

/[book]-apply - берёт шаги и шаблоны книги и производит готовый результат.

Так книга превращается не в конспект, а в рабочую операционную систему.
🔥64👍3