Выбор ответа Senior Офлайн и синхронизация обновлено

CRDT для совместного редактирования

Вопрос

Почему для офлайн-редактирования одной заметки на нескольких устройствах рассматривают CRDT?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: CRDT позволяют применять изменения в любом порядке и сходиться к одному состоянию без арбитра. Conflict-free replicated data types спроектированы так, что операции коммутативны: устройства обмениваются изменениями в любом порядке и приходят к одинаковому результату.

Варианты ответа

  1. CRDT шифруют изменения при синхронизации, поэтому сервер не видит содержимое заметки
  2. CRDT позволяют применять изменения в любом порядке и сходиться к одному состоянию без арбитраправильный ответ
  3. CRDT уменьшают размер базы, храня только последнюю версию заметки вместо истории изменений
  4. CRDT нужны только для числовых счётчиков, а текст заметки синхронизируют через LWW по времени

Разбор

Conflict-free replicated data types спроектированы так, что операции коммутативны: устройства обмениваются изменениями в любом порядке и приходят к одинаковому результату. Это решает конфликты в списках и тексте без потерь, но ценой сложности и роста метаданных. Готовые библиотеки (Automerge, Yjs) используют в редакторах. Шифрование и размер базы к CRDT не относятся.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.