CouchDB управление данными и производительность репликации документов, совместно используемых несколькими пользователями - PullRequest
0 голосов
/ 22 октября 2018

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

В эту услугу также входит приложение, которое использует pouchdb для работы даже в автономном режиме.

Каждая группа - это документ, в котором хранятся данные и разрешения пользователей в этой группе.Идентификатор группы затем добавляется к ролям пользователей, чтобы его можно было использовать для фильтрации репликации данных в приложении.

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

Что касается организации документов, то существует одна БД, в которой есть обадокументы групп, которые добавляют все другие типы информации, которую добавляют пользователи (4-5 различных типов документов), потому что в противном случае было бы невозможно сделать один запрос на репликацию для восстановления данных из приложения, но я узнаючто это идет вразрез с хорошими практиками couchdb, и его будет очень сложно поддерживать по мере роста данных.

Поэтому я хотел бы знать, существует ли способ эффективно отделить эти данные, не теряя возможности запустить одну репликацию изприложение.

Чтобы лучше понять, я приведу два примера, которые я исключил:

  1. один дБ на пользователя:

    • , в которомБД должны идти общие данные в группе?
    • приложение должно выполнить репликацию, один дляr каждый пользователь, у которого есть общие данные, которые вошедший в систему пользователь должен получить
  2. один дБ на группу:

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

или существует способ выполнить репликациюиз нескольких дбс?

Спасибо !!

Алекс.

...