PostgreSQL
10 способов достижения HighLoad'а и BigData на ровном месте
- Масштабирование
- Бизнес хочет хранить данные за все время
- EAV упрощает проектирование
- ORM упрощает разработку
- Главное зло в PostgreSQL - autovacuum
- JOIN это зло - они медленные
- Давайте изобретем Slony
- У меня в тесте все работает
- Be smart, as a java-developer
- Приятные мелочи
31.05.2025
xrghhg8krd62aA roadmap to scaling Postgres
Способы скалировать посгрес. От простых к сложным.
31.05.2025
r25udi159c5szDatabase First! О распространённых ошибках использования РСУБД
31.05.2025
225kidyqoun2dDon't Do This
Список worst practice для PostgreSQL.
Основные пункты:
- Никогда не использовать
BETWEEN
- Никогда не использовать
NOT IN
- Никогда не использовать
timestamp
без таймзоны. Безопасно использовать толькоtimestamptz
- Не рекомендуется использовать
serial
31.05.2025
kzrnp493fes0fExplain PostgreSQL
Чуть более удобный explain analyze.
31.05.2025
uxraf9wm918euFaster PostgreSQL Counting
Count(*)
vsCount(1)
одинаковые- Если хочется иметь быстрый каунт для всей таблички, можно завести доп табличку и триггером ее обновлять
- Можно брать эстимейты из посгресовых данных (данные планировщика)
- Можно эстимейтить по TABLESAMPLE
- Ещё есть вот такая статья, но его ещё нет в PostgreSQL
31.05.2025
n3oslsl5o3t1fNoSQL Best Practices for PostgreSQL
31.05.2025
ul12fsgy2zp5mOptimizing Postgres table layout for maximum efficiency
Как порядок колонок в посгресе влияет на объем данных, и следовательно на производительность. С примерами как дебажить, жаль без готового тулинга который бы указал “идеальный” порядок
31.05.2025
2d4y0bgzypuv2Optimizing Postgres's Autovacuum for High-Churn Tables
Статья про оптимизацию авто вакума и блоатинга.
31.05.2025
11yqi82cv9wmzParadeDB
Postgres for Search and Analytics
31.05.2025
e8zv97lqjlaxnpg_mooncake: Postgres Data Warehouse, built on Iceberg
Postgres Data Warehouse, built on Iceberg.
31.05.2025
4fa9q529i21depgmq: A lightweight message queue. Like AWS SQS and RSMQ but on Postgres.
A lightweight message queue. Like AWS SQS and RSMQ but on Postgres. - pgmq/pgmq
31.05.2025
ezgha7xk5r2ahpgroll
PostgreSQL zero-downtime migrations made easy
Мигратор схемы для postgresql. Пишут, что zero downtime, но я внутри не смотрел почему это так.
31.05.2025
3qxh40ramrzsaPostgres Highload Checklist
Разгрузить базу:
- Оптимальный SQL
- Правильные настройки
- Все лишние операции - на приложение
- Меньше коннектов
- Транзакции покороче
- Грамотное использование реплик
- Секционирование таблиц
- Асинхронная обработка
Разделить базу:
- Шардинг уровня БД
- Шардинг уровня приложения
- Разделить систему
31.05.2025
5q46dsvjnqs9fPostgres Version Report
Список изменений в PostgreSQL после выбранной версии. Вводишь результат команды version()
, и тебе вываливают список из CVE, багов, перформанс улучшений и фичей базы/SQL, которые были добавлены с тех пор. Сравнивать две разных версии (например, у тебя 13, а ты хочешь обновиться на 14, а не на самую новую) нельзя.
31.05.2025
hjhkfizikjvw9Postgres vs Mongo
31.05.2025
xjjlydr54v0gsPostgreSQL UUIDv7
Спецификация уникальных идентификаторов UUIDv7 для ключей баз данных и распределенных систем по новому стандарту RFC9562
31.05.2025
oscotmb90mr6vPostgreSQL WORST practices
- Никогда не используйте индексы
- Чем больше
count(*)
, тем лучше - Используйте ORM
- JOIN’ам в базе не место
- Будь модным, будь schema-less
- Будь гибким, используй EAV
- Чем больше индексов создать, тем лучше
- Даже если вы решили настроить backup своей базы…
- Первым делом выключите autovacuum
- Никогда не архивируйте старые данные
- Переизобретите Slony
- Мастер и реплика должны жить на разном железе
- Синхронную реплику - в другой ДЦ
- Никогда не используйте Foreign Keys
- Самый правильный тип данных это text
- Всегда используйте “улучшенную” версию PostgreSQL
- PostgreSQL любит длинные транзакции
- Код надо писать, читать его не обязательно!
- Есть проблемы с PostgreSQL?
- Любые проблемы можно решить при помощи контейнеров
- Которые не решаются - решаем с помощью облаков
- Оптимизация запросов - прошлый век
- Переизобретать не только Slony
- Никогда не используйте exceptions
- Приложению не хватает соединений с базой?
- Выставляем
max_connections
в 1000 - Никогда не используйте pgbouncer
- Выставляем
- Вместо pgbouncer используйте pgpool
- Всегда начинайте настраивать PostgreSQL
- Новая классная фича? Сразу в продакшн
- Никогда не используйте графический мониторинг
- Загружайте данные в PostgreSQL изощренно
31.05.2025
ime8mw6dzsef8PostgreSQL: практические примеры оптимизации SQL-запросов
31.05.2025
9idkz19rnkyw5