Как работает планирование потоковой книги Data Artisans - PullRequest
0 голосов
/ 04 сентября 2018

Я прочитал технический документ, но о Data Artisans Streaming Ledger, но обнаружил, что он содержит только общий обзор использования фреймворка.

Я искал более подробное объяснение или исследовательский документ, который объясняет, как планирование транзакций с несколькими ключами выполняется внутри и как используются логические часы для обеспечения согласованности.

Кто-нибудь знает, где я могу найти более подробную информацию по этому вопросу?

1 Ответ

0 голосов
/ 09 октября 2018

Хорошо, так это то, что я нашел до сих пор 1- транзакция должна быть детерминированной, это означает, что значение, которое она записывает, зависит только от значения, которое она читает, ей не разрешено читать время настенного времени или генерировать случайное число ... 2 - чтобы поставить транзакцию в очередь на выполнение, вам необходимо определить полный набор ключей, которые будут считываться и записываться; ключ, к которому будет произведено прикосновение, не может динамически зависеть от значения, прочитанного во время выполнения транзакции.

Таким образом, как только транзакция будет поставлена ​​в очередь, все разделы будут обрабатывать ее в том же порядке относительно другой транзакции (транзакции заказа находятся в очереди), и все работники, ответственные за часть ключа, касающегося этой транзакции, могут быть определены статически.

Как только все эти работники достигают этой позиции транзакции в очереди, они сначала выполняют всю операцию чтения и отправляют прочитанное значение всем работникам, которые выполнят хотя бы одну запись. Затем все работники, которые отвечают за хотя бы одну запись, готовят запись локально и сообщают, следует ли откат транзакции всем другим узлам. Если все узлы согласны зафиксировать все рабочие, то передайте локально подготовленные записи.

...