Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Data Science. SQL hub
تُعد قناة Data Science. SQL hub (@sqlhub) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 36 137 مشتركاً، محتلاً المرتبة 3 717 في فئة التكنولوجيات والتطبيقات والمرتبة 17 613 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 36 137 مشتركاً.
بحسب آخر البيانات بتاريخ 26 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 181، وفي آخر 24 ساعة بمقدار -9، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 8.14%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 3.93% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 941 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 422 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 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”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 27 أكتوبر, 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