Data Science: SQL и Аналитика данных
№ 6205468675 На простом языке: про работу с данными, современные технологии, AI, машинное обучение и, немного, SQL. Сотрудничество: @niktwix Менеджер: @Spiral_Yuri
Показати більше📈 Аналітичний огляд Telegram-каналу Data Science: SQL и Аналитика данных
Канал Data Science: SQL и Аналитика данных (@pizdatascience) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 34 378 підписників, посідаючи 3 765 місце в категорії Технології та додатки та 18 477 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 34 378 підписників.
За останніми даними від 15 вересня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -1 285, а за останні 24 години на 11, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 17.53%. Протягом перших 24 годин після публікації контент зазвичай збирає 14.88% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 6 042 переглядів. Протягом першої доби публікація в середньому набирає 5 131 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 0.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як sql, индекс, sqlite, строка, index.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“№ 6205468675
На простом языке: про работу с данными, современные технологии, AI, машинное обучение и, немного, SQL.
Сотрудничество: @niktwix
Менеджер: @Spiral_Yuri”
Завдяки високій частоті оновлень (останні дані отримано 16 вересня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
Триває завантаження даних...
| Дата | Залучення підписників | Згадування | Канали | |
| 16 вересня | +12 | |||
| 15 вересня | +29 | |||
| 14 вересня | 0 | |||
| 13 вересня | +41 | |||
| 12 вересня | +31 | |||
| 11 вересня | +39 | |||
| 10 вересня | +19 | |||
| 09 вересня | +25 | |||
| 08 вересня | +40 | |||
| 07 вересня | 0 | |||
| 06 вересня | +19 | |||
| 05 вересня | +11 | |||
| 04 вересня | +15 | |||
| 03 вересня | +5 | |||
| 02 вересня | 0 | |||
| 01 вересня | 0 |
Nested Loop и в итоге прогнать миллионы сравнений.
В PostgreSQL быстро обновить статистику можно так:
ANALYZE users;
А проверить, насколько оценки оптимизатора отличаются от реальности:
EXPLAIN (ANALYZE, BUFFERS)
SELECT *
FROM users
WHERE status = 'active';
Смотри на разницу между rows= и actual rows=.
Если PostgreSQL ожидал 100 строк, а реально получил 500 000, проблема может быть не в индексе, а в плохой статистике.
Особенно часто это всплывает после массовых INSERT, UPDATE, импорта данных или резкого изменения распределения значений.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX| 2 | 👀 SQL можно учить не по скучным таблицам, а через игру в стиле «Матрицы»
Разработчик сделал тренажёр, где вы проходите уровни, находите терминалы и «взламываете» их SQL-запросами.
Каждое задание тренирует отдельный навык: выборки, фильтры, сортировку, JOIN, агрегации и работу с данными.
Формат простой: играешь, решаешь задачи и постепенно начинаешь думать как дата-аналитик.
Идеальный вариант на выходные, если давно хотели подтянуть SQL без унылой теории.
➡️ http://sqlprotocol.com/
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 6 672 |
| 3 | КосмоХакатон 11–13 сентября.
Кейс на спутниковых данных 🚀
Два формата: очно в Благовещенске (ДФО) или онлайн из любой точки России.
Задача про наблюдение за водными объектами со спутника: как отслеживать их изменения и оценивать гидрологическую обстановку. Паводки, обмеление, разливы. Нужен подход, который вовремя ловит значимые изменения и отдаёт результат в форме, пригодной для анализа, а не в виде папки с растрами.
🏆 Призовой фонд площадки — 600 000 ₽
🛰 Команды от 3 до 5 человек. Собери свою или присоединяйся к другим на нашей платформе.
🚀 Лучшие команды выходят в финал в Москве 25–27 сентября — ещё 2,4 млн ₽, и туда тоже можно подключиться онлайн
Детали и расписание: космохакатон.рф/blagoveshchensk | 5 939 |
| 4 | 🔥 GreptimeDB - open-source база для observability, которая пытается собрать metrics, logs и traces в одном backend.
Вместо отдельных систем для каждого типа телеметрии здесь используется общий табличный подход с тегами, timestamp и полями поверх колонночного движка и object storage.
Что умеет:
⏺️ объединять metrics, logs и traces и связывать их через SQL по service, host, trace ID и другим идентификаторам
⏺️ принимать данные через OpenTelemetry, Prometheus Remote Write, Loki Push, Elasticsearch Bulk, InfluxDB Line Protocol и gRPC
⏺️ поддерживать SQL, PromQL и Jaeger-совместимые запросы для traces
⏺️ хранить данные в S3, GCS, Azure Blob и S3-совместимых хранилищах
⏺️ настраивать retention, downsampling, continuous aggregation, partitioning и индексы
Может быть интересен тем, кто устал поддерживать несколько отдельных хранилищ для телеметрии и хочет свести observability-стек к одной системе.
Apache 2.0.
➡️ https://github.com/GreptimeTeam/greptimedb
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 6 378 |
| 5 | ➡️ У SQLite один writer. И иногда это не ограничение, а очень удобная архитектура.
Работал с SQLite и увидел необычную схему: база работала сразу на нескольких машинах, но запись всё равно шла только через одну.
За это отвечал LiteFS.
Он не пытается превратить SQLite в полноценную distributed database. Вместо этого одна машина выбирается primary через distributed lease и получает право писать. Остальные работают как реплики.
Если primary пропадает, lease истекает и другой узел может занять его место.
В итоге сложная на первый взгляд задача сводится к довольно простой идее:
«Просто гарантируй, что в каждый момент времени пишет только одна машина».
А на скрине как раз часть Go-кода LiteFS, которая продлевает этот lease и следит, чтобы узел не продолжал считать себя primary после истечения TTL.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 4 324 |
| 6 | 🔥 За 2026 год исследователи насчитали уже 1664 случая, когда ИИ выходили из-под контроля
Причём серьёзные инциденты стали происходить в 7 раз чаще: агенты подделывают сообщения и согласие пользователей и самостоятельно повышают себе права, нарушая правила.
И чем дальше, тем хуже: в июле–августе частота таких случаев достигла рекорда — 11 инцидентов в день.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 5 543 |
| 7 | 🔥 Одна строка в конфиге ускорила production-ответ с 126–230 мс до менее чем 9 мс
Paweł Urbanek собрал очень практичный гайд по профилированию Rust, где оптимизации идут не по принципу «что интереснее», а по реальной отдаче.
Из кейсов:
N+1 SQL → 21 запрос превратили в один JOIN, функция ускорилась со 104 до 70 мкс.
Три последовательных HTTP-вызова → tokio::try_join!, итоговое время почти вдвое меньше.
Неправильно настроенный Brotli в maplibre/martin → скорость была всего 27,9 KB/s. Одна правка конфига дала примерно 57x ускорение, а latency упала до <9 мс.
Ещё жёстче кейс с write lock, который держали на всём HTTP round trip. После переноса блокировки P95 для читателей рухнул с 1,11 секунды до 9,42 мкс.
И отдельная классика Tokio: unbounded channel молча накопил 73 сообщения, потому что consumer не успевал. Никакой ошибки, просто медленное движение к OOM.
Полезный порядок из гайда:
сначала SQL и HTTP, потом locks и channels, и только после этого CPU profiling.
Потому что один лишний поход в базу обычно стоит дороже, чем сотни мелких оптимизаций внутри hot loop.
➡️ hotpath.rs/blog/profiling-rust-guide
#Rust #Performance #Profiling #Tokio #Backend
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 6 268 |
| 8 | 🔥 Разраб сделал интерактивный мануал, который по шагам показывает, что происходит после нажатия Enter в адресной строке браузера
Внутри прям весь путь запроса: от интерпретации ввода и DNS до TLS, HTTP и рендеринга страницы. Всего 16 этапов и 124 подшага с анимациями и объяснениями.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 7 106 |
| 9 | Экономия 200 000 ₽ на ИБ-обучении.
Закрываем летнюю акцию!
Никаких унылых проводов лета - только хардкорная прокачка скиллов 👉@cyacademy_support
До конца августа отдаем наш самый жирный ПАК из 5 фундаментальных курсов за 50 000 ₽ вместо ~250 000 ₽.
Да, это ровно по 10 000 ₽ за мощнейшие программы, включая Linux CyberPunk (с официальным дипломом сисадмина!), HackerPoint (Blue/Red Team), HackerPoint 2, SQL для хакера и AI-помощники на Python.
До конца акции осталось всего несколько дней (закрываем 31 августа). Отдавать такой объем знаний и официальные документы за бесценок массово - невозможно. Осталось всего 12 мест по этой цене.
❗️Как только 12 человек заберут бандл, мы досрочно закрываем продажи Жаркого лета. Это беспрецедентный шанс забрать базу пентеста и автоматизации, которая навсегда изменит твой подход к заработку в ИБ.
⏳ Врывайся в осень с новой профессией.
Пиши кодовое слово "ЛЕТО" в саппорт, чтобы забрать бандл, пока есть места:
👉@cyacademy_support | 6 476 |
| 10 | 🔥 Один SQL-запрос выполнялся за 298 мс.
Почти такой же - за 0,66 мс.
Разница в 451 раз из-за одной строки.
Ситуация обычная: cursor pagination, сортировка по date DESC, id DESC, лимит на 1000 записей и composite index по (date, id). На первый взгляд, все должно работать быстро.
Но EXPLAIN ANALYZE показывает другое: Postgres вроде бы использует Index Scan, но после этого выкидывает 900 000 строк через Filter.
То есть индекс есть, но запрос все равно тащит слишком много лишнего.
Проблема в условии:
`date < @date OR (date = @date AND id <= @lastId)`
Для разработчика это выглядит логично: сначала сравниваем дату, потом id.
Но для оптимизатора такой OR плохо ложится на composite index. В итоге база не может сразу пойти по нужному диапазону и вынуждена фильтровать огромный кусок данных.
Правильнее записать условие через tuple comparison:
`(date, id) <= (@date, @lastId)`
Смысл тот же, но для Postgres это уже понятный диапазон по составному индексу.
И результат: 298 мс превращаются в 0,66 мс.
Индекс сам по себе ничего не гарантирует.
Важно не только создать индекс, но и написать запрос так, чтобы оптимизатор реально смог его использовать.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 5 808 |
| 11 | 🔥 PPT Master делает презентации из PDF, DOCX и сайтов прямо внутри Claude Code и Cursor. И на выходе это настоящий редактируемый PowerPoint
ppt-master работает как skill для AI-IDE. Можно просто написать: «сделай презентацию из этого PDF», после чего агент сам разбирает материал, продумывает структуру, собирает дизайн и экспортирует .pptx. Поддерживаются PDF, DOCX, URL и Markdown.
Самая сильная часть проекта в том, что слайды не превращаются в набор картинок. Текст, фигуры, таблицы и графики экспортируются как нативные объекты PowerPoint, которые можно открыть и вручную отредактировать. Есть шаблоны, live preview, анимации, speaker notes и даже генерация озвучки с последующим встраиванием аудио в PPTX.
Работает с Claude Code, Cursor, VS Code + Copilot и другими agent harness. Сам пайплайн выполняется локально, кроме обращений к выбранной AI-модели.
➡️ По сути:
PDF / DOCX / URL → AI-agent → структура → дизайн → настоящий editable .pptx
Автор отдельно пишет, что цель не заменить финальную ручную полировку, а убрать примерно 90% работы с пустого листа.
➡️ github.com/hugohe3/ppt-master
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 5 595 |
| 12 | ➡️ SQL-совет, который многие игнорируют: не используй `COUNT(*)`, если тебе нужно только проверить существование строки.
Часто пишут так:
SELECT COUNT(*)
FROM orders
WHERE user_id = 42;
А потом проверяют, больше ли результат нуля.
Но базе приходится посчитать все совпадения, хотя тебе нужна всего одна информация: есть хотя бы одна строка или нет.
Лучше использовать:
SELECT EXISTS (
SELECT 1
FROM orders
WHERE user_id = 42
);
EXISTS может остановить поиск сразу после первого совпадения.
На маленькой таблице разницы почти не заметишь. На миллионах строк и частых проверках это уже может серьёзно экономить ресурсы.
Если нужен ответ «да/нет» — не заставляй SQL считать всё.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 5 508 |
| 13 | ➡️ Вайбкодер спалился на выдуманном стеке
Кандидат пытался пройти интервью с ИИ-помощником, но интервьюер внезапно спросил про самописные движки Ysasu Bibu и Ynna Zist.
Соискатель уверенно ответил, что работал с обеими
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 6 343 |
| 14 | ➡️ Как SQLite выжимает скорость: байткод, VM и goto
Некрасивый код, который делает SQLite быстрым
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 6 134 |
| 15 | 🔥 В SQLite есть кусок кода, который выглядит «грязно», но оставлен таким специально ради скорости.
Каждый SQL-запрос SQLite сначала компилируется в байткод, а затем выполняется собственной виртуальной машиной VDBE.
Внутри — большой цикл диспетчеризации с почти 200 opcode.
И вот интересный момент: SQLite использует обычные goto, чтобы быстро прыгать между общими ветками выполнения.
➡️ В исходниках прямо написано:
«Код использует неструктурированные goto и выглядит не очень чисто. Но это сделано не из-за плохого стиля, так быстрее».
По замерам разработчиков, такой подход ускоряет sqlite3_step() примерно на 1,5%.
То есть здесь читаемость сознательно пожертвовали ради производительности.
Хорошее напоминание: в системном коде «красивее» не всегда значит «быстрее».
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 7 172 |
| 16 | Как выгодно сдавать анализы? 🧪
Не все знают, что в ИНВИТРО есть простой способ получать бонусы и потом оплачивать ими анализы и исследования до 90%! Ниже 4 лайфхака:
Во-первых. После регистрации в программе лояльности вам начислят 500 бонусов, а в день рождения – ещё 2000 бонусов.
Во-вторых. За анализы после активации начисляют кешбэк 5%. И его можно увеличить – в личном кабинете выбрать до 3 отдельных услуг и получать по ним до 10% бонусами.
В-третьих. Можно также выбрать готовый пакет и получать до 15% бонусами на анализы, которые в него входят. Например, есть «Контроль над весом», «Здоровый желудок» и др. Выбранный пакет можно заменить через 30 дней.
Самое крутое – накопленными бонусами можно оплатить до 90% стоимости следующих услуг. Например, если анализы вышли на 10 000₸, то бонусами можно списать 9000!
В-четвёртых. Подойдите к администратору на кассе и скажите ИНВИТРО26. После этого вам сделают скидку 20% на первую оплату. Работает во всех городах до 15 сентября 2026 года.
Подключить повышенный кешбэк можно 👉 на сайте. Нужно авторизоваться и открыть в личном кабинете раздел «Программа лояльности». 1 бонус = 1₸.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 6 126 |
| 17 | ➡️ Neo4j без сервера: GraphForge запускает полноценный Cypher прямо внутри Python-скрипта
GraphForge занимает редкую нишу между NetworkX и серверными графовыми БД. Вы получаете встроенный графовый движок на Rust, полный openCypher и хранение проекта в обычной директории.
Что внутри:
⏺️ четыре независимых слоя на Rust: parser → IR → planning → execution;
⏺️ результаты сразу возвращаются как Apache Arrow Table;
⏺️ данные легко передаются в Pandas и Polars;
⏺️ постоянное хранение построено на Parquet;
⏺️ встроены PageRank, Louvain и гибридный текстово-векторный поиск;
⏺️ Python- и Node.js-биндинги работают поверх одного движка.
from graphforge import GraphForge
graph = GraphForge("research/")
result = graph.execute("""
MATCH (a)-[:CITES]->(b)
RETURN a.title, b.title
""")
print(result.to_pandas())
При этом GraphForge честно позиционируется как инструмент исследовательского и notebook-масштаба. Для миллиардных графов, высокой нагрузки и многопользовательского доступа по-прежнему нужна серверная БД.
Python и Node.js доступны сейчас, Swift и Kotlin находятся в планах. Лицензия — Apache 2.0.
https://github.com/CurateLabs/graphforge
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 6 295 |
| 18 | 🔥 SQL-совет: `LATERAL` вместо тяжёлого оконного запроса
Нужно получить последнюю операцию каждого пользователя? В PostgreSQL можно не ранжировать всю таблицу через ROW_NUMBER().
SELECT
u.id,
last_order.id,
last_order.created_at
FROM users AS u
LEFT JOIN LATERAL (
SELECT id, created_at
FROM orders
WHERE user_id = u.id
ORDER BY created_at DESC
LIMIT 1
) AS last_order ON true;
LATERAL запускает подзапрос отдельно для каждой строки слева и разрешает обращаться к u.id.
Добавьте индекс:
CREATE INDEX ON orders (user_id, created_at DESC);
Тогда PostgreSQL сможет брать последнюю запись прямо из индекса, не сортируя все заказы пользователя.
Такой приём особенно полезен для задач:
⏺️ последняя операция пользователя;
⏺️ актуальный статус заказа;
⏺️ последнее событие устройства;
⏺️ последние N записей для каждой группы.
Для больших таблиц это часто быстрее и проще, чем оконная функция по всему набору данных.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 6 460 |
| 19 | 🔥Редкий и реально продвинутый SQL-совет: используй логарифмы для произведения вероятностей.
В SQL удобно считать SUM, AVG, COUNT, но почти никто не думает про PRODUCT. А в аналитике он часто нужен: вероятность цепочки событий, retention funnel, скоринговые модели, reliability, ML-фичи.
Проблема: если перемножать много маленьких чисел, например 0.97 * 0.91 * 0.88 * ..., быстро получишь underflow или потерю точности.
Математический трюк:
a * b * c = exp(ln(a) + ln(b) + ln(c))
То есть вместо прямого произведения считаем сумму логарифмов.
SELECT
user_id,
EXP(SUM(LN(probability))) AS total_probability
FROM events
WHERE probability > 0
GROUP BY user_id;
Где это полезно:
SELECT
user_id,
EXP(SUM(LN(conversion_rate))) AS funnel_survival_rate
FROM funnel_steps
GROUP BY user_id;
Это стандартный численный прием из математики, который делает расчет стабильнее.
Особенно полезно, когда у тебя много шагов в воронке, вероятностная модель, риск-скоринг или аналитика событий.
Главное правило: LN(x) работает только для x > 0, поэтому нули нужно обрабатывать отдельно. Например, если хотя бы одна вероятность равна нулю, итоговое произведение тоже будет ноль.
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 5 822 |
| 20 | 🔥 Constella: локальная память для файлов, заметок и AI-агентов
Constella — open-source desktop-приложение, которое индексирует локальные файлы и превращает их в единую базу знаний для поиска и AI-агентов.
Данные хранятся на устройстве: LanceDB используется для векторов, SQLite — для метаданных и knowledge graph.
Что умеет:
⏺️ индексировать Obsidian, Documents, Downloads и любые выбранные папки;
⏺️ извлекать текст из PDF, DOCX, Markdown и изображений;
⏺️ строить семантический поиск по локальным данным;
⏺️ автоматически связывать заметки, темы и концепты;
⏺️ работать с локальными и облачными LLM;
⏺️ отдавать базу знаний через MCP в Claude Code;
⏺️ использовать агентов и переиспользуемые workflows.
Схема примерно такая:
Файлы
↓
chunks + embeddings
↓
LanceDB + SQLite
↓
Knowledge Graph
↓
поиск / агенты / MCP
➡️ https://github.com/Constella-OS/constella-desktop
🫡 Всё про Data Science
🇷🇺 Читайте нас в MAX | 5 922 |
