10 недооцененных возможностей PostgreSQL для бэкенд-разработчиков
Х@habr_com8 ч
Обзор функционала PostgreSQL, который позволяет упростить архитектуру бэкенда и отказаться от лишних внешних сервисов.
PostgreSQL для бэкендера: 10 фич, которыми мало пользуются, а зря
В PostgreSQL уже хранятся пользователи, заказы и платежи, а потом стек начинает расти сам собой, когда рядом появляются Redis для очереди задач, отдельный Python-скрипт для дедупликации событий, Go-цикл, который считает интервалы между статусами заказа, свой поисковик вместо простого поиска по тексту и самодельная таблица locks для координации воркеров. Большая часть этой инфраструктуры дублирует то, что PostgreSQL умеет делать сам, причём атомарно, транзакционно и с индексами, без лишней сетевой болтовни между приложением и базой.
Механизм, который снимает необходимость в отдельном брокере задач, живёт в PostgreSQL ещё с версии 9.5, просто про него редко вспоминают. Та же история с оконными функциями, полнотекстовым поиском и блокировками на уровне базы, где задачи, ради которых обычно поднимают отдельный сервис, часто закрываются прямо в таблице.
Обсудим, сколько из этой цепочки сервисов держится просто на привычке.
Кратко (AI)
Автор статьи призывает бэкенд-разработчиков пересмотреть использование дополнительных инструментов, таких как Redis или отдельные скрипты, в пользу встроенных возможностей PostgreSQL. Утверждается, что многие задачи по управлению очередями, поиску и блокировкам можно эффективно решать средствами самой СУБД.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