Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
显示更多📈 Telegram 频道 Data Science. SQL hub 的分析概览
频道 Data Science. SQL hub (@sqlhub) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 36 141 名订阅者,在 技术与应用 类别中位列第 3 709,并在 俄罗斯 地区排名第 17 596 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 36 141 名订阅者。
根据 25 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 194,过去 24 小时变化为 -4,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 7.94%。内容发布后 24 小时内通常能获得 3.82% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 2 872 次浏览,首日通常累积 1 380 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 9。
- 主题关注点: 内容集中在 sql, индекс, postgres, index, sqlite 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
凭借高频更新(最新数据采集于 26 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
CREATE TABLE dns_requests (
request_id BIGINT PRIMARY KEY,
requested_at TIMESTAMP,
node_id INT,
domain TEXT,
record_type TEXT,
ttl_seconds INT
);
Правила:
• Ключ кеша: node_id + domain + record_type.
• Первый запрос - MISS, он создаёт запись в кеше.
• Запись действует до requested_at + ttl_seconds.
• Запрос в момент истечения TTL — уже MISS.
• HIT не обновляет TTL.
• Новый MISS заменяет старую запись.
При одинаковом времени порядок задаёт request_id.
Напишите один SQL-запрос, который вернёт:
request_id
cache_status -- HIT / MISS
cache_loaded_at
cache_expires_at
source_request_id -- какой MISS создал запись
Главная ловушка: ttl_seconds у HIT использовать нельзя — срок жизни определяется последним MISS.
Дополнительно посчитайте для каждого узла процент запросов, обработанных локально, и количество обращений к CoreDNS.
Условия: PostgreSQL, без процедур, циклов и временных таблиц.GROUP BY ALL, объединение и разделение партиций через ALTER TABLE, онлайн-переключение checksums, часть изменений JSON_TABLE и новые возможности pg_stat_statements. Большинство этих функций теперь, вероятно, вернутся уже в PostgreSQL 20.
При этом в PostgreSQL 19 пока остаются pg_plan_advice, parallel autovacuum, ON CONFLICT DO SELECT, IGNORE NULLS для оконных функций и ряд улучшений логической репликации.
Отдельная причина большого числа поздних откатов — более глубокое тестирование кода. Разработчики всё активнее используют AI-инструменты для поиска ошибок и генерации воспроизводимых тестов, из-за чего проблемы находят уже после попадания изменений в ветку релиза.
Следующая Beta 4 запланирована на 24 сентября 2026 года. Для production Snowflake пока рекомендует ориентироваться на PostgreSQL 18.
https://www.snowflake.com/en/blog/engineering/postgresql-19-release-delay-feature-reverts/Удержание в Anthropic действительно высокое. По данным венчурного фонда SignalFire, через два года в компании остаются 80% инженеров, и это лучший показатель среди топовых лабораторий.В процессе собеседования кандидатов просят поклясться в преданности общественной безопасности выше прибыли, и даже проводят психологическое тестирование, чтобы выяснить, будут ли они придерживаться этого принципа. При этом многие сотрудники компании являются сторонниками движения эффективного альтруизма, философии, которая, по сути, сводится к тому, что их самопровозглашенные лидеры являются истиной в последней инстанции. Их представление об этой философии заключается в том, что история следует закономерностям, и лишь небольшая группа людей способна эти закономерности увидеть, в то время как все остальные - нет. Предполагается, что именно эти люди должны вести общество, целые нации и все человечество к прогрессу. Внутри Anthropic относятся к Клоду с почти религиозным почтением - некоторые из работников даже посещали условные похороны Claude 3 Sonnet, а другая модель, Opus 3, продолжает публиковать эссе после выхода на пенсию. В Кремниевой долине также ходят слухи, что сотрудники Anthropic начали поклоняться Клоду как настоящему богу. Компания серьёзно относится к распространению своих идей и тратит на это силы и средства. Раз в две недели Дарио проводит собрания, называемые поисками видений, которые сравнивают с проповедями. В июне Anthropic объявила о программе по набору 1000 молодых людей, обучению их использованию Claude и последующему внедрению их в некоммерческие организации. На неё было потрачено 150 млн долларов, а выпускники трудоустроены на полную ставку с заработной платой в более чем 400 некоммерческих организаций. Компания также выплачивает 3600 долларов студентам, участвующим в программе Claude Campus Ambassador Program, которая занимается продвижением её ИИ в колледжах. Между тем инвесторы, связанные с Anthropic, оплачивают труд более чем 80 журналистов, работающих в ведущих новостных изданиях, через Центр журналистики в области искусственного интеллекта имени Тарбелла. Эти журналисты получают деньги за освещение индустрии ИИ, но редко проводят какие-либо значимые расследования или критикуют Anthropic. В завершении Домингос отмечает, что хотя некоторые инженеры бьют тревогу, другие просто довольны высокими зарплатами и тем, что находятся на передовой своей отрасли.
... сейчас в Anthropic есть люди, которые на самом деле не верят во всю эту чушь, — сказал он. — Они остаются там, потому что это самое интересное место для работы с ИИ, и они будут очень хорошо зарабатывать@ai_machinelearning_big_data #news #ai #ml
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