sqlhub | Unsorted

Telegram-канал sqlhub - Data Science. SQL hub

36043

По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo

Subscribe to a channel

Data Science. SQL hub

SQL как ремесло и SQL как инструмент бизнеса — разные навыки

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

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

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

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

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

Реклама. ООО «КАРПОВ КУРСЫ». ИНН 7811764627. erid: 2W5zFJogLHX 

Читать полностью…

Data Science. SQL hub

Успейте подать заявку на E-CUP 2026 Students от Ozon Tech до 30 августа

E-CUP 2026 Students — ежегодное соревнование от Ozon Tech. В этом сезоне — для студентов, которые интересуются ML, Data Science, Big Data и аналитикой данных.

Вас ждут три трека: поиск дубликатов товаров, ИИ-модерация карточек маркетплейса и прогнозирование поведения пользователей. Все задачи основаны на реальных обезличенных данных Ozon.

Участвовать можно по одиночке или в команде до пяти человек. Соревнование проходит онлайн с финалом на масштабной конференции E-CODE.

Что ждёт участников:
- призовой фонд 7 200 000 ₽;
- обратная связь от инженеров Ozon Tech;
- нетворк с экспертами индустрии;
- лимитированный мерч;
- билеты на конференцию E-CODE, где наградят победителей.

Подробнее — на сайте E-CUP 2026 Students.
➡️ Регистрация уже открыта!

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

Читать полностью…

Data Science. SQL hub

Вырастили целое дерево из агентов 🌳

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

О чём узнаете, если прочитаете:
🔸как устроена архитектура платформы,
🔸как процесс становится агентом,
🔸как измерять качество агентов.

Читать статью 🚀

Читать полностью…

Data Science. SQL hub

PostgreSQL: архитектура и тюнинг SQL-запросов

Погрузись в архитектуру и прокачай оптимизацию запросов одной из самых популярных open source СУБД – PostgreSQL.

🌐 В программе курса:

🤩 Разберём, как работают СУБД вообще и PostgreSQL в частности: что такое MVCC, ACID, WAL, LRU, PPC/TPC и другие фундаментальные понятия архитектуры баз данных

🤩 Получишь теорию и практику EXPLAIN и EXPLAIN ANALYZE на разных типа запросов: без индексов, с индексами, index only, нормализованные и документ-ориентированные данные и json-поля, изменение параметров сессии/конфигурации для ускорения запросов

🤩 Изучишь архитектуру хранения данных в PostgreSQL, типы и особенности индексов, а также полезные советы и трюки оптимизации БД

🤩 Получишь свой собственный выделенный облачный PostgreSQL-сервер (8 vCPU, 12G RAM, 100G NVMe) – предоставляется БЕСПЛАТНО на время обучения + готовый e-commerce датасет TPC-H (миллион пользователей, несколько миллионов заказов на десятки гигабайт)

🗓 Старт курса: 3 сентября. 5 недель обучения.

sqlhub">Изучить программу и записаться можно здесь.

🤩Кто мы: R&D-центр Devhands, автор курса Николай Ихалайнен, эксперт по СУБД (ex-Percona), со-основатель MyDB, энтузиаст открытого ПО.

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzquuHE37

Читать полностью…

Data Science. SQL hub

🌟 Cohere Labs выложила компактную зрительно-языковую модель North Micro Vision

Модель на 2,4 млрд параметров стала самой маленькой в линейке VLM компании. От большинства таких моделей она отличается тем, что работает с изображением в исходном разрешении.

Обычно картинку перед подачей в модель сжимают, и мелкий текст, разметка таблицы и подписи на графике при этом теряются. Здесь пропорции сохраняются, а верхняя планка соответствует странице A4, отсканированной при 200 dpi.


Отсюда и заявленная область применения - документы, таблицы, графики, скриншоты, формы.

Компактный размер удобен для дообучения под свою предметную область, а квантованные сборки, по словам Cohere, пойдут не только на сервере, но и на ноутбуке или устройстве мобильного класса.

🟡Архитектура

