sql_lib | Unsorted

Telegram-канал sql_lib - Библиотека баз данных

10583

Самая большая библиотека бесплатных книг по SQL По всем вопросам- @haarrp @ai_machinelearning_big_data - machine learning @pythonl - Python @itchannels_telegram - 🔥 best it channels @ArtificialIntelligencedl - AI РКН:  № 5037640984

Subscribe to a channel

Библиотека баз данных

1.5 млн разговоров с Claude показали тревожную правду об ИИ

https://uproger.com/1-5-mln-razgovorov-s-claude-pokazali-trevozhnuyu-pravdu-ob-ii/

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

Библиотека баз данных

"Как стать независимыми от зарубежных систем управления базами данных (СУБД)?"

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

💡Если такие вопросы возникают и у вас, приглашаем на вебинар от Диасофт и Ассоциации ФинТех (АФТ) на тему "Digital Q.DataBase: современный путь перехода с MS SQL Server и Oracle".


10 марта в 12:00 эксперты расскажут, как Digital Q.DataBase помогает перенести промышленные решения с MS SQL Server и Oracle, сохранив привычную логику и SQL-код. Они также представят новые возможности СУБД и расскажут практический кейс (историю успеха!) 🚀

💌Принимайте приглашение и регистрируйтесь по ссылке!
#реклама
О рекламодателе

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

Библиотека баз данных

🌟 Zvec: встраиваемая векторная база данных для RAG без внешних сервисов.

Alibaba открыла исходный код Zvec - встраиваемой векторной СУБД, которую авторы называют «SQLite для векторных баз данных».

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

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

Существующие решения не подходят для маломощных устройств: Faiss дает только ANN-индекс без скалярного хранилища и крэш-рекавери; DuckDB-VSS ограничен в опциях индексирования; Milvus и облачные векторные хранилища требуют сеть.


Под капотом - Proxima, векторный движок продакшен-уровня, который Alibaba сама использует в собственных сервисах. Поверх него сделали лаконичный Python API:

🟢полный CRUD и поддержка схем;

🟢поиск по нескольким векторам для комбинации разных эмбеддинг-моделей;

🟢встроенный реранкер с weighted и RRF;

🟢гибридный поиск (векторный + фильтры по скалярным полям) с инвертированными индексами.

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

По производительности Zvec заявляет победу на бенче VectorDBBench с датасетом Cohere 10M - более 8 000 QPS при сопоставимом реколле. Это вдвое больше, чем у лидера ZillizCloud и с более быстрым построением индекса.

Авторы объясняют успех глубокой оптимизацией под CPU: SIMD, кэш-эффективные структуры, многопоточность и prefetching.

Пока платформенная поддержка ограничена (Windows отсутствует), но для Linux x86/ARM64 и macOS Zvec уже готов к экспериментам на Python 3.10–3.12.


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


🟡Статья
🟡Документация
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #VDB #ZVEC #Alibaba

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

Библиотека баз данных

Как выстроить карьеру аналитика

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

Чтобы разобраться в этом, karpovꓸcourses собрали бесплатный стартер-пак в аналитику данных: вебинар с Анатолием Карповым о рынке аналитики в 2026 году, навыках, дающих преимущество, и возможных траекториях в профессии, а также 4 полезных гайда — про собеседования, нейросети, карьерный рост от Junior до Senior и A/B-тесты без ошибок.

Переходите по ссылке и забирайте стартер-пак бесплатно: https://clc.to/erid_2W5zFJoJa1v

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

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

Библиотека баз данных

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

🖥 ИИ: t.me/ai_machinelearning_big_data

🖥 Python: t.me/pythonl

🖥 Linux: t.me/linuxacademiya

🖥 C++ t.me/cpluspluc

🖥 Docker: t.me/DevopsDocker

🖥 Хакинг: t.me/linuxkalii

🖥 Devops: t.me/DevOPSitsec

👣 Golang: t.me/Golang_google

🖥 Аналитика: t.me/data_analysis_ml

🖥 Javascript: t.me/javascriptv

🖥 C#: t.me/csharp_ci

🖥 Java: t.me/javatg

🖥 Базы данных: t.me/sqlhub

👣 Rust: t.me/rust_code

🤖 Технологии: t.me/vistehno

💰 Экономика и инвестиции в ИИ t.me/financeStable

💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi

🖥 Chatgpt бот в тг: t.me/Chatgpturbobot

📚 Бесплатные ит-книги: /channel/addlist/HwywK4fErd8wYzQy

