Если транзакция (А-Б), то либо выполнить А и Б или ничего.
Нормально завершенная транзакция сохраняет согласованность базы данных.
Во время выполнения транзакции параллельные транзакции не должны оказывать влияние на ее результат.
Если пользователь получил подтверждение от системы, что транзакция выполнена, он может быть уверен, что сделанные им изменения не будут отменены из-за какого-либо сбоя.
Механизм обеспечения одновременного кокурентного доступа к базе данных, заключающийся в предоставлении каждому пользователю "снимка" базы данных, обладающего тем свойством, что вносимые изменения в базе данныъ невидимы другим пользователям до момента фиксации транзакции.
Этот способ управления позволяет добиться того, что пишущие транзакции не блокируют читающих, и читающие транзакции не блокируют пишущих.
В любой реализации распределенных вычислений возможно обеспечить не более двух из трех следующих свойств:
Во всех вычислительных узлах в один момент времени данные не противоречат друг другу.
Любой запрос к распределнной системе завершается корректным откликом.
Расщепление распределенной системы на несколько изолированных секций не приводит к некорректности отклика от каждой из секций. Иначе говоря - система работает в расчете на случаи произвольной потери пакетов внутри сети.
Требование Partition tolerance является данностью для распределенных СУБД.
В соответствии с CAP-теоремой мы будем иметь задержку появления информации на слейве.
Вообще не читаем данные и обновляем с помощью JS.
Делаем отдельный тип запросов. После записи читаем с мастера.
Базовый принцип: данные, которые в дальнейшем потребуются вместе, так же должны храниться вместе.
Разбиение больших таблиц на логические части по выбранным критериям.
В высоконагруженных системах храним данные не как нам удобно хранить, а как нам удобно их отдавать :)