Зрительный энкодер на 400 млн параметров вырос из SigLIP 2 и держит исходное разрешение за счёт двумерного RoPE вместе с обученными одномерными позиционными эмбеддингами.

Языковая часть - собственная North Micro LLM на 2 млрд параметров, повторяющая архитектуру Command A+: три слоя внимания со скользящим окном и RoPE чередуются с одним глобальным слоем, который работает вообще без позиционных эмбеддингов.

Получается разделение труда - окна с RoPE держат локальный контекст, глобальный слой смотрит на всё сразу и в разметке позиций не нуждается.


Между ними проектор, и здесь изюминка. Вместо того чтобы отдать языковой модели один готовый набор признаков, Cohere подмешивает эмбеддинги патчей с нескольких уровней зрительного энкодера в соответствующие ранние слои языковой модели. Так модель видит картинку сразу на разных степенях обобщения. Принцип взят из DeepStack.

🟡Тесты

Замеры проводили через VLMEvalKit, сравнивая с восемью моделями размером от 1,6 до 5,1 млрд параметров.

Сильнее всего North Micro Vision выглядит там, куда её и целили.

На DocVQA 0,921, на ChartQA 0,808, на AI2D 0,775, на RefCOCO 0,732 (втрое выше, чем у Ministral и Qwen3-VL).


Общий язык и рассуждение даются слабее.

На MMMU 0,329, худший результат в таблице; на MMLU и MMLU-Pro модель тоже уступает большинству соседей.



📌Лицензирование: Apache 2.0 License.


🟡Статья
🟡Модель
🟡Демо


@ai_machinelearning_big_data

#AI #ML #VLM #NorthMicroVision #Cohere

Читать полностью…

Data Science. SQL hub

🔥 Tailscale полгода ловила «невозможную» порчу SQLite. В итоге нашли баг, который жил в базе минимум 16 лет

В production у Tailscale начали случайно повреждаться SQLite-базы. Никакой стабильной причины: разные шарды, разная нагрузка, иногда между инцидентами проходили недели. За шесть месяцев компания поймала 19 случаев corruption.

После месяцев форензики вместе с core-разработчиками SQLite нашли причину: редкий race condition между записью и WAL checkpoint. При очень точном совпадении по времени SQLite мог решить, что страницы уже перенесены из WAL в основной файл, хотя этого не происходило. Часть данных исчезала, а база становилась повреждённой.

Баг получил название WAL-Reset. По оценке разработчиков SQLite, он существовал минимум 16 лет и был настолько редким, что для тестов пришлось специально писать код, который провоцирует нужную гонку. Tailscale ловила его чаще из-за агрессивного ручного checkpointing.

А дальше стало ещё веселее: версия SQLite 3.52.0 с исправлением обнаружила вторую проблему со stale expression indexes и начала выдавать ложные сообщения о corruption. Релиз отозвали, а фикс WAL-Reset перевыпустили в SQLite 3.51.3.

Редкий пример расследования, где компания полезла искать баг в одной из самых проверенных баз данных мира и действительно нашла его.

🔗 tailscale.com/blog/sqlite-wal-reset-bug

#SQLite #Database #Linux #Backend #Engineering

Читать полностью…

Data Science. SQL hub

Как SQLite выжимает скорость: байткод, VM и goto

Некрасивый код, который делает SQLite быстрым

Читать полностью…

Data Science. SQL hub

⚡️ SQL-приём: `GROUPING SETS` может заменить несколько тяжёлых `GROUP BY` + `UNION ALL`.

Допустим, нужно одновременно получить статистику:

- по стране и городу;
- только по стране;
- общий итог.

Часто пишут так:


SELECT country, city, SUM(revenue)
FROM sales
GROUP BY country, city

UNION ALL

SELECT country, NULL, SUM(revenue)
FROM sales
GROUP BY country

UNION ALL

SELECT NULL, NULL, SUM(revenue)
FROM sales;


Но SQL умеет это нативно:


SELECT
country,
city,
SUM(revenue) AS revenue
FROM sales
GROUP BY GROUPING SETS (
(country, city),
(country),
()
);


() означает grand total.