🖥Подборка по Golang: /channel/addlist/MUtJEeJSxeY2YTFi

⚡️ Лучшие ИИ ресурсы: /channel/addlist/2Ls-snqEeytkMDgy

Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.

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

Библиотека баз данных

💡 SQL-совет, который спасает от самой “хитрой” ошибки

Одна из самых коварных ситуаций в SQL - когда ты ожидаешь данные, а запрос возвращает 0 строк, хотя “всё правильно”.
Чаще всего причина - `NOT IN` + `NULL`.

Если в подзапросе есть хотя бы один NULL, то NOT IN ломает логику и не вернёт ничего.

Правило:
- ❌ Не используй `NOT IN` с подзапросами
- ✅ Используй `NOT EXISTS` или LEFT JOIN ... IS NULL


-- ❌ ПЛОХО: NOT IN ломается из-за NULL


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


-- ✅ ХОРОШО: NOT EXISTS безопасен

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

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

Библиотека баз данных

🖥 Интерактивный SQL-тренажёр для аналитиков в телеграм боте:


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

✔ практические кейсы
✔ удобный эмулятор работы Аналитика бесплатно
✔ пополняем задачами с реальных собеседований
✔ собираем фидбек и улучшаем тренажёр вместе с вами

Готов работать с данными уверенно? Попробуй симулятор и расти как аналитик.

t.me/Analitics_databot

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

Библиотека баз данных

SQL хитрый совет для про 💡

Используй COUNT(*) FILTER вместо CASE WHEN — быстрее, чище и читаемее.

❌ Как делают обычно:


SELECT
COUNT(CASE WHEN status = 'success' THEN 1 END) AS success_cnt,
COUNT(CASE WHEN status = 'error' THEN 1 END) AS error_cnt
FROM events;

✅ Как делают профи:


Копировать код
SELECT
COUNT(*) FILTER (WHERE status = 'success') AS success_cnt,
COUNT(*) FILTER (WHERE status = 'error') AS error_cnt
FROM events;

Почему это важно:

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

Где работает:

- PostgreSQL
- SQLite (частично)
- DuckDB
- ClickHouse (через аналоги)

Мелочь, но именно из таких мелочей складывается SQL уровня senior.

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

Библиотека баз данных

SQL-совет 💡

Если в запросе используется IN (subquery) - почти всегда выгоднее заменить его на EXISTS.

❌ Часто медленно:


SELECT *
FROM orders o
WHERE o.user_id IN (
SELECT u.id FROM users u WHERE u.country = 'US'
);


✅ Обычно быстрее и безопаснее:

SELECT *
FROM orders o
WHERE EXISTS (
SELECT 1
FROM users u
WHERE u.id = o.user_id
AND u.country = 'US'
);


Почему это важно:
- IN может материализовать подзапрос целиком
- EXISTS работает как semi-join и рано останавливается
- Лучше масштабируется на больших данных
- Меньше сюрпризов с NULL

Особенно критично в PostgreSQL, MySQL и Oracle на больших таблицах.

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

Библиотека баз данных

🔥 На stepik вышел курс, который учит Создавать настоящие AI-сервисы, а не просто запускать скрипты?

Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.

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

Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.

🎁 48 часов действует скидка в 40% процентов

👉 Начать учиться на Stepik

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

Библиотека баз данных

🚀 SQL-совет:

Используйте computed (вычисляемые) колонки и индексы по ним, когда ваши запросы постоянно фильтруют или сортируют по функции.


Плохо:
WHERE LOWER(email) = 'user@mail.com'

Это ломает индекс — оптимизатор не может его использовать.

Лучше:
ALTER TABLE users
ADD email_lower AS LOWER(email) STORED;

CREATE INDEX idx_users_email_lower ON users(email_lower);

Теперь:
WHERE email_lower = 'user@mail.com'


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

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

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

Библиотека баз данных

Производительные или и выгодные базы данных в облаке

Безопасные, масштабируемые и отказоустойчивые базы данных — одна из ключевых потребностей любого проекта. Именно такие предлагает Selectel. СУБД под разные запросы: от универсальной PostgreSQL до поисковой и аналитической БД Opensearch

Новые клиенты сейчас могут получить до 30 000 бонусов на использование облачных баз данных Selectel. Провайдер гарантирует:

