Перейти к основному содержимому

ADR-0004: PostgreSQL Как OLTP Source Of Truth

Статус

Accepted

Контекст

Нужны ACID транзакции для денег, KYC, identity, платежей, игровых callbacks и административных действий. Платформа стартует как monorepo и может использовать общий PostgreSQL кластер, но сервисы должны владеть своими схемами и миграциями.

Решение

PostgreSQL используется как основная OLTP БД. Каждый сервис имеет свой DbContext, миграции и логическую схему. Cross-service foreign keys запрещены. Межсервисные связи выражаются через ids, owner APIs и события.

Для финансовых таблиц применяются строгие constraints, уникальные idempotency keys, optimistic concurrency и append-only ledger tables.