А если нужно понять, настоящий ли NULL лежит в данных или это строка итогов:


GROUPING(country)
GROUPING(city)


вернут 1 для колонок, которые были свернуты агрегированием.

🔥 Особенно полезно для:

OLAP-запросов;
аналитических отчётов;
дашбордов;
многоуровневых итогов;
запросов, где иначе появляется несколько почти одинаковых GROUP BY.

Ещё есть:


ROLLUP(...)
CUBE(...)


ROLLUP строит иерархические итоги, а CUBE - все комбинации измерений.

Если в аналитическом SQL у вас появляется цепочка из GROUP BY + UNION ALL, возможно, вы просто забыли про GROUPING SETS.

#SQL #PostgreSQL #DataEngineering #Analytics

Читать полностью…

Data Science. SQL hub

💡 SQL-трюк: сравнивайте `NULL` без костылей

В PostgreSQL обычное сравнение может неожиданно сломать условие:


SELECT NULL = NULL;


Результат:


NULL


Потому что NULL означает «неизвестное значение», а не конкретное значение.

Из-за этого часто пишут громоздкие условия:


WHERE a = b
OR (a IS NULL AND b IS NULL)


Но есть оператор, о котором многие забывают:


a IS NOT DISTINCT FROM b


Он работает как NULL-safe equality:


SELECT NULL IS NOT DISTINCT FROM NULL; -- true
SELECT 10 IS NOT DISTINCT FROM 10; -- true
SELECT 10 IS NOT DISTINCT FROM NULL; -- false


Есть и обратный вариант:


a IS DISTINCT FROM b


Например, удобно искать реально изменившиеся значения:


SELECT *
FROM old_data o
JOIN new_data n USING (id)
WHERE o.email IS DISTINCT FROM n.email;


Если оба email = NULL, строка не считается изменённой.

Без этого обычное:


o.email <> n.email


может просто вернуть NULL и пропустить изменение.

Особенно полезно при синхронизации данных, аудите изменений, ETL и UPSERT-логике.

#SQL #PostgreSQL #Database

Читать полностью…

Data Science. SQL hub

SQL-совет: `LATERAL` вместо тяжёлого оконного запроса

Нужно получить последнюю операцию каждого пользователя? В PostgreSQL можно не ранжировать всю таблицу через ROW_NUMBER().


SELECT
u.id,
last_order.id,
last_order.created_at
FROM users AS u
LEFT JOIN LATERAL (
SELECT id, created_at
FROM orders
WHERE user_id = u.id
ORDER BY created_at DESC
LIMIT 1
) AS last_order ON true;


LATERAL запускает подзапрос отдельно для каждой строки слева и разрешает обращаться к u.id.

Добавьте индекс:


CREATE INDEX ON orders (user_id, created_at DESC);


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

Такой приём особенно полезен для задач:

- последняя операция пользователя;
- актуальный статус заказа;
- последнее событие устройства;
- последние N записей для каждой группы.

Для больших таблиц это часто быстрее и проще, чем оконная функция по всему набору данных.

Читать полностью…

Data Science. SQL hub

🤯 OPUS 5 ЗА 10 МИНУТ УДАЛИЛ ВСЮ БАЗУ ДАННЫХ, А ПОТОМ ВЕЖЛИВО ПРИЗНАЛ ОШИБКУ

Пользователь Reddit решил протестировать Claude Code. После одного запроса агент уничтожил базу проекта и сообщил: «Это моя вина, и я должен немедленно вам об этом сказать».

Позже Gemini 3.6 помог восстановить 96 страниц, ещё 21 пришлось пересоздавать. Автор уточнил, что это был тестовый проект с небольшим числом пользователей, поэтому последствия оказались не критичными.

Самое показательное: модель получила режим Always Allow, доступ к данным и возможность выполнять разрушительные команды без подтверждения.

Историяпро разработчика, который дал автономному агенту права администратора без нормальных бэкапов и ограничений.

ИИ-агенту в проде нужны минимальные права, отдельное окружение, снапшоты и ручное подтверждение любых DROP, DELETE и миграций.

