Data Science. SQL hub – Telegram
Data Science. SQL hub
36K subscribers
977 photos
59 videos
37 files
1.02K links
По всем вопросам- @workakkk

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

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo
Download Telegram
🔥 Подборка полезных ресурсов для программистов.

Здесь ты найдёшь всё это - коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Data Science: t.me/data_analysis_ml
Javanoscript: t.me/javanoscriptv
C#: t.me/csharp_1001_notes
Java: t.me/java_library
Базы данных: t.me/databases_tg
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://news.1rj.ru/str/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat

💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://news.1rj.ru/str/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://news.1rj.ru/str/addlist/mzMMG3RPZhY2M2Iy
Папка Linux:https://news.1rj.ru/str/addlist/w4Doot-XBG4xNzYy

😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://news.1rj.ru/str/addlist/BkskQciUW_FhNjEy

Сохрани себе, чтобы не потерять!
📚 Курс, который прокачает твои AI-скиллы в BigQuery

Этот курс учит работать с Gemini прямо внутри BigQuery и закрывает полный набор практических навыков:

- генерация и отладка SQL-запросов с помощью Gemini
- анализ тональности текста
- автоматические суммари и выделение ключевых слов
- генерация эмбеддингов
- построение RAG-пайплайна
- мультимодальный векторный поиск

Если хочешь уверенно использовать AI-инструменты в аналитике и продуктах — этот курс даёт полный набор необходимых умений.

https://www.skills.google/paths/1803/course_templates/1232
5👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Узнайте, как строить сложные AI-процессы на AI DevTools Conf

4 декабря команда Cloud.ru проводит практическую конференцию для AI/ML-инженеров, архитекторов, техлидов и всех, кто работает с AI.

В программе доклады и воркшопы, где вы научитесь:
😶‍🌫️собирать AI-агентов

😶‍🌫️управлять уязвимостями

😶‍🌫️внедрять AI-инструменты в разработку

😶‍🌫️тестировать LLM-агентов

😶‍🌫️и не только


А еще можно будет протестировать сервисы для работы с AI&ML, задать вопросы экспертам и остаться на afterparty.

Места на офлайн-участие ограничены, поэтому советуем сразу перейти к регистрации.

Зарегистрироваться
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⚡️ Знакомство с MCP Toolbox for Databases (ранее Gen AI Toolbox for Databases) от Google

Почему стоит обратить внимание
Toolbox - это open-source сервер, который упрощает создание инструментов на базе ИИ, работающих с базами данных. Он берет на себя сложности вроде пулов соединений, аутентификации и телеметрии.

Что даёт:
- Можно интегрировать новые инструменты в агента (или ИИ-ассистента) всего в ~10 строках кода.
- Производительность выше за счёт продвинутого управления соединениями и аутентификацией.
- Безопасность: встроенная авторизация, контроль доступа к данным.
- Полная видимость: метрики и трассировка (OpenTelemetry) сразу «из коробки».
- Возможность общаться с БД на естественном языке, получить код, тесты, индексы — прямо из IDE.

Архитектура в двух словах
Toolbox размещается между вашим приложением (или агентом) и базой данных. Он действует как «контрольная плоскость» — управляет инструментами, хранит и обновляет их, позволяет нескольким агентам и приложениям использовать один и тот же набор инструментов без перекомпиляции.

Быстрый старт:
- Установите сервер (бинарник, контейнер или собрать из исходников).
- Создайте файл tools.yaml и запустите: ./toolbox --tools-file "tools.yaml"
- Используйте SDK (Python, JS/TS, Go) в своём приложении, подключитесь к серверу и загрузите нужный набор инструментов.

Кому это полезно:
Разработчикам приложений, где ИИ-агент делает работу с базами данных: запросы, обновления, анализ схем. Если хотите, могу подготовить мини-таск или пример использования Toolbox с вашим стеком.

https://googleapis.github.io/genai-toolbox/getting-started/introduction/
4👍3
SQLModel — это библиотека для взаимодействия с базами данных SQL из кода Python с использованием объектов Python.

Она интуитивно понятна, проста в использовании, обладает высокой совместимостью и надёжностью.
👍8🔥53
This media is not supported in your browser
VIEW IN TELEGRAM
SQL СОВЕТ

Ловите тяжёлые запросы на ранней стадии через контролируемые анти-джоины.
Когда нужно узнать, какие записи *не имеют* соответствий в другой таблице, разработчики часто используют LEFT JOIN .

Гораздо быстрее использовать NOT EXISTS — он позволяет планировщику остановиться сразу, как только найдено первое совпадение, и эффективно задействует индексы.


select u.user_id
from users u
where not exists (
select 1
from logins l
where l.user_id = u.user_id
and l.created_at >= now() - interval '7 days'
);
👍147🔥7
🌊 ETL на стероидах: стриминг данных Postgres в реальном времени на Rust 🦀

Supabase выкатили интересный open-source фреймворк - supabase/etl, который позволяет стримить данные из Postgres куда угодно в реальном времени.

Это набор простых, модульных Rust-блоков, из которых можно собрать собственный конвейер Change Data Capture (CDC). Вы получаете полный контроль над тем, как обрабатывать изменения в базе и куда их отправлять — без тяжёлых платформ и сложных конфигов.

Что делает этот фреймворк полезным:

- Прямой стриминг изменений из Postgres (CDC)
- Rust — значит скорость, надёжность и низкие накладные расходы
- Гибкие компоненты: можно строить свои конвейеры под любые нужды
- Подходит для интеграций, аналитики, событийных систем, real-time обновлений
- Легче и прозрачнее, чем классические ETL/ELT-платформы

По сути, это конструктор, из которого можно быстро собрать real-time data pipeline:
достал изменения из Postgres → преобразовал → отправил в Kafka, ClickHouse, S3, API — куда угодно.

Если вы работаете с потоковыми данными, аналитикой или микросервисами - стоит попробовать. Rust + CDC - это мощное сочетание для стабильных и быстрых пайплайнов.

https://github.com/supabase/etl
👍8🔥43
AI VK рассказали, какой ML нужен, чтобы обрабатывать десятки миллиардов рекламных объявлений в режиме реального времени. Всё это завязано на единой Discovery-платформе, работающей как инфраструктурный слой для рекламы, рекомендаций и поиска.
9👏7🔥6👎2👍1
Как правильно оптимизировать SQL в бэкенде, чтобы запросы работали быстрее, снижали задержки и не создавали узких мест в системе.

→ Некачественно написанный SQL приводит к высоким задержкам, росту нагрузки на CPU и проблемам в нагруженных сервисах.

Основные принципы оптимизации:

✓ 1. Анализ планов выполнения
Он подчёркивает необходимость использовать EXPLAIN / EXPLAIN ANALYZE, чтобы увидеть, как база реально исполняет запрос: где происходят полные сканирования таблиц, плохие джоины или отсутствуют индексы.

✓ 2. Индексация
Он рекомендует ставить индексы на часто используемые поля и ключи, применять составные индексы, но избегать чрезмерной индексации, чтобы не замедлять записи.

✓ 3. Отказ от SELECT *
Он настаивает на выборе только нужных столбцов — это снижает трафик и ускоряет выполнение.

✓ 4. Оптимизация джоинов
Нужно правильно выбирать тип JOIN, индексировать поля, участвующие в соединениях, и избегать слишком глубоких джоин-цепочек.

✓ 5. Грамотные WHERE-фильтры
Фильтровать данные как можно раньше, использовать индексируемые колонки и избегать функций в WHERE, которые «ломают» индексы.

✓ 6. Ограничение числа строк
Использовать LIMIT / OFFSET и постраничный вывод, а не отдавать пользователю огромные выборки.

✓ 7. Избежание проблемы N+1
Фетчить связанные данные заранее через JOIN или батч-запросы.

✓ 8. Кэширование
Он предлагает кэшировать частые запросы с помощью Redis или Memcached, чтобы уменьшить нагрузку на базу.

✓ 9. Нормализация и денормализация
Нормализация уменьшает дублирование, денормализация ускоряет чтение — важно выбирать подход под задачу.

✓ 10. Оптимизация вставок и обновлений
Использовать bulk insert, проверять необходимость обновлений.

✓ 11. Партиционирование таблиц
Он предлагает разбивать большие таблицы по дате или региону, что особенно полезно для логов и аналитики.

Эти рекомендации помогают backend-разработчикам строить более быстрые, масштабируемые и надёжные системы.
14👍7🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🚨 SQL Никогда НЕ ДЕЛАЙ ТАК #sql

НИКОГДА НЕ ЛОМАЙ ИНДЕКСЫ ФУНКЦИЯМИ: не оборачивай индексируемые поля в функции внутри WHERE.

Как только ты пишешь LOWER(), CAST(), COALESCE() или любые вычисления по колонке — индекс перестаёт работать, и запрос падает в полное сканирование таблицы.

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

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


Плохо: индекс по email НЕ используется
SELECT *
FROM users
WHERE LOWER(email) = 'user@example.com';

-- Хорошо: нормализуем значение заранее
SELECT *
FROM users
WHERE email = 'user@example.com';

-- Или создаём функциональный индекс (PostgreSQL)
CREATE INDEX idx_users_email_lower ON users (LOWER(email));
👍188🔥5
На AI Journey презентовали крупнейший open-source проект в Европе: Сбер открыл доступ к своим флагманским моделям - GigaChat Ultra-Preview и Lightning, а также новое поколение открытых моделей GigaAM-v3 для распознавания речи, все модели генерации изображений и видео новой линейки Kandinsky 5.0 — Video Pro, Video Lite и Image Lite.

GigaChat Ultra-Preview, новая MoE-модель, 702 миллиарда параметров, собранная под русский язык и натренированная полностью с нуля. Читайте подробный пост от команды.

Впервые в России обучена MoE-модель такого масштаба полностью с нуля — без зависимости от зарубежных весов. Обучение с нуля, да и ещё на таком масштабе, — это вызов, который приняли немногие команды в мире.

Флагманская модель Kandinsky Video Pro сравнялась с Veo 3 по визуальному качеству и обогнала Wan 2.2-A14B. Читайте подробный пост от команды.

Код и веса всех моделей теперь доступны всем пользователям по лицензии MIT, в том числе для использования в коммерческих целях.
7😁4
🖥 Вышли новые релизы для тех, кто использует PostgreSQL в окружениях с несколькими СУБД.

IvorySQL 5.0
Свежий релиз проекта, который развивает редакцию PostgreSQL с целью обеспечить максимальную совместимость с Oracle.

Ключевые особенности:
- работает как почти полная замена стандартного PostgreSQL
- добавлена настройка compatible_db, включающая режим совместимости с Oracle
- подходит для приложений, изначально написанных под Oracle
- код на C
- лицензия Apache 2.0

IvorySQL позиционируется как прозрачный переходный слой между экосистемами PostgreSQL и Oracle.

Источник
postgresql точка org слеш about слеш news слеш ivorysql 50 released major oracle compatibility expansion on postgresql 180 foundation 3180

https://www.postgresql.org/about/news/ivorysql-50-released-major-oracle-compatibility-expansion-on-postgresql-180-foundation-3180/
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥3👍2
3 вида шардирования баз данных:

Range-based — разбивает данные по диапазонам значений ключа
Hash-based — выбирает шарду с помощью хеш-функции
Tenant-based — каждому клиенту (тенанту) выделяется своя отдельная база

Пояснения:

Range-based sharding делит данные по диапазонам ключа (например: ID 1–1 000 — первая шарда, 1 001–2 000 — вторая).

Hash-based sharding использует хеш от ключа, чтобы определить, в какую шарду поместить или откуда прочитать запись. Это даёт более равномерное распределение.

Tenant-based sharding выделяет каждому клиенту собственную базу данных, что упрощает изоляцию, миграции и управление данными.

Просто, понятно и работает во всех масштабах.
14🔥7👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 SQL разбор ошибок

Одна из самых частых ошибок в SQL - вытаскивать слишком много строк без явных условий фильтрации. Люди часто пишут запросы без WHERE, забывают ограничивать выборку и получают огромные таблицы, перегруженные джоины и медленные отчёты.

Особенно опасно - JOIN без условий: это создаёт декартово произведение и может положить базу.

Всегда задавай точные условия, проверяй ключи соединений и ограничивай выборку, если смотришь данные руками.
Подписывайся, больше фишек каждый день !



SELECT *
FROM users
JOIN orders
-- Ошибка: отсутствует ON, создаётся декартово произведение
LIMIT 100;

-- Правильно:
SELECT u.id, o.id
FROM users u
JOIN orders o ON o.user_id = u.id
LIMIT 100;
👍103🔥3😁2
🖥 Что нового для разработчиков в Oracle AI Database 23.26.0

В свежем релизе появилось сразу несколько функций, которые упрощают аналитику, делают работу с API удобнее и улучшают интеграцию SQL с JavaScript.

🔹 Главное обновление

- Появилась SQL клауза QUALIFY. Теперь можно фильтровать результаты оконных функций напрямую, без вложенных подзапросов. Упрощает сложные аналитические выборки.

- Добавлена функция GRAPHQL(). Можно выполнять запросы к базе в синтаксисе GraphQL и получать JSON ответ. Полезно для API сервисов и современных приложений.

- В MLE JavaScript теперь поддерживаются SQL объекты и коллекции. Это позволяет возвращать и принимать пользовательские типы прямо из JS функций.

- Для PL SQL пакетов появилось ключевое слово RESETTABLE. Обновление пакета больше не вызывает ORA 04068, что делает деплой безопаснее.

📈 Зачем это нужно

Обновление делает Oracle удобнее для разработчиков, особенно если вы строите API, используете аналитику, комбинируете SQL и JavaScript или разрабатываете приложения с AI и ML нагрузкой.

https://www.geraldonit.com/whats-new-for-developers-in-oracle-ai-database-23-26-0/

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5🔥5
🖥 Выбор NoSQL базы данных в бэкенд-разработке

