Как синхронизировать документы по дизайну между базами данных пользователей - PullRequest
2 голосов
/ 11 июля 2019

Я создаю приложение, например, todoapp.

Особенности:

  1. Offline-first (couchdb + pouchdb)
  2. Многопользовательский

Опции CouchDB: require_valid_user, couch_peruser.

Хорошо, у каждого пользователя есть личная база данных.Но как я могу проверить документы на post / put?

design / validate_doc_update должен быть у каждого пользователя db (userdb- {hex}).

Как я могу разместить его там и иногда обновлятьвсе сразу?Синхронизация?Третий дб / репликация?Как я могу копировать на все userdbs?

1 Ответ

1 голос
/ 11 июля 2019

У вас есть три основных варианта, которые очень похожи:

  1. Настройка непрерывной репликации между базой данных прототипа и базой данных каждого пользователя. Для большого количества пользователей и низкой частоты обновлений это может привести к большим накладным расходам при небольшом выигрыше.

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

  3. Попросите ваше приложение обновлять проектные документы каждый раз, когда они меняются, для каждой пользовательской базы данных. Это своего рода опция ручной синхронизации.

Какой вариант вы выберете, действительно зависит от вас и является вопросом компромисса.

Если вы когда-нибудь захотите обновить только часть пользователей (скажем, группу бета-тестирования), то лучшим вариантом будут варианты 2 или 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...