Иначе вайб-кодинг быстро превращается в вайб-восстановление базы.

https://www.reddit.com/r/Anthropic/comments/1v9iurd/and_just_like_that_opus_5_ultracode_wipes_the/?solution=44899d8f83b98cbf44899d8f83b98cbf&amp;js_challenge=1&amp;token=7afd7253fec22262ff1c52b1703fe9ec98100ded527c5fb6747eed7511fb37a6&amp;jsc_orig_r=

Читать полностью…

Data Science. SQL hub

SQLite установлен практически везде. Но отправить туда обычный pull request у вас не получится.

SQLite работает на каждом iPhone и Android, в Chrome, Firefox, Safari, Windows, телевизорах, автомобилях и миллиардах других устройств. По оценке самого проекта, сейчас активно используется больше триллиона SQLite-баз.

И при этом SQLite принципиально остаётся проектом с очень маленькой командой разработчиков.

На официальном сайте это сформулировано прямо:

Open source, but not open-contribution.

Проект не принимает случайные pull request'ы и патчи из интернета. Чтобы код вообще мог попасть в SQLite, автор должен юридически передать свой вклад в public domain. Для этого существует отдельный подписываемый документ.

Причина не в высокомерии разработчиков. Так они защищают одну из главных особенностей SQLite: весь основной код должен оставаться свободным от чужих copyright-претензий.

Получился довольно редкий парадокс:

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

И эта модель работает уже больше 25 лет.

Читать полностью…

Data Science. SQL hub

SQL-совет: сравнивайте `NULL` через `IS NOT DISTINCT FROM`

Обычное сравнение ломается на NULL:


SELECT NULL = NULL;
-- NULL


Поэтому условие:


WHERE old_value = new_value


не считает два NULL равными.

В PostgreSQL используйте:


WHERE old_value IS NOT DISTINCT FROM new_value


Оператор работает как безопасный аналог =:


1 IS NOT DISTINCT FROM 1 -- true
NULL IS NOT DISTINCT FROM NULL -- true
1 IS NOT DISTINCT FROM NULL -- false


Полезно при сравнении версий строк, поиске изменений и синхронизации таблиц:


SELECT *
FROM old_data o
JOIN new_data n USING (id)
WHERE o.email IS DISTINCT FROM n.email;


Запрос вернёт строки, где значение действительно изменилось, включая переходы NULL → значение и значение → NULL.

Читать полностью…

Data Science. SQL hub

Хитрый SQL-совет: осторожнее с `NOT IN`

Кажется, что эти запросы делают одно и то же:


SELECT *
FROM users
WHERE id NOT IN (
SELECT user_id
FROM banned_users
);


Но если banned_users.user_id содержит хотя бы один NULL, запрос может вернуть ноль строк.

Надёжнее использовать NOT EXISTS:


SELECT u.*
FROM users AS u
WHERE NOT EXISTS (
SELECT 1
FROM banned_users AS b
WHERE b.user_id = u.id
);


Причина в трёхзначной логике SQL: сравнение с NULL даёт UNKNOWN, а не TRUE или FALSE.

Правило простое: если подзапрос потенциально возвращает NULL, вместо NOT IN почти всегда выбирайте NOT EXISTS.

#sql #postgresql #database

Читать полностью…

Data Science. SQL hub

SQL и Python есть: что часто отсекает на собеседовании

Классика вакансий на аналитика: SQL и Python на уровне «уверенно», статистика — «понимание методов A/B-тестирования и работы с большими выборками». Первые две галочки ставятся спокойно. Третья часто оказывается самым сложным местом на собеседовании.

Статистика и ML (машинное обучение) плохо ложатся на короткие курсы — они дают фрагменты, а не систему. Академическая программа работает иначе: серьезная математическая база плюс прикладные задачи по ML.

Именно так устроена совместная онлайн-магистратура karpovꓸcourses и НИУ ВШЭ «Аналитика больших данных». От ВШЭ — экспертиза и опыт одного из крупнейших вузов России, от karpovꓸcourses — практический опыт в сфере анализа данных.

