Транзакции эффективны для предотвращения двойной затраты?


f22c585b

free btc
Транзакции эффективны для предотвращения двойной затраты?
Здравствуйте, при разработки биржи криптовалют чтобы а не использовал (транзакции, блокировка транзакций, nonce) мне кажется, что всё же что не так. Как я понимаю транзакции в MySQL с PDO::beginTransaction() это только метод для исправной работы групи запросов то есть, если хотя бы один запрос не прошел успешно, то все запросы отменяются. Но разве транзакции достаточно для предотвращения двойной траты? Или например кода одновременно несколько пользователей хотят совершить обмен валют, нужно использовать транзакцию? Или также нужно блокировать таблицу. Думаю стоит каждый ордер, каждый депозит и вывод средства "написать" в отдельной строке и не полагаться на баланс, который мы обновляем и редактируем каждым запросом. но этот метод занимает много места, времени и ресурсов. Но с другой старани транзакции и блокировка таблиц тоже потребляет много ресурсов и времени. Как же быть?)



Ответы:

Jurijus Zaksas
В финансовых программах кроме транзакций также широко используются рукопожатия - почитай про них. Кроме обеспечения целостности транзакций они также вводят необходимое журналирование. Также я бы посоветовал тебе немного углубиться в тему микроэкономики и перестать использовать самопальную терминологию, которую по очевидным причинам никто кроме тебя не понимает. Что касается ресурсов, то в современном мире это не проблема совершенно.