ch
Feedback
SQL Portal | Базы Данных

SQL Portal | Базы Данных

前往频道在 Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных Связь: @devmangx РКН: https://clck.ru/3H4Wo3

显示更多

📈 Telegram 频道 SQL Portal | Базы Данных 的分析概览

频道 SQL Portal | Базы Данных (@sqlportal) 是活跃参与者。目前社区聚集了 14 116 名订阅者,在 技术与应用 类别中位列第 9 154,并在 俄罗斯 地区排名第 47 156

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 14 116 名订阅者。

根据 18 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -135,过去 24 小时变化为 0,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 8.00%。内容发布后 24 小时内通常能获得 4.67% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 1 130 次浏览,首日通常累积 660 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 2
  • 主题关注点: 内容集中在 строка, sql, индекс, postgres, колонка 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных Связь: @devmangx РКН: https://clck.ru/3H4Wo3

凭借高频更新(最新数据采集于 19 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

14 116
订阅者
无数据24 小时
-347
-13530
帖子存档
Лето начинается: водные развлечения, гриль на острове и новые маршруты в бутик-отеле «Заонежье» Для гостей бутик-отеля «Заоне
+9
Лето начинается: водные развлечения, гриль на острове и новые маршруты в бутик-отеле «Заонежье» Для гостей бутик-отеля «Заонежье» к новому сезону подготовлены лесные трассы для первых заездов на новых квадроциклах — они позволяют исследовать дикие уголки карельской тайги и скалистые берега озер. Велопрогулки по дорогам Заонежья стали еще комфортнее благодаря электробайкам, которые этой весной пополнили велопарк отеля. В мае, в отеле открылся сезон водных развлечений: гостям доступны сапы, каяки и весельные лодки. В этом году пользование ими - комплементарное для всех гостей. Также появились новые маршруты для катеров по заливам Онежского озера. Ресторан «Руна» представляет летнюю серию гриль-сетов, которые можно приготовить самостоятельно на одном из необитаемых островов или устроить барбекю на лужайке у дома. В меню — овощные и рыбные сеты, а также мясное ассорти. Бутик-отель «Заонежье» приглашает к активному отдыху среди озер и северной природы Карелии.

Новый бесплатный курс от Anthropic! Agent Skills: пошагово и с нуля ✓ Создание навыков (Skills) и лучшие практики ✓ Отличия от Tools и MCP ✓ Для Claude Code и Visual Studio Code 2 часа контента и 10 видеоуроков → deeplearning.ai/short-courses/agent-skills-with-anthropic/ 👉 @SQLPortal

Тебе точно понравится: Этот инструмент, который преобразует запросы на естественном языке в SQL-запросы То есть пишешь ему, например:
все книги которые взяли студенты 2 курса за последнюю неделю
И он вам выдаёт SELECT * FROM ... и тд. Очень удобный инструмент для тех, кто не знаком с SQL, но нуждается в работе с базами данных, пользуйтесь 📸 ⛓ Ознакомиться: тут 👉 @SQLPortal

Чем больше пользуюсь Claude Code, тем сильнее кажется, что главный навык теперь не кодинг. А управление агентами. У некоторых workflow выглядит примерно так: Одна задача автоматически разбивается между несколькими агентами. • один накидывает идеи • один пишет технический план • один кодит • один делает ревью • один ищет проблемы и пропущенные кейсы Всё складывается в markdown, чтобы не потерять контекст. Да, получается медленнее. Да, приходится ждать. Но качество обычно выше, потому что каждый агент делает только одну работу. А настоящий буст начинается с Git Worktrees. Вместо одной сессии Claude Code можно держать несколько параллельных. Одна пилит новую фичу. Вторая разбирается с багом. Третья пишет тесты. Четвёртая занимается рефакторингом. В итоге начинаешь думать не в стиле «как написать этот код», а в стиле «как распределить работу между агентами и не потерять контроль над результатом». Похоже, это и есть новый engineering skill. 👉 @SQLPortal

Любимый паттерн для “последняя запись на группу” в Postgres — DISTINCT ON. Да, он Postgres-specific. Нет, он не из SQL Standa
Любимый паттерн для “последняя запись на группу” в Postgres — DISTINCT ON. Да, он Postgres-specific. Нет, он не из SQL Standard. Зато для этой задачи он читается почти идеально. Есть таблица заказов:
CREATE TABLE orders (
  id          bigint PRIMARY KEY,
  customer_id int,
  status      text,
  created_at  timestamptz
);
Старый классический вариант:
SELECT o.*
FROM orders o
INNER JOIN (
  SELECT customer_id, MAX(created_at) AS latest
  FROM orders
  GROUP BY customer_id
) latest ON o.customer_id = latest.customer_id
        AND o.created_at  = latest.latest;
Работает, но есть нюансы. Таблица читается два раза: сначала ищем MAX(created_at) по каждому customer_id, потом джойнимся обратно за полной строкой. И ещё хуже: если у одного клиента два заказа с одинаковым created_at, запрос может вернуть две строки. Нужен tie-breaker. В Postgres проще так:
SELECT DISTINCT ON (customer_id)
  customer_id, status, created_at
FROM orders
ORDER BY customer_id, created_at DESC;
DISTINCT ON (customer_id) оставляет первую строку для каждого клиента после сортировки. То есть ORDER BY customer_id, created_at DESC сначала кладёт свежий заказ клиента наверх, а DISTINCT ON забирает его. Чтобы это реально летало, добавляем индекс:
CREATE INDEX ON orders (customer_id, created_at DESC);
Теперь Postgres может идти по уже отсортированному индексу и не делать отдельную сортировку. На небольшом тесте с 100k строк и 20k customer_id получилось так: Без индекса: • MAX + self-join: 32.92ms • DISTINCT ON: 34.75ms • ROW_NUMBER(): 38.68ms С индексом (customer_id, created_at DESC): • DISTINCT ON: 15.99ms • ROW_NUMBER(): 25.36ms • MAX + self-join: 38.01ms Главный вывод: для “одна последняя строка на группу” в Postgres я первым беру DISTINCT ON. Если нужно не одну строку, а top N строк на группу, тогда уже ROW_NUMBER():
SELECT customer_id, status, created_at
FROM (
  SELECT *,
    ROW_NUMBER() OVER (
      PARTITION BY customer_id
      ORDER BY created_at DESC
    ) AS rn
  FROM orders
) ranked
WHERE rn = 1;
DISTINCT ON — для простого “последний на группу”. Window functions — когда нужна гибкость. 👉 @SQLPortal

Только начинаете знакомство с Oracle AI Database? Anders Swanson показывает, с чего начать. Что входит в руководство: • запуск бесплатной базы данных в Docker • установка необходимых инструментов для разработки: расширения SQL Developer для VS Code и CLI-интерфейса SQLcl • подборка бесплатных материалов для изучения Oracle AI Database и экосистемы Oracle Подойдёт тем, кто хочет быстро поднять локальное окружение и начать работать с Oracle без лишней настройки. 👉 @SQLPortal

У Claude Code довольно элегантная структура проекта: одна папка .claude/, в которой живёт всё, что связано с агентом. 👉 @SQL
У Claude Code довольно элегантная структура проекта: одна папка .claude/, в которой живёт всё, что связано с агентом. 👉 @SQLPortal

🚀 SudoTeach запустили новый курс — Продвинутый SQL! SQL — это не только SELECT * FROM users. На работе и собеседованиях SQL
🚀 SudoTeach запустили новый курс — Продвинутый SQL! SQL — это не только SELECT * FROM users. На работе и собеседованиях SQL — это не только простые запросы, а индексы, транзакции, JOIN’ы, оконные функции, CTE и проектирование БД. В курсе собрали всё, что нужно, чтобы уверенно работать с базами данных в реальных проектах. Что внутри: • продвинутая выборка данных; • JOIN, подзапросы, агрегации и группировки; • оконные функции, CTE и рекурсия; • DML, DDL, нормализация и проектирование таблиц; • индексы, транзакции, VIEW и MATERIALIZED VIEW; • сравнение PostgreSQL, MySQL и SQLite; • обзор NoSQL, MongoDB и Redis; • финальный проект: спроектируете БД с нуля и напишете запросы к ней. 🎓 8 разделов, 24 урока, практические задания, помощь преподавателя и доступ навсегда. Прямо сейчас можно забрать курс со скидкой 40%: 🔗 https://sudoteach.com/course/sql-pro

Большинство AI-кодинг-агентов знают SQL. Намного меньше из них понимают базы данных. PlanetScale выложили Database Skills. Это набор skills для AI-агентов, которые работают с MySQL, Postgres, Vitess и Neki. Вместо одного огромного промпта: → отдельный skill для MySQL → отдельный skill для Postgres → отдельный skill для Vitess → отдельный skill для Neki Что умеет: • проектирование схем • индексы и оптимизация запросов • транзакции и блокировки • MVCC, VACUUM и WAL в Postgres • шардинг через Vitess • Online DDL и VReplication • диагностика медленных запросов Установка:
npx skills add planetscale/database-skills
или в Cursor:
/add-plugin database-skills
Мне нравится сама идея. Сейчас многие используют агентов как очень умный автокомплит. А вот заставить агента понимать, почему этот индекс плохой, почему VACUUM отстаёт или почему шардирование сломает запросы через полгода, уже гораздо интереснее. Open source. MIT License. GitHub доступен всем. 👉 @SQLPortal

Нормализация БД относится к тем темам, которые изучает почти каждый разработчик. Но со временем многие забывают разницу между
Нормализация БД относится к тем темам, которые изучает почти каждый разработчик. Но со временем многие забывают разницу между: ✅ 1NF ✅ 2NF ✅ 3NF ✅ BCNF ✅ 4NF Хорошо нормализованная база данных: • уменьшает дублирование данных • повышает целостность данных • предотвращает аномалии при вставке, обновлении и удалении • упрощает поддержку и развитие системы Краткая шпаргалка по нормальным формам:

Supabase и Firebase забрали все ваши деньги? Butterbase только что открыл исходный код. Полностью open-source бэкенд с нативной поддержкой AI: - Postgres с RLS - Auth и OAuth - Хранилище - Functions - AI Gateway - MCP Server (чтобы ваши агенты могли использовать бэкенд как полноценный набор инструментов) То есть больше не нужно вручную копировать и вставлять код, чтобы Claude, Cursor или ваши агенты могли взаимодействовать с базой данных. Всё доступно через инструменты. Можно развернуть самостоятельно или использовать их managed-версию. РЕПО ↓ https://github.com/butterbase-ai/butterbase 👉 @SQLPortal

Устали постоянно получать: CREATE ... ORA-01031: insufficient privileges при создании объектов? В Oracle AI Database 26ai дос
Устали постоянно получать:
CREATE ...

ORA-01031: insufficient privileges
при создании объектов? В Oracle AI Database 26ai достаточно выдать одну роль:
GRANT db_developer_role TO ...
После этого пользователь сможет создавать все стандартные объекты базы данных. 👉 @SQLPortal

Dolt — это SQL-база данных с полноценным Git-подобным контролем версий для данных. Можно делать ветки, мержить изменения, фор
Dolt — это SQL-база данных с полноценным Git-подобным контролем версий для данных. Можно делать ветки, мержить изменения, форкать и клонировать не только код, но и сами данные. • Подключение через MySQL-протокол, чтение и запись версионируемых данных обычным SQL • Импорт CSV, коммиты изменений, push, pull и merge через привычные Git-команды • Публикация баз на DoltHub или самостоятельный хостинг через DoltLab • Используется как слой памяти для AI-агентов в multi-agent и multi-machine workflow Если вам когда-нибудь хотелось сделать git checkout, git diff или git merge для базы данных, Dolt решает именно эту задачу. Посмотреть проект можно здесь: https://github.com/dolthub/dolt 👉 @SQLPortal

Я сократил расход токенов в Claude Code вдвое с помощью одного файла. Замерял результат в течение недели. Секрет прост: научи
Я сократил расход токенов в Claude Code вдвое с помощью одного файла. Замерял результат в течение недели. Секрет прост: научить Claude выбирать модель в зависимости от задачи.
Haiku для массовых механических задач. Sonnet для исследований и анализа. Opus только там, где действительно требуется сложное рассуждение.
До этого токены тратились без разбора на любые задачи. После настройки результат остался тем же, а расход снизился примерно вдвое. Схема состоит из трёх частей. 1. Блок делегирования задач Вы задаёте правило, по которому Claude создаёт субагентов и выбирает самую дешёвую подходящую модель: → Haiku: рутинные задачи без необходимости принимать решения → Sonnet: исследования, изучение кодовой базы, анализ и обобщение информации → Opus: только для реального планирования и сложных компромиссов Два важных ограничения: • Haiku никогда не создаёт собственных субагентов. Если это понадобилось, задача была плохо декомпозирована. • Максимальная глубина вложенности — два уровня (родитель → субагент → ещё один уровень). Если субагенту требуется более сильная модель, он возвращает задачу родителю, а не повышает уровень самостоятельно. 2. Блок предпочтительных инструментов Вы учите Claude сначала выбирать самые дешёвые инструменты: → WebFetch для публичных веб-страниц → agent-browser CLI для динамических страниц и сайтов с авторизацией (примерно на 82% меньше токенов по сравнению с инструментами на основе скриншотов) → Конвертация PDF в текст вместо использования инструмента Read Если Claude постоянно повторяет один и тот же шаблон действий, вы просите его оформить этот процесс как переиспользуемый инструмент. 3. Две строки в settings.json
"CLAUDE_CODE_DISABLE_1M_CONTEXT": "1"
Не позволяет загружать огромные контекстные окна, которые часто не нужны.
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80"
Запускает автоматическое сжатие контекста при заполнении на 80%, а не после полного заполнения. Только эти две настройки экономят токены в каждой сессии. Вся настройка занимает около двух минут. А экономия начинает накапливаться с каждой следующей задачей. 👉 @SQLPortal

Скиллы AI-агентов представляют собой набор инструкций в Markdown, которые объясняют, как выполнять определённую задачу. Kris Rice создал библиотеку из более чем 100 скиллов для работы с Oracle AI Database, включающую практические примеры, лучшие практики и распространённые ошибки. Получить их можно здесь: https://github.com/oracle/skills 👉 @SQLPortal

Обновить одну таблицу, используя значения из другой таблицы через прямое JOIN-соединение в 26ai: UPDATE SET = FROM WHERE Таки
Обновить одну таблицу, используя значения из другой таблицы через прямое JOIN-соединение в 26ai:
UPDATE <target_tab>
SET <target_col> = <source_col>
FROM <source_tab>
WHERE <join_condition>
Такие JOIN-соединения также можно использовать в операторах DELETE. 👉 @SQLPortal

Surya OCR выглядит очень мощно для открытой OCR-модели. Что выделяется: → менее 1 млрд параметров → поддержка 91 языка → до 5 страниц в секунду на RTX 5090 → работает на CPU, GPU и Apple MPS → 83.3% на бенчмарке olmOCR, один из лучших результатов среди моделей до 3B параметров Surya OCR относится к классу Document Intelligence-моделей. Она не просто извлекает текст с изображения, но также умеет работать со структурой документов: PDF, сканами, таблицами, многостраничными документами и сложной вёрсткой. Подходит для задач: • OCR документов и PDF • оцифровки книг и сканов • RAG-пайплайнов • обработки счетов и форм • извлечения данных из таблиц • подготовки датасетов для LLM 100% open source. 👉 @SQLPortal

Многие до сих пор сравнивают PostgreSQL и MySQL так, будто разница между ними сводится к синтаксису SQL и производительности
Многие до сих пор сравнивают PostgreSQL и MySQL так, будто разница между ними сводится к синтаксису SQL и производительности в бенчмарках. На самом деле различия начинаются гораздо глубже, на уровне архитектуры. PostgreSQL представляет собой единый интегрированный движок. Данные хранятся в heap-таблицах, версии строк поддерживаются через MVCC прямо внутри таблиц, а для журналирования используется единый WAL (Write-Ahead Log). MySQL (если говорить про InnoDB) устроен иначе. SQL-слой отделён от движка хранения, данные хранятся в кластеризованном B-дереве, история изменений строк выносится в undo-логи, а сама система опирается сразу на несколько журналов: Undo Log, Redo Log и Binlog. Из-за этого базы по-разному ведут себя при обновлении данных, восстановлении после сбоев, репликации и обслуживании больших нагрузок. Именно поэтому вопрос «что быстрее: PostgreSQL или MySQL?» обычно не имеет смысла без контекста. Это не просто две разные СУБД. Это две разные архитектурные философии, которые решают похожие задачи разными способами. 👉 @SQLPortal

9 типов баз данных: 1) Реляционные (Relational) ↳ Хранят структурированные данные в таблицах с заранее определённой схемой и
9 типов баз данных: 1) Реляционные (Relational) ↳ Хранят структурированные данные в таблицах с заранее определённой схемой и поддержкой SQL-запросов. 2) Ключ-значение (Key-Value) ↳ Хранят данные в виде пар «ключ-значение» для максимально быстрых операций чтения и кэширования. 3) Документные (Document) ↳ Хранят данные в виде JSON-подобных документов с гибкой вложенной структурой. 4) Ширококолонковые (Wide-Column) ↳ Хранят данные в гибких семействах колонок для масштабируемых распределённых нагрузок. 5) Временных рядов (Time-Series) ↳ Хранят данные с временными метками для метрик, логов, событий и телеметрии в реальном времени. 6) Графовые (Graph) ↳ Хранят связи между сущностями, позволяя эффективно выполнять запросы по связанным данным. 7) Векторные (Vector) ↳ Хранят эмбеддинги для поиска по сходству и AI-ориентированного поиска информации. 8) Колоночные (Columnar) ↳ Хранят данные по колонкам, а не по строкам, что ускоряет аналитические запросы. 9) Поисковые (Search) ↳ Хранят индексированный текст и структурированные данные для быстрого полнотекстового поиска и ранжирования результатов. Большинство современных систем используют сразу несколько типов баз данных. По мере того как системы становятся всё более ориентированными на работу в реальном времени и AI, потребность в инфраструктуре для временных рядов заметно выросла. 👉 @SQLPortal