✓ Введение
Правильный выбор NoSQL базы критически важен для построения масштабируемых и гибких backend-систем.
NoSQL решает задачи, где классические SQL-базы ограничивают: работа с неструктурированными данными, огромные объёмы информации и экстремальные нагрузки.

✓ 1. Когда выбирать NoSQL
- Когда данные неструктурированные или полуструктурированные
- Когда нужна горизонтальная масштабируемость
- Когда важна высокая скорость чтения и записи
- Когда строгие схемы SQL тормозят разработку

✓ 2. Типы NoSQL баз данных и где их применять

• Документные базы (MongoDB, CouchDB)
- Идеальны для JSON-подобных документов
- Гибкие схемы
- Подходят для CMS, профилей пользователей, каталогов товаров

• Key-Value хранилища (Redis, DynamoDB)
- Максимальная скорость операций
- Отличны для кэша, хранения сессий, лидербордов
- Для простых структур данных и быстрых lookup-запросов

• Колонковые базы (Cassandra, HBase)
- Оптимизированы под огромные объёмы записей
- Используются в аналитике, IoT, потоках событий
- Масштабируются горизонтально практически бесконечно

• Графовые базы (Neo4j, JanusGraph)
- Созданы для данных со сложными взаимосвязями
- Подходят для соцсетей, рекомендаций, antifraud-систем

✓ 3. Как выбрать NoSQL базу
- Тип данных: документы, ключ-значение, графы, wide-columns
- Требования к масштабированию
- Паттерны запросов: lookup, обход графов, агрегации
- Баланс между консистентностью и доступностью (CAP)
- Готовые интеграции, драйверы, инструменты
- Нагрузка на чтение и запись
- Сложность настройки и поддержки

✓ 4. Сильные стороны NoSQL
- Масштабирование “вширь”
- Гибкость схем
- Высокая доступность
- Поддержка огромных массивов данных

✓ 5. Ограничения NoSQL
- Иногда более слабая консистентность
- Ограниченные возможности сложных запросов
- Нет строгих отношений как в SQL
- Порог вхождения для SQL-разработчиков

→ Хочешь глубже разобраться?
В *Backend Development with Projects Ebook* разберёшь, как выбирать, проектировать и интегрировать NoSQL в реальных проектах.

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74😁3🔥1
🐘 Открыт прием заявок на выступления для специалистов по PostgreSQL

Мероприятие: PG BootCamp Russia — официальное российское комьюнити-мероприятие PostgreSQL
Когда: весна 2026 г. (дата уточняется)
Где: г. Москва
Больше о мероприятиях PG BootCamp

В отличие от коммерческих конференций, предметом докладов выступает «ванильная» версия этой СУБД. Темы выступлений, связанные с коммерческими продуктами, не принимаются. Доклады (их обычно до 16 в два трека) делятся по темам разработки и эксплуатации. Формат предполагает камерную атмосферу, максимальную практическую пользу и содержательное профессиональное общение.

Открыт прием заявок на выступления:
🔹Исследование внутренней архитектуры PostgreSQL
🔹 Оптимизация производительности в высоконагруженных системах
🔹Анализ сложных задач и методов их решения
🔹 Инструменты и методологии для DBA
🔹 R&D-исследования, связанные с Postgres


Если у вас есть материалы, которым вы хотите поделиться с сообществом, — пожалуйста, присылайте тезисы. Это возможность не только представить свою работу, но и получить содержательную обратную связь от ведущих специалистов.

🎙Подать заявку на выступление
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🥰1
📌 Durable Execution Engine на SQLite:

• Durable Execution (DE) - это подход, который позволяет выполнять длинные многошаговые процессы так, чтобы после сбоя можно было продолжить с последнего успешного шага, а не запускать всё заново.

• В статье показан простой Proof of Concept - Persistasaurus: лёгкий DE-движок на Java, который использует SQLite как хранилище состояния.

• Потоки (flows) пишутся как обычный Java-код: методы помечаются аннотациями @Flow и @Step, а их прогресс автоматически сохраняется. Если процесс падает, можно безопасно перезапустить его без повторного выполнения шагов.

• Идея не новая, но современная Java + SQLite позволяют сделать удивительно компактное и понятное решение без тяжёлой инфраструктуры.

Почему это полезно:

• Упрощает работу с долгоживущими процессами
• Избавляет от повторных вычислений и экономит ресурсы
• Подходит для прототипов, внутренних сервисов и задач средней сложности

Что учитывать:

• Это только прототип - для реальных больших систем нужно масштабирование, отказоустойчивость, параллелизм и дополнительные инструменты
• SQLite отлично подходит для простых сценариев, но не для высоконагруженных распределённых систем

🔗 Читаем тут: morling.dev/blog/building-durable-execution-engine-with-sqlite/