Comments 8
Было бы интересно увидеть ссылки на какой-нибудь софт, построенный по описанным принципам, в частности на базы данных. Или ещё ничего production ready не появилось?
У меня даже нагуглить упомянутый в конце статьи DaRWiN не получилось.
У меня даже нагуглить упомянутый в конце статьи DaRWiN не получилось.
+2
В отличие от git, CRDT структуры данных всегда можно помержить автоматически. В остальном же, git — очень хороший пример для объяснения свойств CRDT хранилищНасколько я понял, CRDT — это тип-полурешетка. Если рассматривать предмет версионирования, рабочую директорию, то она относительно мержа не является полурешеткой из-за конфликтов слияния. Можно ли рассматривать сам репозиторий (только не git, а какой-нибудь патчевой СКВ, где конфликтное состояние является возможным состоянием) как CRDT относительно операции pull/push?
Что можно почитать насчёт того, как избегается проблема конфликтов в RON?
0
Насколько я понял, CRDT — это тип-полурешетка.
Полурешётка — один из видов CRDT, есть и другие.
Можно ли рассматривать сам репозиторий (только не git, а какой-нибудь патчевой СКВ, где конфликтное состояние является возможным состоянием) как CRDT относительно операции pull/push?
Гит можно, но только относительно fetch и fast-forward.
+1
В RON конфликты избегаются так же, как и в остальных CRDT — конфликтов просто нет.
Шучу, это непросто. Суть бесконфликтности в том, чтобы разрешить только такие операции, которые не вызывают конфликтов (при доставке в произвольном порядке). Придумывать такие структуры тяжело. Зато их можно легко комбинировать, вкладывать друг в друга, объединять в структуры.
Шучу, это непросто. Суть бесконфликтности в том, чтобы разрешить только такие операции, которые не вызывают конфликтов (при доставке в произвольном порядке). Придумывать такие структуры тяжело. Зато их можно легко комбинировать, вкладывать друг в друга, объединять в структуры.
+1
Sign up to leave a comment.
CRDT, RON и Сети Данных