Оптимистичный подход: читаем данные, изменяем, сохраняем с проверкой что данные не изменились. С pg: UPDATE items SET data = $1, version = version + 1 WHERE id = $2 AND version = $3 RETURNING *. Если вернул 0 строк — conflict, retry. С Prisma нет встроенной поддержки, делаем через $executeRaw или проверку updatedAt. В высоконагруженных системах оптимистичные блокировки лучше пессимистичных (FOR UPDATE) — меньше ждём блокировки. Счётчик версий в каждой обновляемой таблице — стандартный паттерн.
Как реализовать оптимистичные обновления через базу данных?
Senior
206 просмотровAFK Offer AI
Как реализовать Transform Stream в Node.js?