🔹Высокую производительность. Выбирайте оптимальную конфигурацию кластера на базе мощного железа и локальных NVMe-дисков.
🔹Надежность. Автоматические бесплатные бэкапы с восстановлением вплоть до секунды — на стороне Selectel. А создать отказоустойчивый кластер можно всего от двух нод и сэкономить до 33%.
🔹Гибкое масштабирование. При росте нагрузки можно поменять конфигурацию облачного сервера и количество реплик без простоя.

Успейте зарегистрироваться и оставить заявку на участие в акции, чтобы протестировать сервис бесплатно: https://slc.tl/y7zta

Реклама. АО "Селектел". erid:2W5zFH92NVE

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

Библиотека баз данных

🚨 SQL Никогда НЕ ДЕЛАЙ ТАК #sql

НИКОГДА НЕ ЛОМАЙ ИНДЕКСЫ ФУНКЦИЯМИ: не оборачивай индексируемые поля в функции внутри WHERE.

Как только ты пишешь LOWER(), CAST(), COALESCE() или любые вычисления по колонке — индекс перестаёт работать, и запрос падает в полное сканирование таблицы.

Это одна из самых тихих причин, почему запросы внезапно превращаются в тормоза.

Вместо этого приводи значения заранее или используй функциональные индексы.


Плохо: индекс по email НЕ используется
SELECT *
FROM users
WHERE LOWER(email) = 'user@example.com';

-- Хорошо: нормализуем значение заранее
SELECT *
FROM users
WHERE email = 'user@example.com';

-- Или создаём функциональный индекс (PostgreSQL)
CREATE INDEX idx_users_email_lower ON users (LOWER(email));


https://www.youtube.com/shorts/AyiAslOeJFA

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

Библиотека баз данных

📘 Как PostgreSQL научился масштабироваться без боли

Менеджер буферов в PostgreSQL отвечает за кэширование 8KB-страниц диска в общей памяти фиксированного размера. Для поиска используется хеш-таблица (через BufferTag → buffer ID), а для удаления страниц — clock-sweep алгоритм.

Первые версии были предельно простыми — с глобальной блокировкой, что быстро приводило к узким местам под нагрузкой. За 30 лет система эволюционировала:

от единой глобальной блокировки

к блокировкам на каждый буфер и партицию

и, наконец, к атомарным операциям, обеспечивающим почти lock-free доступ к структурам памяти.

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

Философия дизайна PostgreSQL — минимальное время удержания блокировок, абстракция аппаратных различий через атомики и постоянная оптимизация реальных узких мест по результатам профилирования.

Отличный блог-пост с хронологией ключевых вех и ссылками на важные коммиты за эти годы — по ссылке 👇

Подробности

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

Библиотека баз данных

🖥 Новый курс на Stepik - PostgreSQL для разработчиков: от основ к созданию API

Здесь на пальцах объясняют не только как писать SQL-запросы, а строить настоящие backend-сервисы с базой данных как у профи.

В этом курсе ты шаг за шагом создашь REST API на FastAPI + PostgreSQL:
от установки среды и первых таблиц - до масштабируемого приложения с безопасностью и CRUD-операциями.

🔹 На практике разберете:
• SQL-запросы, фильтры, агрегаты и подзапросы
• Связи между таблицами и нормализацию БД
• Взаимодействие Python и PostgreSQL
• Реализацию REST API и подключение базы
• Оптимизацию и разбор реальных задач с собеседований

⚡ После курса у вас будет свой работающий API-проект и реальные навыки работы с PostgreSQL в продакшене.

🎁 Сегодня дарим промокод –30% от цены: SQLISGREAT

🚀 Прокачаю свои знания: https://stepik.org/course/255542/

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

Библиотека баз данных

Боремся с деградацией: системный подход к оптимизации баз данных ⚙️

В крупных корпоративных системах деградация СУБД редко происходит внезапно. Сначала замедляются регламентные процедуры, затем растет нагрузка, появляются блокировки, проседает SLA — и команда начинает работать в режиме постоянного реагирования.

📆 17 марта в 11:00 (онлайн) приглашаем на бесплатный вебинар «Боремся с деградацией: системный подход к оптимизации баз данных», где подробно разберем работу и оптимизацию MSSQL.

👨‍💻 Спикер: Руслан Абдуллин — архитектор БД и интеграции, разработчик Lasmart. Практик аудитов и оптимизации MSSQL для Hoff Tech, «Аптечная сеть 36,6» и ГК «ЭркаФарм».

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

Кому будет полезно:
DBA, DevOps, Data Engineer, Backend-разработчикам, а также руководителям ИТ / CTO / CDO, которые отвечают за стабильность и производительность баз данных.