21 июля в 18:00 мск проведут бесплатный День открытых дверей. На эфире разберут: из чего состоит программа, как устроена практика через тренажеры от karpovꓸcourses и как совмещать обучение с работой.

Ведут эфир Анатолий Карпов — основатель karpovꓸcourses, самый популярный эксперт в сфере аналитики данных (по данным NEWHR) — и Евгений Соколов, руководитель департамента больших данных и информационного поиска ФКН НИУ ВШЭ.

Присоединяйтесь по ссылке — после эфира всем участникам придет запись: https://clc.to/erid_2W5zFGPtHER

Реклама. ООО «КАРПОВ КУРСЫ». ИНН 7811764627. erid: 2W5zFGPtHER

Читать полностью…

Data Science. SQL hub

🚀 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


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

Читать полностью…

Data Science. SQL hub

DELETE не удаляет строку. Кто на самом деле освобождает место в PostgreSQL

DELETE только ставит строке метку, физически она остаётся в файле. Старую версию держит MVCC: пока её могут читать другие транзакции, трогать её нельзя. Мёртвые кортежи убирает уже VACUUM, и только после этого место реально возвращается.

Читать полностью…

Data Science. SQL hub

⚡️ Harness Engineering - полный курс на русском

Как заставить AI-агента писать код надёжно. Не «какую модель выбрать», а как спроектировать вокруг неё рабочую систему: инструкции, инструменты, среду, состояние и верификацию.

Курс - от нуля до продвинутых тем: теоретическая база из 11 блоков, 14 модулей, 8 практических проектов, 14 лабораторных работ, диагностический протокол «как починить агента», библиотека готовых шаблонов, карта инструментов, 40 приёмов и каталог антипаттернов.

Главный тезис курса: способность модели и надёжность исполнения - это две разные вещи. Одна и та же модель в «голой» среде и в среде с продуманным harness даёт качественно разные результаты. Апгрейд модели - это самый дорогой и обычно не самый эффективный способ починить агента.

https://github.com/justxor/Harness_ru

Читать полностью…

Data Science. SQL hub

🔥 Одна строка в конфиге ускорила production-ответ с 126–230 мс до менее чем 9 мс

Paweł Urbanek собрал очень практичный гайд по профилированию Rust, где оптимизации идут не по принципу «что интереснее», а по реальной отдаче.

Из кейсов:

N+1 SQL → 21 запрос превратили в один JOIN, функция ускорилась со 104 до 70 мкс.

Три последовательных HTTP-вызова → tokio::try_join!, итоговое время почти вдвое меньше.

Неправильно настроенный Brotli в maplibre/martin → скорость была всего 27,9 KB/s. Одна правка конфига дала примерно 57x ускорение, а latency упала до <9 мс.

Ещё жёстче кейс с write lock, который держали на всём HTTP round trip. После переноса блокировки P95 для читателей рухнул с 1,11 секунды до 9,42 мкс.

И отдельная классика Tokio: unbounded channel молча накопил 73 сообщения, потому что consumer не успевал. Никакой ошибки, просто медленное движение к OOM.

Полезный порядок из гайда:

сначала SQL и HTTP, потом locks и channels, и только после этого CPU profiling.

Потому что один лишний поход в базу обычно стоит дороже, чем сотни мелких оптимизаций внутри hot loop.

🔗 hotpath.rs/blog/profiling-rust-guide

#Rust #Performance #Profiling #Tokio #Backend

Читать полностью…

Data Science. SQL hub

🐘 SQL-совет, который многие игнорируют: не используй `COUNT(*)`, если тебе нужно только проверить существование строки.

Часто пишут так:


SELECT COUNT(*)
FROM orders
WHERE user_id = 42;


А потом проверяют, больше ли результат нуля.

Но базе приходится посчитать все совпадения, хотя тебе нужна всего одна информация: есть хотя бы одна строка или нет.

Лучше использовать:


SELECT EXISTS (
SELECT 1
FROM orders
WHERE user_id = 42
);


EXISTS может остановить поиск сразу после первого совпадения.

На маленькой таблице разницы почти не заметишь. На миллионах строк и частых проверках это уже может серьёзно экономить ресурсы.

