Почему БД не должна использовать активно-активную репликацию, когда она использует слабый контроль параллелизма? - PullRequest
0 голосов
/ 22 января 2020

Я просто читаю Что на самом деле нового с новым SQL? . Одно из утверждений в документе выглядит следующим образом:

Большинство новых СУБД SQL реализуют этот [активно-пассивный] подход, поскольку они используют недетерминированную c схему управления параллелизмом. Это означает, что они не могут отправлять запросы к репликам, когда они поступают на мастер, потому что они могут выполняться в разных порядках на репликах, и состояние баз данных будет отличаться на каждой реплике. Это связано с тем, что порядок их выполнения зависит от нескольких факторов, в том числе от задержек в сети, задержек кэша и перекоса тактовой частоты.

Какая связь между репликацией и управлением параллелизмом (cc) ?

Насколько я понимаю cc, вы пытаетесь разрешить одновременные транзакции. Для этого вы используете такие вещи, как MV CC, 2PL или Порядок отметок времени (TO) . Я думаю, что вроде как получил точку выше, с TO, но не с двумя другими (в TO координатор транзакций (T C) может переупорядочивать транзакции). Тем не менее, если у нас есть центральный T C, почему порядок транзакций имеет значение?

...