🔗 Регистрация по ссылке

Реклама ООО "Ласмарт" ИНН 7814186283, ERID 2Vtzqv3deSZ

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

Библиотека баз данных

🐘 Бесплатная конференция по PostgreSQL — Москва, 19 марта

PG BootCamp Russia 2026 — комьюнити-конференция российского сообщества PostgreSQL с подтвержденным официальным международным статусом.

Мероприятие бесплатное, онлайн+офлайн, ориентировано на администраторов БД, разработчиков, инженеров, аналитиков, архитекторов.

Эксперты из Tantor, Яндекс, СберТех, Тензор, Хи-квадрат, Luxms BI и других компаний выступят по темам, связанным с разработкой, эксплуатацией и взаимодействием PostgreSQL с другими системами.

В предварительной программе:

📎Решение застарелых архитектурных проблем PostgreSQL для современных нагрузок и масштабирования
📎Временные таблицы для Postgres. Почему это важно для платформы 1С и что можно улучшить?
📎Разделение Compute и Storage: архитектурный прорыв для PostgreSQL в облаке
📎Опыт вынесения OLAP-нагрузки на реплику
📎Highload "из ниоткуда": когда проблема не в СУБД, а в клиентской архитектуре
📎Опыт эксплуатации, проблемы и производительность PostgreSQL на Эльбрус, Baikal-S, Loongson, Repka Pi, x86
📎Поиск проблем планирования запросов до их воздействия на производительность
📎Тестирование, баги и уроки работы с патчем 64-битного счетчика транзакций PostgreSQL
📎Работа с логами PostgreSQL
📎…и другие (всего 25 выступлений)


🗓 19 марта
📍 Москва, офлайн + онлайн

➡️ БЕСПЛАТНАЯ РЕГИСТРАЦИЯ

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

Библиотека баз данных

🖥 Sql тренажеры для практики

▪sql-academy.org
▪sql-ex.ru
▪schoolsw3.com
▪SQL Fiddle
▪sqltest.online
▪Oracle LiveSQL
▪stratascratch.com
▪stepik.org (Интерактивный тренажер SQL)
▪sql-practice.com
▪pgexercises.com
▪HackerRank
sqlzoo.net

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

Библиотека баз данных

📌 EXISTS РАБОТАЕТ БЫСТРЕЕ COUNT

SQL-совет: перестаньте считать всё через COUNT(*)

Многие пишут так:

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

Чтобы проверить — есть ли записи.

Проблема:
COUNT(*) считает все строки, даже если нужна просто проверка существования.
На больших таблицах это лишняя нагрузка и медленный запрос.

Правильнее использовать EXISTS.

Почему это лучше:
- База останавливается на первой найденной строке
- Меньше чтения данных
- Быстрее на больших таблицах
- Использует индексы эффективнее

Пример:


-- Плохо
SELECT COUNT(*)
FROM orders
WHERE user_id = 123;

-- Хорошо
SELECT EXISTS (
SELECT 1
FROM orders
WHERE user_id = 123
);

-- Или в условии
SELECT *
FROM users u
WHERE EXISTS (
SELECT 1
FROM orders o
WHERE o.user_id = u.id
);

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

Библиотека баз данных

💨 Тормозят SQL-запросы и дашборды? Освободите своё время и нервы!

Устали каждый раз пить кофе, пока выполняется запрос? Раздражает, когда дашборд висит на последнем проценте загрузки? Пора это прекратить!

Приглашаем вас на практический вебинар «Аналитика без тормозов» 11 февраля в 19:00.
Мы разберем, как радикально ускорить вашу работу.

На вебинаре вы:

🔸 Узнаете об эффективных подходах — от тактических SQL-приёмов до стратегических архитектурных решений.
🔸 Разберёте конкретные методы, применимые к любой СУБД, и тонкие нюансы оптимизации.
🔸 Получите готовый набор фишек для ускорения запросов и витрин уже на следующий день.


Проведет вебинар Георгий Семенов, руководитель команды Analytics Engineering в Яндексе. Его опыт (VK, Wildberries, ЦУМ, ВТБ) и 14 лет в управлении IT-проектами — это концентрат практических знаний без воды.

Все участники получат в подарок практический урок из курса SQL Pro про оптимизацию запросов — навсегда.

Ускорьте свою аналитику одним кликом: simulative.ru/web-sql-speedup

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