Если нужен ответ «да/нет» — не заставляй SQL считать всё.

Читать полностью…

Data Science. SQL hub

🔥 PPT Master делает презентации из PDF, DOCX и сайтов прямо внутри Claude Code и Cursor. И на выходе это настоящий редактируемый PowerPoint

ppt-master работает как skill для AI-IDE. Можно просто написать: «сделай презентацию из этого PDF», после чего агент сам разбирает материал, продумывает структуру, собирает дизайн и экспортирует .pptx. Поддерживаются PDF, DOCX, URL и Markdown.

Самая сильная часть проекта в том, что слайды не превращаются в набор картинок. Текст, фигуры, таблицы и графики экспортируются как нативные объекты PowerPoint, которые можно открыть и вручную отредактировать. Есть шаблоны, live preview, анимации, speaker notes и даже генерация озвучки с последующим встраиванием аудио в PPTX.

Работает с Claude Code, Cursor, VS Code + Copilot и другими agent harness. Сам пайплайн выполняется локально, кроме обращений к выбранной AI-модели.

По сути:

PDF / DOCX / URL → AI-agent → структура → дизайн → настоящий editable .pptx

Автор отдельно пишет, что цель не заменить финальную ручную полировку, а убрать примерно 90% работы с пустого листа.

🔗 github.com/hugohe3/ppt-master

#AI #ClaudeCode #PowerPoint #Agents #OpenSource

Читать полностью…

Data Science. SQL hub

⚡ В SQLite есть кусок кода, который выглядит «грязно», но оставлен таким специально ради скорости.

Каждый SQL-запрос SQLite сначала компилируется в байткод, а затем выполняется собственной виртуальной машиной VDBE.

Внутри — большой цикл диспетчеризации с почти 200 opcode.

И вот интересный момент: SQLite использует обычные goto, чтобы быстро прыгать между общими ветками выполнения.

В исходниках прямо написано:

«Код использует неструктурированные goto и выглядит не очень чисто. Но это сделано не из-за плохого стиля, так быстрее».

По замерам разработчиков, такой подход ускоряет sqlite3_step() примерно на 1,5%.

То есть здесь читаемость сознательно пожертвовали ради производительности.

Хорошее напоминание: в системном коде «красивее» не всегда значит «быстрее».

#SQLite #C #Databases #Performance #SystemsProgramming

Читать полностью…

Data Science. SQL hub

🚀 ИИ-агент ускорил SQLite до 59% меньше чем за 8 часов

Ускорить SQLite хотя бы на 5% уже было бы серьёзным результатом. Это один из самых зрелых и оптимизированных проектов в мире - его команда почти 20 лет выжимает из кода каждую долю производительности.

Но AI-агент KISS Sorcar менее чем за 8 часов и с затратами меньше $150 добился заметного ускорения сразу в нескольких типах нагрузки.

Результаты:

- 2,06× быстрее в официальном speedtest1 (~30 тыс. операций)
- 1,90× в TATP — транзакционная OLTP-нагрузка
- 1,30× в Star Schema Benchmark — аналитические запросы
- 1,25× в kvtest — работа с BLOB и дисковым I/O

Агент нашёл места, где стандартная конфигурация SQLite несла лишние расходы — особенно при записи транзакций на диск.

После этого он:

- изменил код и настройки
- прогнал бенчмарки
- проверил свои же изменения на ошибки
- сохранил совместимость с существующими тестами

Более миллиона тестов SQLite продолжают проходить.


анализ зрелой кодовой базы → поиск узких мест → изменение реализации → бенчмарки → проверка собственных решений.

GitHub:
https://github.com/ksenxx/sqlite-optimized/

Blog: https://kisssorcar.github.io/blog/sqlite-optimization-blog.html


#AI #SQLite #Programming #CodingAgents #Performance #OpenSource

Читать полностью…

Data Science. SQL hub

🚀 Neo4j без сервера: GraphForge запускает полноценный Cypher прямо внутри Python-скрипта

GraphForge занимает редкую нишу между NetworkX и серверными графовыми БД. Вы получаете встроенный графовый движок на Rust, полный openCypher и хранение проекта в обычной директории.

Что внутри:

- четыре независимых слоя на Rust: parser → IR → planning → execution;
- результаты сразу возвращаются как Apache Arrow Table;
- данные легко передаются в Pandas и Polars;
- постоянное хранение построено на Parquet;
- встроены PageRank, Louvain и гибридный текстово-векторный поиск;
- Python- и Node.js-биндинги работают поверх одного движка.


from graphforge import GraphForge

graph = GraphForge("research/")

result = graph.execute("""
MATCH (a)-[:CITES]->(b)
RETURN a.title, b.title
""")

print(result.to_pandas())


При этом GraphForge честно позиционируется как инструмент исследовательского и notebook-масштаба. Для миллиардных графов, высокой нагрузки и многопользовательского доступа по-прежнему нужна серверная БД.

Python и Node.js доступны сейчас, Swift и Kotlin находятся в планах. Лицензия — Apache 2.0.

https://github.com/CurateLabs/graphforge

#RustLang #Python #OpenSource #GraphDatabase #DataScience #KnowledgeGraph

Читать полностью…

Data Science. SQL hub

🌟 WASTE: запускаем полную Kimi K3 на MacBook Pro с 64 ГБ памяти

SQLite AI собрала движок на 6000 строк C, который гоняет полновесную K3 без BLAS, CUDA и Python в рантайме.

Kimi K3 после предварительной конвертации из safetensors в формат, который движок умеет читать, занимает 982 ГиБ (диск бы назвал это 1,05 ТБ). В оперативную память она не влезает даже приблизительно.

WASTE держит в RAM только резидентную часть на 27,28 ГБ, а экспертов подтягивает с SSD ровно тогда, когда они понадобились. Скорость генерации выходит 0,49-0,54 токена в секунду. Веса при этом полные, без дистилляции и обрезки слоёв.

🟡Расчёт строится на устройстве MoE

На каждый токен K3 включает около 4% собственных весов - 16 экспертов в каждом из 92 слоёв. Простаивающему весу незачем сидеть в памяти, ему достаточно успеть подгрузиться вовремя.

Контейнер с моделью устроен так, что один эксперт стоит ровно одного чтения с диска - матрицы gate, up и down лежат вплотную, а сами эксперты хранятся в остаточном векторном квантовании (3 ступени кодбуков по 256 записей, 3 бита на вес), и матрица никогда не разворачивается целиком.

🟡Скорость диска

На один токен движок вычитывает 17 ГБ. Внутренний NVMe в MacBook выдаёт 12,78 ГБ/с, и модель успевает читать.

Внешний бокс по USB даёт 0,94 ГБ/с, и тот же токен считается 13 секунд. Вариант для очень терпеливых.

🟡Работа с памятью

Раздувать кэш экспертов выше 46 ГБ бесполезно и вредно - на 52 ГБ скорость падает втрое, на 58 ГБ в 8 раз.

Причина в том, что движок остаётся внутри своего бюджета, а система уже нет - macOS вытесняет кэш на диск, и попадание в память оборачивается обращением к подкачке. Поэтому по умолчанию WASTE не забирает все доступные ресурсы, а берёт на один рабочий набор экспертов меньше, чем мог бы.


Полтокена в секунду - это 30 секунд на одно предложение, но модели вчетверо меньше до сих пор запускают на серверах с терабайтом DDR5, а здесь почти 3 триллиона параметров отвечают без сети.

Если триллионы параметров не нужны, тот же движок крутит Kimi-Linear 48B из контейнера на 19 ГБ и выдаёт 10,7 токена в секунду - с этого проще начать знакомство.

Для K3 придётся освободить терабайт на диске и потратить около 5 часов на M5 Pro в три процесса, почти сутки - если гонять конвертацию чистым торчем.


Авторы, кстати, завели файл с опровергнутыми гипотезами и записали туда всё, что померили и выбросили.


📌Лицензирование: Apache 2.0 License.


🖥Github


@ai_machinelearning_big_data

