Data Science. SQL hub
35.9K subscribers
1.02K photos
71 videos
37 files
1.06K links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo
Download Telegram
🧠 Вы когда-нибудь рисовал схему БД в тертрадке, а потом часами переносил всё в SQL?

Есть способ быстрее - из диаграммы сразу в продакшен-код.

DrawDB превращает твою ER-диаграмму в SQL:
просто перетаскиваешь таблицы на канвас, связываешь их визуально - и экспортируешь готовый SQL под нужную СУБД.

Что умеет:
- Рисуешь таблицы и связи на визуальном холсте
- Экспортируешь production-ready SQL для:
MySQL, PostgreSQL, SQLite, MariaDB, MSSQL, Oracle
- Без аккаунта и подписок
- Можно мгновенно шарить диаграммы команде

И да - 100% бесплатно и open-source 🔥

📦 Репозиторий: https://github.com/drawdb-io/drawdb
👍14🔥76
Не двигайтесь: вы в ИИ-кадре

Этот бот создает фото для соцсетей в футуристичном стиле. Его можно поставить на аватарку, особенно если идете на t-sync conf. Конференция от Группы «Т-Технологии» для опытных инженеров впервые пройдет в Москве 7 февраля.

Попробовать бота можно здесь. А узнать больше о t-sync conf и зарегистрироваться — здесь
👎5😁4👍2🔥1
Теперь можно ничем не беспокоиться
😁47👍4
⚡️ Масштабирование до 1 000 000 пользователей - практичный подход с PostgreSQL

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

В начале всё было максимально просто:

Одно приложение - одна база данных.
И этого было достаточно.

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

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
👍32🔥2