Библиотека баз данных

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 (миллион пользователей, несколько миллионов заказов на десятки гигабайт)

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

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

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

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

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

Библиотека баз данных

🖥 SQL-квест: фэнтезийное приключение для аналитиков данных

Представь фэнтези-мир, где заклинания - это SQL-запросы, а древние артефакты спрятаны в таблицах и JSON-документах.

🧙Ты - боевой дата-аналитик, который с помощью SQL, Python, ETL и визуализаций охотится за харизматичным злодеем Архивариусом Пакостусом, что ломает индексы, крадёт данные и готовит “шторм данных” на столицу.🔮

В каждом эпизоде тебя ждут: выборы с последствиями, хитрые задачи от простых SELECT до рекурсивных CTE и BigQuery, юмор, эпик и неожиданные повороты.

Хочешь проверить, сможешь ли ты спасти королевство не мечом, а запросами? Тогда добро пожаловать в SQL-квест.

🪄 Начать квест: https://uproger.com/sql-kvest-fentezijnoe-priklyuchenie-dlya-analitikov-dannyh/

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

Библиотека баз данных

Чем больше компания, тем больше вызовов 😱

Был десяток команд разработки – теперь их сотни. Единицы развертываний в день превращаются в тысячи.

Как в этом потоке сохранить контроль, прозрачность и управляемость? Как можно автоматизировать рутинные процессы? Разрозненные инструменты и отсутствие единой картины тормозят скорость и снижают качество доставки – что делать?

🎯Если у вас нет ответа на эти вопросы, вашей компании стоит внедрить IT-решение, которое станет "единым источником правды". Оно автоматизирует учет IT-компонентов, управление стендами и планирование поставок, сокращая время на рутину и повышая надежность процессов. Название такого решения – Digital Q.CMDB.

Диасофт посвятит этому решению вебинар, который состоится 23 декабря в 14:00 🗓

Эксперты познакомят вас с решением, расскажут про вызовы масштабирования и затронут практику: от бизнес-требований до поставки.

Welcome: регистрируйтесь по ссылке!
Реклама. ООО "ДИАСОФТ ЭКОСИСТЕМА". ИНН 9715403607.

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

Библиотека баз данных

🖥 Гайд по продвинутому профессиональному использованию SQL

В этом руководстве мы рассмотрим ключевые аспекты работы с SQL на практике. Начнём с сравнения популярных СУБД, затем перейдём к продвинутым приёмам аналитического SQL, оптимизации запросов, администрированию баз данных, и закончится всё интеграцией SQL с Python (SQLAlchemy, pandas и т.д.).

Для каждого раздела приведены примеры на реальных сценариях (интернет-магазин, CRM, аналитика продаж), код и полезные советы.

👉 Читать гайд

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

Библиотека баз данных

🚀 Новый продвинутый планировщик заданий для PostgreSQL - лучше, чем cron

Если устал от cron и временных триггеров, обрати внимание на pg_timetable:

✅ Сильный: гибкий, надёжный, с богатым функционалом
✅ Легко настраивается, понятен и прозрачен
✅ Позволяет:
• запускать SQL-задачи по расписанию
• отслеживать их статус и history
• обеспечивать graceful restart и защиту от сбоев

Идеален для рабочих баз, сложной логики задач и критичных приложений.

📦 Репозиторий: https://github.com/cybertec-postgresql/pg_timetable

#golang #postgresql #devops #golang

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

Библиотека баз данных

🖥 SQL СОВЕТ

Когда нужно взять по одному самому свежему событию на пользователя, не делай вложенные подзапросы с MAX и лишние JOIN, используй оконную функцию ROW_NUMBER по разделу и упорядочиванию, так запрос будет понятнее и часто быстрее на реальных данных.


SELECT *
FROM (
SELECT
user_id,
event_type,
created_at,
ROW_NUMBER() OVER (
PARTITION BY user_id
ORDER BY created_at DESC
) AS rn
FROM events
) t
WHERE rn = 1;

-- Для каждого user_id вернется только самое последнее событие

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

Библиотека баз данных

🖥 SQL большой гайд. Как правильно выбрать ORM

Эта статья - не про «как написать SELECT, а про настоящую инженерную работу: принципы нормализации, дизайн схем, практики оптимизации SQL, работа с транзакциями, и главное - как выбрать и использовать ORM так, чтобы он помогал, а не мешал.

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

Готовы? Тогда начинаем строить архитектуру, которую не стыдно масштабировать.

https://uproger.com/sql-bolshoj-gajd-kak-pravilno-vybrat-orm/

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