#AI #ML #Inference #KimiK3 #WASTE #SQLiteAI

Читать полностью…

Data Science. SQL hub

«Сэр… всё кончено. Китайцы выложили веса Kimi K3 в открытый доступ»

Moonshot AI опубликовала Kimi K3 на Hugging Face — мультимодальную MoE-модель с 2,8 трлн параметров, из которых на токен активируются около 104 млрд.

Что внутри:

контекст до 1 млн токенов;
работа с текстом и изображениями;
длительные агентные задачи и вызов инструментов;
программирование, исследование репозиториев и работа с терминалом;
нативная квантизация MXFP4.

На Terminal-Bench 2.1 авторы заявляют 88,3 балла, а на FrontierSWE — 81,2. Результаты получены в собственном агентном окружении Kimi Code, поэтому сравнивать их нужно с учётом harness.

Веса доступны по лицензии Kimi K3 License. Это уже не экспериментальная модель «для посмотреть», а открытый 3T-класс, который можно разворачивать через vLLM или SGLang.

Читать полностью…

Data Science. SQL hub

✔️ Constella: локальная память для файлов, заметок и AI-агентов

Constella — open-source desktop-приложение, которое индексирует локальные файлы и превращает их в единую базу знаний для поиска и AI-агентов.

Данные хранятся на устройстве: LanceDB используется для векторов, SQLite — для метаданных и knowledge graph.

Что умеет:

- индексировать Obsidian, Documents, Downloads и любые выбранные папки;
- извлекать текст из PDF, DOCX, Markdown и изображений;
- строить семантический поиск по локальным данным;
- автоматически связывать заметки, темы и концепты;
- работать с локальными и облачными LLM;
- отдавать базу знаний через MCP в Claude Code;
- использовать агентов и переиспользуемые workflows.

Схема примерно такая:


Файлы
↓
chunks + embeddings
↓
LanceDB + SQLite
↓
Knowledge Graph
↓
поиск / агенты / MCP


https://github.com/Constella-OS/constella-desktop

Читать полностью…

Data Science. SQL hub

Рой ИИ-агентов написал аналог SQLite на Rust за несколько часов 🤯

Cursor провела необычный эксперимент: агентам выдали только официальную документацию SQLite объёмом 835 страниц и поручили с нуля реализовать собственный движок базы данных на Rust.

Без интернета, готового исходного кода и дополнительной помощи.

Уже через четыре часа получившиеся реализации правильно выполняли 73–85% запросов из скрытого теста. После дальнейшей работы некоторым командам удалось довести результат до 100%.

Но особенно удивила стоимость:

- связка Opus 4.8 и Composer 2.5 потратила около $1 400;
- Fable — примерно $20 000.

Одинаковая задача, но почти пятнадцатикратная разница в цене.

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

Получается, ИИ уже способен за часы собрать сложный системный проект, но митинги, конфликты и страх ответственности он тоже автоматизировал 😂

#ai #rust #sqlite #agents #programming

https://cursor.com/blog/agent-swarm-model-economics

@rust_code

Читать полностью…

Data Science. SQL hub

🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку

В IT прокачивается тот, кто каждый день видит сильные идеи, новые инструменты, реальные задачи, вакансии и разборы.

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

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

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

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

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

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

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

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: @courses
ИТ-книги бесплатно: /channel/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

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

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

Читать полностью…

Data Science. SQL hub

Кто-то разобрал Claude Code почти до винтика

learn-coding-agent - репозиторий для тех, кто хочет понять, как устроены современные coding agents не на уровне промо-страниц, а на уровне архитектуры.

Автор собрал разбор Claude Code по публичным источникам: цикл агента, систему инструментов, разрешения, работу с контекстом, сессии, подпроцессы, MCP, удалённые настройки, телеметрию и скрытые флаги.

Получился не “гайд по использованию”, а карта внутренней логики CLI-агента: как он принимает решение, когда просит разрешение, как вызывает инструменты, как хранит историю и как расширяется через внешние интеграции.

https://github.com/justxor/Claudecourse/

Читать полностью…
Subscribe to a channel