Распределенная транзакция схема

Федор Сигаев: Тут мы даже не очень привлекали двухфазный коммит, т.е. двухфазный коммит усложняет ситуацию с беготней, но на самом деле вы все равно оставляете «дырку», во время которой у вас одна база уже коммит приняла, а вторая – нет. Предположим, что на узле А хранится таблица T1, содержащая 200 строк, на узле В – таблица T2, содержащая 300 строк, и запрос требует соединения этих таблиц. Предполагается, что все кусочки данных (vbucket’ы) хранятся на репликасетах с автофейловером (кластерах Stolon’а). Термин репликасет позаимствован у MongoDB. Шардинг, или распределение данных по репликасетам.

Для уменьшения влияния подобных ситуаций на сеть существуют ограничения на распоряжение только что полученными биткойнами. Firebird вообще не имеет ни журнала изменений, ни сегмента отката, а реализует MVCC, записывая новые версии строк таблиц прямо в активное пространство данных. Она выполняет все триггера, она проверяет constraint и т.д. После этого, если эти команды прошли, то база данных обещает, что коммит пройдет всегда, т.е. что бы ни случилось, даже при потере питания. Согласно сервису , до мая 2015 года максимальная длина отвергнутых цепочек была 5 блоков[12]. Необходимое число подтверждений для разблокирования полученного зависит от программы-клиента либо от указаний принимающей стороны. Есть следующие решения этой проблемы:Отказаться от identity и генерить Id действия так, чтобы новый Id в большинстве случаев оказывался между двумя существующими. После выхода из метода выполнение транзакции будет возобновлено.
Долговечность (durability). После завершения транзакции сделанные ею изменения становятся постоянными и доступными для выполняемых в дальнейшем операций. Примечание: Хочу поблагодарить gridem, sum3rman и gliush за активное участие в обсуждении поднятых в данном посте вопросов. Минусом является то, что для него нужно использовать two-phase commit, который дает приличный оверхед, но над уменьшением оверхеда, над неким облегченным двухфазным коммитом для этого подхода мы тоже работаем.

Похожие записи: