Data Science. SQL hub
35.7K subscribers
928 photos
52 videos
37 files
983 links
По всем вопросам- @workakkk

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

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo
Download Telegram
🗿 Монолит на 930 эндпоинтов: лечим по шагам

С монолитом и 4+ ТБ данных можно работать! Доказано Яндекс Едой. Ребята применили классические методы для оптимизации запросов и перераспределения нагрузки, добавив к этому свой TableSwitcher для миграции данных. Базовое + новое = улучшенная производительность.


Реклама. ООО «ЯНДЕКС», ИНН 7736207543
👎6👍31
🎮 Учим SQL через захватывающую аркадную игру

Разработчики замутили настоящий олдскульный
шедевр, который сделает из вас МАСТЕРА баз данных и точно не даст заскучать.

• Проходим уровни, собираем пазлы вместе с уткой DuckDB и прокачиваем SQL на максимум.
• Квесты, задачи, подсказки — всё как в настоящем приключении.
• Работает прямо в браузере и даже на телефоне.

Любые запросы к базам — щёлкаем как семечки 👉 https://dbquacks.com/.
🔥123👍3
📉 На Уолл-стрит началась просадка AI-акций — и спусковым крючком оказался в отчёте MIT.

В нём говорится, что 95% компаний не получают прибыли от внедрения generative AI, а реальные результаты видят только 5%.

Почему так:
- Компании запускают до того, как готовы пайплайны данных, безопасность и обучение сотрудников
- Деньги уходят на сервера и модели, а внедрение в процессы оказывается долгим и дорогим

⚠️ На фоне разговоров про «AI-пузырь» фонды начали выходить из популярных AI-акций, что вызвало обвал.

👉 Но это похоже не на крах, а на проверку реальностью.

Дальнейший рост будет зависеть от реальной экономики ИИ: снижения стоимости инференса и доказанного роста продуктивности.

📌 Источник
👍13😁86🔥4
🌲 Datahike — персистентная база данных на основе Datalog. Это локальная база данных с поддержкой временных запросов и историчностью данных, совместимая с подмножеством API Datomic.

Интрумент используется в проверенных решениях: ядра запросов из DataScript и устойчивой структуры данных hitchhiker-tree. Проект подходит для средних по размеру приложений, где важна простота развертывания и открытая лицензия.

🤖 GitHub

@sqlhub
5👍5🔥2
Как начать в Data Science, когда все вокруг уже сеньоры?

До 15 сентября в Вышке продолжается набор на онлайн-магистратуру «Магистр по наукам о данных». Поступить можно даже без технического бэкграунда, а учиться — в удобном формате. Вы научитесь:

⚪️ работать с данными
⚪️ применять классические модели ML
⚪️ решать бизнес-задачи из сфер DA и DS

Вам подходит программа, если вы
⭐️ Из другой сферы деятельности, но хотите войти в IT
⭐️ Самоучка и хотите подтвердить знания дипломом
⭐️ Хотите стать IT-специалистом, но пока не понимаете, каким именно
⭐️ Хотите освоить инструменты Data Science для своих проектов в другой сфере

Как проходит обучение
⚪️ Онлайн-занятия в прямом эфире с возможностью задавать вопросы
⚪️ Диплом НИУ ВШЭ с указанием очной формы обучения
⚪️ Поддержка в чате 24/7

Прием документов до 15 сентября, 17:00. Подробнее о программе можно узнать тут.

А чтобы узнать, как подать документы, вступайте в чат абитуриентов — там найдете инструкции и сможете получить ответы на любые вопросы по поступлению.
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍2🔥1
Media is too big
VIEW IN TELEGRAM
🚀 Jupyter Agent 2

Этот агент умеет:
📂 Загружать данные
💻 Запускать код
📊 Строить графики прямо в Jupyter — быстрее, чем вы успеете прокрутить экран!

🤖 Основан на движке Qwen3-Coder
⚡️ Работает на Cerebras
⚙️ Запускается в E2B
↕️ Поддерживает загрузку файлов

👉 Попробовать можно здесь: https://hf.co/spaces/lvwerra/jupyter-agent-2

@sqlhub
👍147🔥4👎2
This media is not supported in your browser
VIEW IN TELEGRAM
🦆 Полезный интерактивный тренажёр по SQL

Учитесь писать SQL-запросы через игру:
- Пошаговые уроки с живым редактором — пишешь код и сразу видишь результат.
- Задачи и мини-квесты, где вы помогаете Дакберту пробираться сквозь потоки данных.
- Работает бесплатно, прямо в браузере или на телефоне.

🎮 Попробовать: https://dbquacks.com/
🔥109👍4
This media is not supported in your browser
VIEW IN TELEGRAM
📚🎮 SQL + Покемоны = Querymon!

Энтузиасты сделали игру, которая превращает изучение баз данных в настоящее приключение.

С нуля — начнёте с простых таблиц и базовых запросов, сложность растёт постепенно.
🔎 Освоите SELECT, FROM, WHERE, фильтры LIKE, BETWEEN, IN и функции sum(), count(), avg().
🎯 Геймплей — сотни миссий, где, чтобы пройти дальше, нужно правильно писать SQL-запросы.

SQL ещё никогда не был таким весёлым: учиться теперь так же увлекательно, как ловить покемонов.
И самое приятное — игра полностью бесплатная.

👉 Попробовать можно здесь.
9👎6👍5🔥2🤬1
🖥 YTsaurus — инфраструктура хранения и обработки больших данных. Включает динамические таблицы, которые позволяют хранить и обрабатывать большие данные для десятков тысяч пользователей в реальном времени. 

Инструмент идеально подходит для высоконагруженных сценариев, где требуются горизонтальное масштабирование, exactly-once семантика и время отклика в миллисекунды. Может применяться в том числе и для создания системы поведенческого таргетинга. Поддерживает MapReduce и NVMe SSD. 

🟠 Пример использования YTsaurus на Хабре
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥6🥰3👎1
Классический поиск по ключевым словам даёт ограниченные результаты.

Нашёл только одно совпадение: "Machine Learning Overview".

А вот pgvector ищет по смыслу и находит связанные концепции.
Пример запроса возвращает 5 релевантных документов:
– Machine Learning Overview
– Data Mining Basics
– Introduction to AI
– Deep Learning Guide

Семантический поиск > ключевого 🔥
🔥12👍4👎3🥰2
🗄 MySQL vs Postgres: как кэшируют страницы данных

Подходы разные:
- MySQL (InnoDB) стремится всё держать под своим контролем
- Postgres больше доверяет операционной системе

MySQL / InnoDB
- Своя память под кэш: innodb_buffer_pool_size обычно = 70%+ RAM на выделенном сервере
- Обход кэша ОС: с innodb_flush_method='O_DIRECT' InnoDB работает напрямую с диском
- Двухсекционный LRU: страницы сначала в old, только потом (через innodb_old_blocks_time`) в `young. Это спасает от «выметания» кэша при больших сканах

Postgres
- Внутренний кэш + page cache ОС: shared_buffers обычно около 30% RAM, остальное оставляют ОС
- Clock-sweep: у страницы счётчик обращений, уменьшается при «прокрутке часов». Когда падает до нуля — страница освобождается

Практические выводы
- Bulk-операции: InnoDB устойчивее к «пробиванию» кэша, в Postgres часть нагрузки идёт в кэш файловой системы
- Тюнинг памяти: в MySQL раздувают buffer pool, в Postgres shared_buffers умеренный, а остальное доверяют ОС

Что стоит проверить в бенчмарках Postgres
- Размер shared_buffers: 4% / 10% / 30% / 50% RAM
- Сценарии: OLTP, последовательные сканы, смешанные нагрузки
- Рабочий набор: меньше / равен / больше доступной RAM
- Метрики: TPS/QPS, p95/p99 латентность, hit ratio, про

https://github.com/postgres/postgres/blob/master/src/backend/storage/buffer/README
5👍5🔥3
⚡️Вчера команда VK собрала буквально всю RecSys-тусовку. Судя по ленте, на ивенте было стильно и глитчово

Это первая встреча AI VK & Pro. На ней рассказали о будущем рекомендаций, о том, как строят единую Discovery-платформу для рекомендательных систем во всех продуктах VK и еще много всего полезного

Успели всё: отыграть DJ-сеты, эффективно понетворкать, был даже турнир по су-е-фа
🔥7👍3👎21🥰1
💡 SQL: условные агрегаты через CASE !!!

Хотите посчитать сумму только по условию прямо внутри агрегата?
Для этого не нужен отдельный WHERE — используйте CASE WHEN.


SELECT
customer_id,
SUM(CASE WHEN status = 'completed' THEN amount ELSE 0 END) AS completed_sum,
SUM(CASE WHEN status = 'pending' THEN amount ELSE 0 END) AS pending_sum
FROM orders
GROUP BY customer_id;


🔎 В одном запросе можно посчитать суммы по разным статусам — и не делать несколько JOIN или подзапросов.
Работает также с COUNT(), AVG() и другими агрегатами.

@sqlhub
👍227🥰4
💡 SQL: поиск уникальных значений с COUNT(DISTINCT)

Хотите посчитать количество уникальных элементов по каждому пользователю?
Не нужно подзапросов — используйте COUNT(DISTINCT ...) прямо в выборке.


SELECT
user_id,
COUNT(DISTINCT product_id) AS unique_products,
COUNT(DISTINCT category) AS unique_categories
FROM purchases
GROUP BY user_id;


🔎 В одном запросе можно узнать, сколько разных товаров и категорий купил каждый пользователь.
Это упрощает аналитику и заменяет сложные вложенные запросы.

@sqlhub
👍206🔥6
Forwarded from Machinelearning
⚡️ Tencent дропнули Hunyuan-MT — мощные open-source модели для перевода

Что внутри:
- Доступны модели Hunyuan-MT-7B и Hunyuan-MT-Chimera-7B
- Поддержка 33 языков
- Chimera-7B — это первая d индустрии откртытая ансамблевая модель

🏆 Результаты:
- 1-е место в 30 из 31 категорий на международном конкурсе WMT25 (Workshop on Machine Translation 2025, крупнейшая в мире конференция-соревнование по машинному переводу)
- Hunyuan-MT-7B лидирует среди моделей своего размера

🟠Модели: https://huggingface.co/collections/tencent/hunyuan-mt-68b42f76d473f82798882597
🟠 Репозиторий: https://github.com/Tencent-Hunyuan/Hunyuan-MT
Demo: https://hunyuan.tencent.com/modelSquare/home/list

@ai_machinelearning_big_data


#AI #NLP #Translation #Tencent
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥3🥰1
📦 C++ обертка для SQLite с расширенными возможностями ⚙️

Библиотека boost_sqlite предоставляет удобный интерфейс для работы с SQLite в C++. Она поддерживает типизированные запросы, подготовленные выражения, функции на основе JSON и пользовательские функции. Библиотека не скрывает C-API SQLite, а дополняет его.

🚀Основные моменты:
- Типизированные запросы и подготовленные выражения
- Поддержка JSON и пользовательских функций
- Виртуальные таблицы и хуки событий
- Легкая интеграция с существующими проектами

@sqlhub
4🔥4🥰2
🧩 Задача из интервью TikTok по SQL

Найдите пользователей, которые не подтвердили регистрацию в день регистрации, но подтвердили на следующий день.

Исходные таблицы:
- emails(email_id, user_id, signup_date)
- texts(text_id, email_id, signup_action {'Confirmed','Not confirmed'}, action_date)

Решение (универсально для Postgres/MySQL):

SELECT DISTINCT e.user_id
FROM emails e
WHERE EXISTS (
SELECT 1
FROM texts t1
WHERE t1.email_id = e.email_id
AND t1.signup_action = 'Confirmed'
AND DATE(t1.action_date) = DATE(e.signup_date + INTERVAL '1 day') -- подтвердил на 2-й день
)
AND NOT EXISTS (
SELECT 1
FROM texts t0
WHERE t0.email_id = e.email_id
AND t0.signup_action = 'Confirmed'
AND DATE(t0.action_date) = DATE(e.signup_date) -- не подтвердил в день регистрации
);


Вариант через агрегацию (Postgres)🧩️


SELECT e.user_id
FROM emails e
JOIN texts t ON t.email_id = e.email_id
GROUP BY e.user_id, e.signup_date
HAVING COUNT(*) FILTER (
WHERE t.signup_action = 'Confirmed' AND DATE(t.action_date) = DATE(e.signup_date)
) = 0
AND COUNT(*) FILTER (
WHERE t.signup_action = 'Confirmed' AND DATE(t.action_date) = DATE(e.signup_date + INTERVAL '1 day')
) >= 1;


@sqlhub
🔥5👍31🥰1