Когда в psql выполняется запрос и вы нажимаете Ctrl+C, клиент отправляет серверу запрос на отмену выполнения. Но как это рабо
Когда в psql выполняется запрос и вы нажимаете Ctrl+C, клиент отправляет серверу запрос на отмену выполнения. Но как это работает? Сервер не может использовать уже существующее соединение, потому что оно занято обработкой текущего запроса. Поэтому Postgres использует второе, временное соединение, которое работает по принципу «отправил и забыл», аналогично SIGINT. Этот механизм намеренно сделан максимально простым, потому что отмена должна срабатывать даже тогда, когда всё остальное зависло. Все драйверы, клиенты и инструменты, поддерживающие отмену запросов, используют один и тот же механизм. PID, секретный ключ и код запроса на отмену Во время инициализации соединения, после завершения аутентификации, сервер отправляет сообщение BackendKeyData, содержащее: pid — идентификатор процесса (PID) backend-процесса, обслуживающего ваше соединение; secret — случайное 32-битное целое число, генерируемое при запуске сессии. Согласованный код запроса на отмену — фиксированное значение: 0x04d2162e, или PG_PROTOCOL(1234,5678) в исходном коде Postgres. Чтобы отменить запрос, клиент открывает новое соединение с портом Postgres и отправляет сообщение CancelRequest, содержащее PID, секретный ключ и код запроса на отмену. Что делает сервер? - Распознаёт сообщение как CancelRequest, а не как стартовое сообщение (StartupMessage); - Находит backend-процесс с указанным PID; - Проверяет совпадение секретного ключа; - Отправляет сигнал SIGINT этому backend-процессу; - Закрывает соединение для отмены, не отправляя никакого ответа. - Backend-процесс получает SIGINT, что запускает механизм обработки прерываний в Postgres. После этого в исходное соединение возвращается ошибка:
ErrorResponse: ERROR: canceling statement due to user request
ReadyForQuery
Что именно происходит внутри Postgres после получения запросом сигнала SIGINT — тема уже не для выходного чтения. Об этом поговорим в одном из постов на след недели. 👉 @SQLPortal