долго думал и самостоятельно по задаче мгновенного выведения балансов. И пришел к еще одному решению пока хорошо не продуманному.
Берем транзакцию. Считаем баланс на текущий момент. Пишем и данные транзакции и баланс текущий и хеш этого всего. Затем идет вторая транзакция. Смотрим просто на баланс последней. Выполняем операцию, пишем транзакцию, баланс предыдущей-баланс текущей + формируем новый хеш из хеша предыдущей транзакции+данных текущей транзакции. Типа как блокчейн чтоли. При этом чтобы по цепочке можно было в случае необходимости "размотать" клубок хешей. Если у какого-то пользователя что-то не сойдется, то мы его блокнем. Не подскажете, не сталкивались с чем-то подобным? Я не думаю что я первый кто хочет из последней или нескольких последних транзакций быть уверенным в том что баланс этого пользователя просчитан верно, чтобы не считать постоянно все его транзакции для выведения баланса.
Без подколов - почитай тюториал какой-нибудь по базам данных, чтобы понимать что означает термин транзакция в мире СУБД и обязательно по то что такое уровни изоляции!
Обсуждают сегодня