Библиотека баз данных

🔥 Hugging Face снова выкатили полезные материалы.

Вышел бесплатный плейбук о том, как изнутри строят SOTA-модели.

Без общих слов - только реальные решения и нюансы, которые обычно скрыты внутри исследовательских команд.

Это полноценный мастеркласс на 214 страниц для тех, кто хочет понимать, как устроены современные LLM.

Что внутри:
• Логика построения модели: зачем → что → как
• Как разработчики берут модель и по частям включают/выключают компоненты (или меняют их)
• Архитектура: ключевые выборы и trade-offs
• Искусство подбора и очистки данных
• Как проходит обучение моделей
• Пост-тренинг и RLHF в 2025
• Инфраструктура больших моделей

По первым страницам - уровень деталей как в Ultra-scale playbook.

Ссылка
: https://huggingface.co/spaces/HuggingFaceTB/smol-training-playbook#designing-the-model-architecture

Видео: https://www.youtube.com/watch?v=LGzO-Mn0DJQ

#AI #LLM #MachineLearning #HuggingFace

@sql_lib - библиотека МЛ и ИИ книг

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

Библиотека баз данных

🖥 SQL за полтора часа в одном видео! Полный базовый курс по SQL. Базы данных курс для начинающих!

00:00:00 Введение
00:02:43 Платные курсы и что изучать дальше
00:04:55 Коротко об онлайн редакторе
00:07:11 Что такое база данных
00:08:10 Что такое CRUD
00:10:05 Запрос на создание первой таблицы
00:11:57 Типы данных у атрибутов(колонок) (DATA TYPES)
00:17:26 Прописываем атрибуты(колонки) первой таблицы
00:21:07 Создаем первую таблицу (CREATE TABLE)
00:21:38 Проверка на наличие таблицы при создании (IF NOT EXISTS)
00:22:18 Запрос на удаление таблицы(DROP TABLE)
00:22:33 Проверка на наличие таблицы при удалении(IF EXISTS)
00:22:57 Запрос на добавление объекта в таблицу (INSER INTO table)
00:23:35 Запрос на чтение(получение) объектов из таблицы(SELECT * FROM table)
00:24:18 Модификаторы для атрибутов(колонок) таблицы(NOT NULL, DEFAULT, UNIQUE)
00:29:26 Изменение уже существующей таблицы(ALTER TABLE, ADD, DROP, RENAME, MODIFY COLUMN)
00:36:08 Удаление объектов из таблицы(DELETE FROM table)
00:37:06 Редактирование объекта в таблице(UPDATE table)
00:39:03 Первичный ключ(PRIMARY KEY)
00:45:37 Композиция в бд
00:50:38 "Иностранный" ключ(FOREIGN KEY)
00:57:26 Индексы в бд(INDEX)
00:59:24 Готовим данные для темы алиас, юнион и слияние таблиц
01:03:30 Слияние таблиц(INNER JOIN)
01:06:02 Слияние таблиц(LEFT JOIN)
01:06:53 Слияние таблиц(RIGHT JOIN)
01:07:26 Слияние таблиц(FULL JOIN/OUTER JOIN) и Union
01:09:04 Алиас(table AS alias)
01:12:18 Select Distinct в SQL
01:13:42 AND OR NOT в SQL
01:16:18 ORDER BY и LIMIT в SQL
01:17:35 MIN и MAX в SQL
01:18:25 COUNT SUM AVG в SQL
01:19:29 LIKE в SQL
01:21:31 IN и BETWEEN в SQL
01:22:50 GROUP BY в SQL
01:25:17 EXISTS в SQL
01:27:37 ANY и SOME в SQL
01:29:00 INSERT INTO в SQL
01:30:40 Отношения в базе данных
01:32:11 Отношения один к одному
01:33:09 Отношения один ко многим
01:34:09 Отношения многие ко многим
01:37:10 Отношения один к одному и один ко многим "через"
01:39:10 SQL инъекции

источник

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

Библиотека баз данных

🖥 Полный гайд: защита от SQL-инъекций для разработчиков

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

В этом материале — полный практический разбор:
как именно происходят SQL-инъекции, какие ошибки разработчиков к ним приводят, как их распознать в коде и главное — как защититься.

Разберём реальные примеры на Python, PHP и Go, посмотрим, как атакующий «взламывает» запрос, и научимся писать безопасный код с параметризованными запросами и ORM.

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

👉 Читать гайд

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