Представь фэнтези-мир, где заклинания - это SQL-запросы, а древние артефакты спрятаны в таблицах и JSON-документах.
🧙Ты - боевой дата-аналитик, который с помощью SQL, Python, ETL и визуализаций охотится за харизматичным злодеем Архивариусом Пакостусом, что ломает индексы, крадёт данные и готовит “шторм данных” на столицу.🔮
В каждом эпизоде тебя ждут: выборы с последствиями, хитрые задачи от простых SELECT до рекурсивных CTE и BigQuery, юмор, эпик и неожиданные повороты.
Хочешь проверить, сможешь ли ты спасти королевство не мечом, а запросами? Тогда добро пожаловать в SQL-квест.
🪄 Начать квест: https://uproger.com/sql-kvest-fentezijnoe-priklyuchenie-dlya-analitikov-dannyh/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20❤4🥰2
Переход в ML часто выглядит как шаг в неизвестность, даже если вы давно в данных.
Вроде бы уже умеешь работать с данными, строить модели, делать выводы, но при этом не совсем понятно, что именно отличает ML-инженера от аналитика на практике. Какие навыки усиливать, как перестроить свой профиль, чтобы он выглядел не как “человек из data”, а как специалист, способный доводить модели до прода.
На мастер-классе по машинному обучению karpovꓸcourses подробно разбирают, как выглядит реальная роль ML-инженера в компании, какие задачи он решает, как обычно строится карьерный путь и какие шаги помогают быстрее и осознаннее перейти в эту роль, не теряя годы на хаотичное обучение.
Узнайте, какие навыки нужны и на примере реальной задачи по обучению модели посмотрите, как работает ML-инженер: https://clc.to/erid_2W5zFG1guAp
Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627. erid: 2W5zFG1guAp
Вроде бы уже умеешь работать с данными, строить модели, делать выводы, но при этом не совсем понятно, что именно отличает ML-инженера от аналитика на практике. Какие навыки усиливать, как перестроить свой профиль, чтобы он выглядел не как “человек из data”, а как специалист, способный доводить модели до прода.
На мастер-классе по машинному обучению karpovꓸcourses подробно разбирают, как выглядит реальная роль ML-инженера в компании, какие задачи он решает, как обычно строится карьерный путь и какие шаги помогают быстрее и осознаннее перейти в эту роль, не теряя годы на хаотичное обучение.
Узнайте, какие навыки нужны и на примере реальной задачи по обучению модели посмотрите, как работает ML-инженер: https://clc.to/erid_2W5zFG1guAp
Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627. erid: 2W5zFG1guAp
❤4👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🧱 Миграции без боли: как обновлять БД безопасно и без простоя
Сохраняй себе: в реальных проектах миграции - это не “ALTER TABLE и поехали”, а зона риска.
Один неверный шаг = даунтайм, блокировки и откат вручную.
Правильный принцип:
делай миграции так, чтобы приложение могло пережить оба состояния схемы - до и после изменения.
Рабочая стратегия (2 шага)
1) Сначала добавляй новое, не ломая старое
- добавляй новые колонки/таблицы
- не удаляй и не переименовывай сразу
- не делай NOT NULL без дефолта
2) Потом переключай код
- сначала раскатываешь схему
- потом деплоишь код, который пишет/читает новое
- и только после этого убираешь старое
Это называется “expand → migrate → contract” и это стандарт продакшн-миграций.
Фишки, которые спасают на проде
- всегда делай миграцию идемпотентной (IF EXISTS / IF NOT EXISTS)
- не держи транзакцию долго
- избегай тяжёлых ALTER на больших таблицах
- проверяй количество строк, прежде чем апдейтить
- делай бэкап/дамп перед большим изменением
Сохраняй себе: в реальных проектах миграции - это не “ALTER TABLE и поехали”, а зона риска.
Один неверный шаг = даунтайм, блокировки и откат вручную.
Правильный принцип:
делай миграции так, чтобы приложение могло пережить оба состояния схемы - до и после изменения.
Рабочая стратегия (2 шага)
1) Сначала добавляй новое, не ломая старое
- добавляй новые колонки/таблицы
- не удаляй и не переименовывай сразу
- не делай NOT NULL без дефолта
2) Потом переключай код
- сначала раскатываешь схему
- потом деплоишь код, который пишет/читает новое
- и только после этого убираешь старое
Это называется “expand → migrate → contract” и это стандарт продакшн-миграций.
Фишки, которые спасают на проде
- всегда делай миграцию идемпотентной (IF EXISTS / IF NOT EXISTS)
- не держи транзакцию долго
- избегай тяжёлых ALTER на больших таблицах
- проверяй количество строк, прежде чем апдейтить
- делай бэкап/дамп перед большим изменением
-- safe-migration.sql
-- 1) EXPAND: добавляем новое, не ломая старое
ALTER TABLE users
ADD COLUMN IF NOT EXISTS email_verified BOOLEAN DEFAULT FALSE;
CREATE INDEX IF NOT EXISTS idx_users_email
ON users(email);
-- 2) MIGRATE: переносим данные маленькими шагами (пример)
-- (в реальности делается батчами на больших таблицах)
UPDATE users
SET email_verified = TRUE
WHERE email IS NOT NULL AND email <> '';
-- 3) CONTRACT: удаляем старое только после деплоя кода
-- (делать отдельной миграцией!)
-- ALTER TABLE users DROP COLUMN old_email_flag;
🔥4❤3👍2
Как продакт-менеджеру выжить и вырасти в эпоху AI
Нейросети уже меняют продукты, процессы и требования к продактам. Вопрос не в том, заменит ли AI продакт-менеджеров, а в том, кто научится использовать его быстрее и глубже других.
Центральный университет запускает бесплатные открытые онлайн-уроки «Продуктовый менеджмент в эпоху AI».
Кто будет говорить:
— Ваня Замесин — автор AURA и Advanced JTBD, основатель курса «Как делать продукт»
— Глеб Кудрявцев — ex CPO Skyeng и автор курса «Вайб-кодинг на максималках»
— Илья Красинский — основатель & CEO Rick. ai и продуктового курса Product Heroes.
О чем пойдет речь:
— Какие навыки остаются базовыми для продакта в эпоху нейросетей.
— Что уже сегодня можно делать в 10 раз быстрее с AI.
— Как писать промпты, которые дают качественный результат.
— Почему понимание юнит-экономики остается важным навыком в любую эпоху.
— Зачем продакту вайб-кодинг и как меняется профессия.
Когда: уроки с 28 января по 2 февраля, в 19:00 мск.
Участие полностью бесплатное.
После уроков сможете попасть на интенсив для продакт-менеджеров с возможностью получить грант до 75% на обучение в магистратуре Центрального университета.
Регистрируйтесь уже сейчас!
Нейросети уже меняют продукты, процессы и требования к продактам. Вопрос не в том, заменит ли AI продакт-менеджеров, а в том, кто научится использовать его быстрее и глубже других.
Центральный университет запускает бесплатные открытые онлайн-уроки «Продуктовый менеджмент в эпоху AI».
Кто будет говорить:
— Ваня Замесин — автор AURA и Advanced JTBD, основатель курса «Как делать продукт»
— Глеб Кудрявцев — ex CPO Skyeng и автор курса «Вайб-кодинг на максималках»
— Илья Красинский — основатель & CEO Rick. ai и продуктового курса Product Heroes.
О чем пойдет речь:
— Какие навыки остаются базовыми для продакта в эпоху нейросетей.
— Что уже сегодня можно делать в 10 раз быстрее с AI.
— Как писать промпты, которые дают качественный результат.
— Почему понимание юнит-экономики остается важным навыком в любую эпоху.
— Зачем продакту вайб-кодинг и как меняется профессия.
Когда: уроки с 28 января по 2 февраля, в 19:00 мск.
Участие полностью бесплатное.
После уроков сможете попасть на интенсив для продакт-менеджеров с возможностью получить грант до 75% на обучение в магистратуре Центрального университета.
Регистрируйтесь уже сейчас!
❤1👎1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ ИИ для SQL: пусть он объяснит «почему запрос тормозит»
Профессиональный лайфхак:
не проси ИИ «оптимизировать запрос» вслепую.
Вместо этого — давай ему EXPLAIN / EXPLAIN ANALYZE и структуру таблиц.
ИИ отлично умеет:
- разбирать план выполнения
- находить узкие места (Seq Scan, лишние JOIN, сортировки)
- предлагать индексы и переписывание запроса по факту, а не наугад
Алгоритм простой:
1️⃣ запускаешь EXPLAIN ANALYZE
2️⃣ прикладываешь схему таблиц
3️⃣ спрашиваешь: *где bottleneck и что бы ты поменял?*
Так ты получаешь не магию, а обоснованные рекомендации с пониманием, зачем они нужны.
@sqlhub
Профессиональный лайфхак:
не проси ИИ «оптимизировать запрос» вслепую.
Вместо этого — давай ему EXPLAIN / EXPLAIN ANALYZE и структуру таблиц.
ИИ отлично умеет:
- разбирать план выполнения
- находить узкие места (Seq Scan, лишние JOIN, сортировки)
- предлагать индексы и переписывание запроса по факту, а не наугад
Алгоритм простой:
1️⃣ запускаешь EXPLAIN ANALYZE
2️⃣ прикладываешь схему таблиц
3️⃣ спрашиваешь: *где bottleneck и что бы ты поменял?*
Так ты получаешь не магию, а обоснованные рекомендации с пониманием, зачем они нужны.
пример «правильного» запроса к ИИ с реальными данными
-- запрос
SELECT *
FROM orders o
JOIN customers c ON c.id = o.customer_id
WHERE o.created_at > NOW() - INTERVAL '30 days'
AND c.country = 'US'
ORDER BY o.created_at DESC
LIMIT 100;
-- план выполнения
EXPLAIN ANALYZE
SELECT ...
-- (сюда вставь полный план: Seq Scan / Index Scan / сортировки и т.п.)
-- схема таблиц (важно!)
\d orders
\d customers
-- вопрос ИИ:
"Разбери план выполнения.
Где узкие места?
Нужны ли индексы и какие именно?
Можно ли переписать запрос быстрее, не меняя логику?"
@sqlhub
👍11❤7🔥5👎1🥰1
🚀🐬 Вышел MySQL 8.4.8 (LTS) - что нового
Доступен релиз MySQL 8.4.8 - это ветка Long-Term Support, то есть лучший выбор для продакшена: стабильность, долгий цикл поддержки и предсказуемые обновления.
Ключевые улучшения:
👉 InnoDB Redo Logging
- сообщения об ошибках стали информативнее
- теперь показывают текущий LSN и детали по redo log capacity
=> проще диагностировать проблемы с redo log и производительностью
👉 OpenSSL обновили до 3.0.18
- важное обновление для безопасности и совместимости
👉 Исправления багов и стабильность
- закрыли race conditions в InnoDB
- починили проблемы с очисткой binary logs (binlog purging)
- в целом релиз направлен на надёжность и производительность
Если ты сидишь на MySQL в проде - LTS 8.4.x выглядит как правильный путь обновления.
https://dev.mysql.com/downloads/mysql/
@sqlhub
Доступен релиз MySQL 8.4.8 - это ветка Long-Term Support, то есть лучший выбор для продакшена: стабильность, долгий цикл поддержки и предсказуемые обновления.
Ключевые улучшения:
👉 InnoDB Redo Logging
- сообщения об ошибках стали информативнее
- теперь показывают текущий LSN и детали по redo log capacity
=> проще диагностировать проблемы с redo log и производительностью
👉 OpenSSL обновили до 3.0.18
- важное обновление для безопасности и совместимости
👉 Исправления багов и стабильность
- закрыли race conditions в InnoDB
- починили проблемы с очисткой binary logs (binlog purging)
- в целом релиз направлен на надёжность и производительность
Если ты сидишь на MySQL в проде - LTS 8.4.x выглядит как правильный путь обновления.
https://dev.mysql.com/downloads/mysql/
@sqlhub
👍3❤2🔥1👏1
Что умеет:
- выполнять SQL-запросы прямо по CSV
- фильтровать, агрегировать, делать JOIN’ы
- работать быстро и без “тяжёлых” зависимостей
- подходит для логов, датасетов, ETL-скриптов и ад-hoc анализа
То есть вместо Python-скриптов или импорта в БД —
можно просто кинуть
SELECT по файлу и получить результат.⚡️ Репозиторий: https://github.com/baldimario/cq/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4❤2
This media is not supported in your browser
VIEW IN TELEGRAM
У Postgres давно есть full-text search, но честно - качество ранжирования часто “так себе”.
Если нужен реально удобный поиск по релевантности, обычно приходилось:
- поднимать Elasticsearch
- или подключать Algolia
- и потом вечно мучаться с синхронизацией данных между системами
Проблема не в том, что Postgres не умеет искать текст.
Проблема в том, что стандартный
ts_rank даёт довольно базовое ранжирование и сильно уступает современным поисковикам.Теперь появилась альтернатива.
Команда TigerDatabase выложила в open-source расширение pg_textsearch - оно приносит BM25 ранжирование прямо в Postgres.
Почему BM25 важно:
BM25 - это алгоритм, который лежит в основе Elasticsearch/Lucene и большинства “нормальных” поисковых движков.
То есть это уже проверенный стандарт качества поиска.
Что даёт pg_textsearch:
- BM25 ранжирование с настройками параметров
- очень простой синтаксис:
ORDER BY content <@> 'search terms'- работает с multi-language конфигами Postgres
- хорошо сочетается с
pgvector для hybrid search (keyword + embeddings)Для RAG это прям полезно:
можно делать гибридное извлечение в одной базе (Postgres),
без внешнего Elasticsearch и без лишнего glue-кода.
И всё это - open-source под лицензией PostgreSQL.
https://github.com/timescale/pg_textsearch
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥8❤4
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Timescale выпустил pg-aiguide: практический гайд по ИИ в PostgreSQL
Timescale опубликовал открытый репозиторий pg-aiguide - это собрание лучших практик, примеров и шаблонов по работе с ИИ поверх PostgreSQL (в том числе TimescaleDB).
Что внутри:
- примеры интеграции LLM и AI-функций с БД
- готовые SQL-рецепты и расширения
- семантический поиск и анализ данных
- шаблоны, которые можно сразу использовать в проде
Это не теория, а набор готовых подходов для реальных проектов.
👉 https://github.com/timescale/pg-aiguide
@sqlhub
Timescale опубликовал открытый репозиторий pg-aiguide - это собрание лучших практик, примеров и шаблонов по работе с ИИ поверх PostgreSQL (в том числе TimescaleDB).
Что внутри:
- примеры интеграции LLM и AI-функций с БД
- готовые SQL-рецепты и расширения
- семантический поиск и анализ данных
- шаблоны, которые можно сразу использовать в проде
Это не теория, а набор готовых подходов для реальных проектов.
👉 https://github.com/timescale/pg-aiguide
@sqlhub
❤3🔥2👍1
🛠️ Локальная панель для Cloudflare Workers
Localflare — это инструмент для разработки, который упрощает взаимодействие с вашими ресурсами Cloudflare, такими как D1 базы данных, KV пространства и R2 бакеты. Он предлагает интуитивно понятный интерфейс для визуализации и управления данными в процессе разработки.
🚀 Основные моменты:
- Полнофункциональный SQL-редактор для D1 баз данных
- Удобный браузер для работы с KV парами
- Менеджер файлов для R2 бакетов
- Инспектор очередей для тестирования сообщений
- Работает с любыми фреймворками без настройки
📌 GitHub: https://github.com/rohanprasadofficial/localflare
Localflare — это инструмент для разработки, который упрощает взаимодействие с вашими ресурсами Cloudflare, такими как D1 базы данных, KV пространства и R2 бакеты. Он предлагает интуитивно понятный интерфейс для визуализации и управления данными в процессе разработки.
🚀 Основные моменты:
- Полнофункциональный SQL-редактор для D1 баз данных
- Удобный браузер для работы с KV парами
- Менеджер файлов для R2 бакетов
- Инспектор очередей для тестирования сообщений
- Работает с любыми фреймворками без настройки
📌 GitHub: https://github.com/rohanprasadofficial/localflare
❤3👍1🔥1
🚀 Супербыстрая JSON-библиотека Tachyon v6.0
Tachyon — это высокопроизводительная библиотека JSON на C++20, обеспечивающая скорость парсинга до 4500 MB/s благодаря оптимизациям AVX2 и уникальной архитектуре "Dual-Engine". Она значительно превосходит аналогичные библиотеки, такие как simdjson и nlohmann::json.
🚀 Основные моменты:
- Высокая скорость парсинга до 4500 MB/s
- Поддержка JSON и JSONC с комментариями
- Современный API C++20 с нулевым накладным расходом
- Ленивая индексация и нулевое копирование данных
- Строгая типизация и совместимость с STL
📌 GitHub: https://github.com/wilkolbrzym-coder/Tachyon.JSON
Tachyon — это высокопроизводительная библиотека JSON на C++20, обеспечивающая скорость парсинга до 4500 MB/s благодаря оптимизациям AVX2 и уникальной архитектуре "Dual-Engine". Она значительно превосходит аналогичные библиотеки, такие как simdjson и nlohmann::json.
🚀 Основные моменты:
- Высокая скорость парсинга до 4500 MB/s
- Поддержка JSON и JSONC с комментариями
- Современный API C++20 с нулевым накладным расходом
- Ленивая индексация и нулевое копирование данных
- Строгая типизация и совместимость с STL
📌 GitHub: https://github.com/wilkolbrzym-coder/Tachyon.JSON
🔥5❤2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Отменяем все мемы про дроп базы
😁22👍2🥰2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
✅ ШПАРГАЛКА: Как правильно поднимать БД перед проектом
Главная ошибка новичков - “у всех база разная”.
В итоге миграции ломаются, схема плывёт, на CI одно, у тебя другое, в проде третье.
Правильный старт всегда одинаковый:
1) Поднимай БД через Docker - чтобы у всей команды окружение было идентичным
2) Все параметры (пароль, порт, имя БД) храни в .env
3) Схему меняй ТОЛЬКО через миграции (Flyway/Liquibase/EF/Alembic)
4) Добавь healthcheck - сервис не должен стартовать раньше БД
5) Сделай команды backup/restore - пригодится в любой момент
Так ты гарантируешь:
- у всех одна и та же база
- быстрый старт проекта за 3 минуты
- деплой без сюрпризов
Главная ошибка новичков - “у всех база разная”.
В итоге миграции ломаются, схема плывёт, на CI одно, у тебя другое, в проде третье.
Правильный старт всегда одинаковый:
1) Поднимай БД через Docker - чтобы у всей команды окружение было идентичным
2) Все параметры (пароль, порт, имя БД) храни в .env
3) Схему меняй ТОЛЬКО через миграции (Flyway/Liquibase/EF/Alembic)
4) Добавь healthcheck - сервис не должен стартовать раньше БД
5) Сделай команды backup/restore - пригодится в любой момент
Так ты гарантируешь:
- у всех одна и та же база
- быстрый старт проекта за 3 минуты
- деплой без сюрпризов
1) Создай .env
cat > .env << 'EOF'
POSTGRES_DB=app
POSTGRES_USER=app
POSTGRES_PASSWORD=app123
POSTGRES_PORT=5432
EOF
2) docker-compose.yml для Postgres + healthcheck
cat > docker-compose.yml << 'EOF'
services:
postgres:
image: postgres:16
container_name: app-postgres
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
ports:
- "${POSTGRES_PORT}:5432"
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 5s
timeout: 3s
retries: 20
volumes:
pgdata:
EOF
3) Запуск
docker compose up -d
4) Проверка
docker compose ps
5) Backup
docker exec -t app-postgres pg_dump -U app app > backup.sql
6) Restore
cat backup.sql | docker exec -i app-postgres psql -U app -d app
👍14👎4❤3🔥1😁1
Горизонтальное масштабирование PostgreSQL — проблема, которая неизбежно возникает при работе с большими данными и высокими нагрузками. Когда количество транзакций растёт до миллионов, стандартных возможностей PostgreSQL уже недостаточно: сопровождение усложняется, риски увеличиваются, а вывод новых продуктов замедляется.
Yandex B2B Tech представили Managed SPQR — управляемый сервис горизонтального масштабирования PostgreSQL на платформе Yandex Cloud. Решение позволяет распределять данные между шардами, автоматически балансировать нагрузку и снимать с команд значительную часть операционных задач.
Managed SPQR помогает:
🔴 ускорить разработку и запуск продуктов в 3–4 раза;
🔴 снизить операционные риски и нагрузку на инфраструктуру;
🔴 сэкономить до 15 млн рублей при запуске высоконагруженных сервисов.
Технология уже используется в проектах Яндекса и у внешних компаний, включая финтех и e-commerce.
📅 5 февраля в 12:00 команда Yandex B2B Tech проведёт вебинар, посвящённый запуску public preview сервиса. Участникам расскажут об архитектуре Managed SPQR, автоматической перебалансировке данных, мониторинге и реальных кейсах, а также разберут выбор ключа шардирования.
🔗 Регистрация и подробности — по ссылке.
Yandex B2B Tech представили Managed SPQR — управляемый сервис горизонтального масштабирования PostgreSQL на платформе Yandex Cloud. Решение позволяет распределять данные между шардами, автоматически балансировать нагрузку и снимать с команд значительную часть операционных задач.
Managed SPQR помогает:
Технология уже используется в проектах Яндекса и у внешних компаний, включая финтех и e-commerce.
🔗 Регистрация и подробности — по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🐘 Появился MCP-сервер и плагин для Claude, который буквально «ставит на место» ИИ-ассистентов при работе с PostgreSQL.
Главная боль с нейросетями в SQL - они любят:
писать устаревшие конструкции, игнорировать индексы, путаться в версиях PostgreSQL и галлюцинировать оптимизации, которых не существует.
Этот инструмент решает проблему радикально:
ассистент больше не фантазирует — он опирается на официальные знания и готовые практики.
Что он даёт агентам (Claude Code, Cursor и др.):
— Поиск ответов прямо в официальной документации PostgreSQL с учетом версии (12, 14, 16+). Не абстрактный «SQL из интернета», а то, что реально работает в твоей версии.
— База знаний по экосистеме. Уже встроена документация по TimescaleDB, дальше — другие расширения.
— Готовые проверенные паттерны: проектирование схем, выбор типов данных, ограничения, индексы, перформанс. Агент использует шаблоны лучших практик вместо галлюцинаций.
— Работает как публичный MCP-сервер для разных инструментов или как нативный плагин для Claude Code.
По сути, это слой «инженерного здравого смысла» между моделью и базой данных.
ИИ остаётся умным, но перестаёт быть опасным для продакшена.
Вот это и есть настоящее «прокачивание ассистентов».
https://github.com/timescale/pg-aiguide
@sqlhub
Главная боль с нейросетями в SQL - они любят:
писать устаревшие конструкции, игнорировать индексы, путаться в версиях PostgreSQL и галлюцинировать оптимизации, которых не существует.
Этот инструмент решает проблему радикально:
ассистент больше не фантазирует — он опирается на официальные знания и готовые практики.
Что он даёт агентам (Claude Code, Cursor и др.):
— Поиск ответов прямо в официальной документации PostgreSQL с учетом версии (12, 14, 16+). Не абстрактный «SQL из интернета», а то, что реально работает в твоей версии.
— База знаний по экосистеме. Уже встроена документация по TimescaleDB, дальше — другие расширения.
— Готовые проверенные паттерны: проектирование схем, выбор типов данных, ограничения, индексы, перформанс. Агент использует шаблоны лучших практик вместо галлюцинаций.
— Работает как публичный MCP-сервер для разных инструментов или как нативный плагин для Claude Code.
По сути, это слой «инженерного здравого смысла» между моделью и базой данных.
ИИ остаётся умным, но перестаёт быть опасным для продакшена.
Вот это и есть настоящее «прокачивание ассистентов».
https://github.com/timescale/pg-aiguide
@sqlhub
❤6👍5🔥2
🧠 Вы когда-нибудь рисовал схему БД в тертрадке, а потом часами переносил всё в SQL?
Есть способ быстрее - из диаграммы сразу в продакшен-код.
DrawDB превращает твою ER-диаграмму в SQL:
просто перетаскиваешь таблицы на канвас, связываешь их визуально - и экспортируешь готовый SQL под нужную СУБД.
Что умеет:
- Рисуешь таблицы и связи на визуальном холсте
- Экспортируешь production-ready SQL для:
MySQL, PostgreSQL, SQLite, MariaDB, MSSQL, Oracle
- Без аккаунта и подписок
- Можно мгновенно шарить диаграммы команде
И да - 100% бесплатно и open-source 🔥
📦 Репозиторий: https://github.com/drawdb-io/drawdb
Есть способ быстрее - из диаграммы сразу в продакшен-код.
DrawDB превращает твою ER-диаграмму в SQL:
просто перетаскиваешь таблицы на канвас, связываешь их визуально - и экспортируешь готовый SQL под нужную СУБД.
Что умеет:
- Рисуешь таблицы и связи на визуальном холсте
- Экспортируешь production-ready SQL для:
MySQL, PostgreSQL, SQLite, MariaDB, MSSQL, Oracle
- Без аккаунта и подписок
- Можно мгновенно шарить диаграммы команде
И да - 100% бесплатно и open-source 🔥
📦 Репозиторий: https://github.com/drawdb-io/drawdb
👍13🔥7❤6
Не двигайтесь: вы в ИИ-кадре
Этот бот создает фото для соцсетей в футуристичном стиле. Его можно поставить на аватарку, особенно если идете на t-sync conf. Конференция от Группы «Т-Технологии» для опытных инженеров впервые пройдет в Москве 7 февраля.
Попробовать бота можно здесь. А узнать больше о t-sync conf и зарегистрироваться — здесь
Этот бот создает фото для соцсетей в футуристичном стиле. Его можно поставить на аватарку, особенно если идете на t-sync conf. Конференция от Группы «Т-Технологии» для опытных инженеров впервые пройдет в Москве 7 февраля.
Попробовать бота можно здесь. А узнать больше о t-sync conf и зарегистрироваться — здесь
👎5😁4👍2🔥1
Автор работал над системой, которая выросла с нуля до более чем миллиона пользователей. Без сложных модных архитектур на старте и без преждевременного оверинжиниринга. Только последовательная эволюция под реальные нагрузки.
В начале всё было максимально просто:
Одно приложение - одна база данных.
И этого было достаточно.
Проблемы появились не в коде. Узким местом стала база данных. Архитектура развивалась шаг за шагом, решая конкретные проблемы по мере их появления.
1️⃣ Старт - один основной инстанс
Использовался один primary-инстанс PostgreSQL. Минимум инфраструктуры, низкие расходы и полный фокус на продукте.
Главная мысль этого этапа - не строить "архитектуру уровня Netflix" для проекта с десятками пользователей.
2️⃣ Разделение чтений - Read Replicas
Когда резко вырос read-трафик:
- Primary обрабатывал только записи
- Реплики обрабатывали SELECT-запросы
- Балансировщик распределял чтения
Кодовая база почти не менялась - менялась маршрутизация трафика.
Результат - база перестала быть узким местом из-за чтений.
3️⃣ Проблема соединений - добавление pgBouncer
При росте числа пользователей упёрлись не в CPU, а в количество соединений.
Каждое соединение к базе - это память и ресурсы. Тысячи коннектов начали "душить" систему.
Решение - connection pooling через pgBouncer:
- Меньше реальных соединений к БД
- Выше пропускная способность
- Меньше сбоев под нагрузкой
4️⃣ Масштабирование через кэш
Чтобы выдержать 1M+ пользователей, стало критично не обращаться к базе за каждым запросом.
Добавили Redis как слой кэширования:
- Часто используемые данные отдавались из кэша
- База перестала быть единственной точкой нагрузки
- Задержки заметно снизились
Именно на этом этапе начинается настоящее масштабирование.
Главный урок
На каждом этапе решалась текущая проблема, а не гипотетическая задача будущего.
| Проблема | Решение |
|---------|---------|
| Много чтений | Read Replicas |
| Слишком много соединений | Пул соединений |
| База перегружена запросами | Кэш |
| Сложная инфраструктура | Не добавлялась без реальной необходимости |Приложение существует, чтобы поддерживать бизнес.
Если бизнес-модель не работает, никакое масштабирование не спасёт.
Масштабирование - это не про технологии ради технологий.
Это про внедрение решений в тот момент, когда они действительно нужны.
milanjovanovic.tech/blog/scaling-monoliths-a-practical-guide-for-growing-systems
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥2