Посмотрите недавний доклад по CRDT, там реализация может быть и на sql. В конце видео есть ссылка на пример приложения.
https://youtu.be/DEcwa68f-jYО, огромное спасибо за ссылку на доклад, очень интересно! Сам потратил много времени на такую задачу, но уволился так до конца и не решив ее :).
В докладе, все же, рассамтривается вариант когда все данные пренадлежат одному пользвоателю и только он их и меняет.
Как только мы добавляем еще одного пользователя, да еще с ролями, да еще и с кейсом когда пользователи получили данные в разное время и, соотвественно, с разным состоянием, и каждый обновлял их исходя из имеющейся у него информации, то такой кейс может разрешить только бизнес :). Поэтому и говорю что все зависит от сложности и от того кто имеет право менять данные.
Интересно что стандартная структура таблицы заменена некую таблицу с метаданными, что, по сути лишает нас возможностией sql, виде классических индексов и join'ов, но, в общем-то все зависит от количества данных, а чем в дакладе и говорится.