Data Science. SQL hub
35.9K subscribers
1.16K photos
96 videos
37 files
1.17K links
По всем вопросам- @workakkk

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

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

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

#VRHSZ
Download Telegram
🚀 SQL: индекс есть, но база специально его игнорирует

Есть индекс:



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🔥51🥰1
SQL как ремесло и SQL как инструмент бизнеса — разные навыки

Владеть 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.
6👍3🔥3
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку

Окружение решает больше, чем кажется.

Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре.

AI: t.iss.one/ai_machinelearning_big_data
Python: t.iss.one/pythonl
Linux: t.iss.one/linuxacademiya
Хакинг: t.iss.one/linuxkalii
DevOps: t.iss.one/DevOPSitsec
Docker: https://t.iss.one/+90Z5TAyfuNU5YmRi
Golang: t.iss.one/Golang_google
Rust: t.iss.one/rust_code
C++: t.iss.one/cpluspluc
C#: t.iss.one/csharp_1001_notes
Java: t.iss.one/javatg
JavaScript: t.iss.one/javascriptv
React: t.iss.one/react_tg
Frontend: t.iss.one/front
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Мобильная разработка: t.iss.one/mobdevelop
Базы данных: t.iss.one/sqlhub
Data Science: t.iss.one/data_analysis_ml
Big Data: t.iss.one/bigdatai
Математика: t.iss.one/data_math
Физика: t.iss.one/fizmat
Kubernetes: t.iss.one/kubernetc
GameDev: https://t.iss.one/gamedev
Haskell: t.iss.one/haskell_tg

Собеседования и карьера:

DS собеседования: t.iss.one/machinelearning_interview
Python собеседования: t.iss.one/python_job_interview

Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.iss.one/memes_prog
Английский для программистов: t.iss.one/english_forprogrammers
ИИ и технологии: t.iss.one/vistehno
954 ГБ open-source курсов: https://t.iss.one/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: https://t.iss.one/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-запрос внезапно стал медленным? Проверь не только индексы, но и статистику

Оптимизатор выбирает план запроса на основе статистики по данным. Если она устарела, база может решить, что строк мало, выбрать Nested Loop и в итоге прогнать миллионы сравнений.

В PostgreSQL быстро обновить статистику можно так:


ANALYZE users;


А проверить, насколько оценки оптимизатора отличаются от реальности:


EXPLAIN (ANALYZE, BUFFERS)
SELECT *
FROM users
WHERE status = 'active';


Смотри на разницу между rows= и actual rows=.

Если PostgreSQL ожидал 100 строк, а реально получил 500 000, проблема может быть не в индексе, а в плохой статистике.

Особенно часто это всплывает после массовых INSERT, UPDATE, импорта данных или резкого изменения распределения значений.
👍72
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🔥21👎1😁1
🔥 SQL-совет: `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
2🔥2👍1👎1
Как называется механизм PostgreSQL, позволяющий ограничить видимость строк в таблице для пользователя на основе определенных правил (политик)?
Anonymous Quiz
8%
Column-Level Security
16%
Table Access Control
11%
View-Only Access
66%
Row-Level Security (RLS)
🎉2
SQL как ремесло и SQL как инструмент бизнеса — разные навыки

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

25 августа karpovꓸcourses проводят бесплатный вебинар про этот второй пласт. На реальных задачах разберут:

— какие вопросы задать до запроса, чтобы выгрузка отвечала на задачу заказчика;
— как проверять данные после выгрузки и находить ошибки, которые SQL не подсвечивает;
— типичные ловушки в расчетах, из-за которых технически верный запрос дает неверный ответ;
— как переводить таблицу с цифрами в вывод для бизнеса.

Разбирает Дмитрий Бакаев — продуктовый аналитик в «Передовых Платежных Решениях» и выпускник курса «Аналитик данных» karpovꓸcourses. Вопросы принимает в эфире.

За регистрацию сразу приходит карьерный гайд по профессиям в аналитике, после эфира — запись вебинара
Регистрируйтесь по ссылке — https://clc.to/erid_2W5zFJogLHX   

Реклама. ООО «КАРПОВ КУРСЫ». ИНН 7811764627. erid: 2W5zFJogLHX 
👎1
Forwarded from Machinelearning
🌟 Turbovec: библиотека векторного поиска на основе гугловского TurboQuant

Библиотека написана на Rust, есть привязки для Python, а в основе - TurboQuant, алгоритм сжатия векторов, который Google описали в статье, принятой на ICLR 2026.

Сама библиотека к Google отношения не имеет, это независимая реализация чужого алгоритма.


🟡Turbovec сжимает данные примерно в восемь раз

Коллекция из 10 миллионов документов, занимающая в исходном виде 31 гигабайт, умещается в 4. Поиск при этом, как утверждает автор, идёт быстрее, чем в FAISS - одного из самых распространённых инструментов в этой области.

По замерам turbovec обгоняет FAISS в среднем в 3,4-3,5 раза при 4-битном сжатии и на 20-26% при 2-битном, в зависимости от железа.

🟡Удобные мелочи

Индекс не нужно предварительно обучать - векторы просто добавляются по мере поступления.

Сохранение инкрементальное, на диск уходит только то, что изменилось с прошлого раза, поэтому даже на большом индексе это занимает миллисекунды.

Поиску можно передать список разрешённых документов - скажем, чтобы пользователь видел только свои файлы.

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

Тем, кто уже сидит на LangChain, LlamaIndex, Haystack или Agno, автор предлагает готовые адаптеры - меняется одна строка импорта, остальной код остаётся как был.


📌Лицензирование: MIT License


🖥 Github


@ai_machinelearning_big_data

#AI #ML #VectorSearch #TurboQuant #Rust
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
🖥 Учим SQL не по учебнику, а расследуя преступления

В Steam выходит Ghost in the SQL - детективная игра, где главный инструмент расследования не лупа и не допросы, а SQL-запросы.

Чтобы найти подозреваемого, восстановить события или докопаться до нужной улики, придётся работать с базами данных, фильтровать информацию, связывать таблицы и писать запросы.

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

Обещают разные расследования - поджоги, убийства и другие преступления.

Редкий случай, когда SELECT, JOIN и WHERE действительно помогают найти преступника.

https://store.steampowered.com/app/5072430/Ghost_in_the_SQL_Data/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍86🔥6👎1