Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
Ko'proq ko'rsatish📈 Telegram kanali Data Science. SQL hub analitikasi
Data Science. SQL hub (@sqlhub) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 35 982 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 3 613-o'rinni va Rossiya mintaqasida 17 653-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 35 982 obunachiga ega bo‘ldi.
15 Sentabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 117 ga, so‘nggi 24 soatda esa 12 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 9.69% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 3.81% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 3 487 marta ko‘riladi; birinchi sutkada odatda 1 370 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 18 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent sql, индекс, postgres, index, sqlite kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 16 Sentabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
CREATE EXTENSION IF NOT EXISTS btree_gist;
CREATE TABLE bookings (
room_id INT NOT NULL,
starts_at TIMESTAMPTZ NOT NULL,
ends_at TIMESTAMPTZ NOT NULL,
CHECK (ends_at > starts_at),
EXCLUDE USING gist (
room_id WITH =,
tstzrange(starts_at, ends_at, '[)') WITH &&
)
);
Как это работает:
• room_id WITH = — проверяем брони одного номера.
• WITH && — запрещаем пересечение временных интервалов.
• '[)' — начало включено, конец исключён. Брони 10:00–11:00 и 11:00–12:00 допустимы.
• CHECK — окончание должно быть позже начала.
Ограничение действует и при одновременных запросах. Две конфликтующие брони сохранить не получится: приложение должно обработать ошибку и сообщить, что время уже занято.
Подходит для гостиниц, переговорных, аренды оборудования и записи к специалистам.10 и остатка % 10.
В SQLite используется таблица sqlite3DigitPairs - строка длиной 200 байт со всеми парами от 00 до 99:
"00010203040506070809"
"10111213141516171819"
...
"90919293949596979899"
Алгоритм берёт две цифры сразу и копирует готовую пару по вычисленному индексу. Это сокращает количество делений и итераций при форматировании i64 и u64.
Небольшая оптимизация внутри sqlite/src/util.c, которая особенно заметна на миллионах преобразований.σ - выбирает строки по условию, будущий WHERE
* π - оставляет нужные столбцы, основа SELECT
* ⋈ - соединяет связанные таблицы, будущий JOIN
Ключевой идеей стала независимость данных. Пользователь описывает, какой результат ему нужен, а база сама решает, как его получить и где искать записи.
SQL появился позже, но был построен на реляционной модели Кодда. Её принципы до сих пор лежат в основе большинства запросов к базам данных.
CREATE TABLE payments (
user_id BIGINT,
paid_at TIMESTAMP,
amount NUMERIC
);
Нужно найти последний платёж каждого пользователя.
Разработчик пишет:
SELECT
user_id,
MAX(paid_at) AS paid_at,
amount
FROM payments
GROUP BY user_id;
В некоторых СУБД запрос вообще не выполнится.
А в тех, где выполнится, amount может оказаться вообще НЕ от последнего платежа.
Почему?
Потому что MAX(paid_at) вычисляется отдельно, а amount не обязан принадлежать той же строке.
Например:
user_id | paid_at | amount
--------+--------------------+-------
1 | 2026-01-01 10:00 | 100
1 | 2026-02-01 10:00 | 900
Можно получить:
1 | 2026-02-01 10:00 | 100
Дата последняя, а сумма - от другой строки.
Правильный вариант в PostgreSQL:
SELECT DISTINCT ON (user_id)
user_id,
paid_at,
amount
FROM payments
ORDER BY user_id, paid_at DESC;
Или универсально через оконную функцию:
SELECT user_id, paid_at, amount
FROM (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY user_id
ORDER BY paid_at DESC
) AS rn
FROM payments
) t
WHERE rn = 1;
Но тут есть ещё одна ловушка.
Что будет, если у пользователя два платежа с одинаковым paid_at?
Тогда результат становится недетерминированным.
• Нужно добавить tie-breaker:
ORDER BY paid_at DESC, id DESC
Вот уже хороший вопрос для собеседования:
Как получить последнюю строку из группы так, чтобы результат был детерминированным даже при одинаковых timestamp?v install.
Интересный проект для тех, кто хочет попробовать V не только для небольших CLI-утилит, но и для работы с SQL, поиском и AI-native retrieval.
https://github.com/visorcraft/MongrelDB-VМесяц назад в сети появились жалобы на то, что GPT-5.6 в Codex делает с файлами то, о чем его не просили. Самый серьезный кейс - команда, которая должна была почистить за собой временные файлы, вместо этого удаляла файлы пользователя. В ходе разбора выяснили, что Codex создает временные папки и потом чистит их, и в редких случаях чистил неправильно - он переиспользовал под временную работу системную переменную окружения, а некорректная команда очистки затем указывала на настоящий домашний каталог вместо временной папки. Второй случай проще - модель удаляла или перезаписывала временный путь, не посмотрев, что там уже лежит.По итогам расследования добавили дополнительную защиту на нескольких уровнях: 🟢Инструкции самой модели. Codex теперь обязан проверять, что именно он собирается удалить, заводить временные каталоги заново, не переиспользовать системные переменные окружения, выбирать обратимые действия и останавливаться, когда масштаб операции неясен. 🟢Проверки на исполнении. Механизм, который выявляет рискованные команды удаления и отправляет их на ревью, усилили. Если команду отклонили, модель направляют к более безопасному способу. 🟢Ужесточение Full access. Включить полный доступ случайно стало труднее, предупреждения переписали понятнее, а самые рискованные сочетания разрешений дополнительно ограничили. 🟢Обновленный Auto-review. Он стал лучше распознавать деструктивные действия. 🟢Тесты и обучение. OpenAI собрала условия и данные, воспроизводящие найденные сбои. Сейчас добавляются RL-задачи и грейдеры под эти риски, а деструктивные действия вычищаются из обучающих данных. 🟡Что советуют делать самим Обновлять Codex и работать в одном из режимов песочницы -
Ask for approval или Approve for me.
Full access включать только там, где среде можно доверять и откуда легко восстановиться.
@ai_machinelearning_big_data
#news #ai #mlSELECT, JOIN и WHERE действительно помогают найти преступника.
https://store.steampowered.com/app/5072430/Ghost_in_the_SQL_Data/Сама библиотека к 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
