2017-02-22 80 views
0

Есть ли способ реплицировать все базы данных из CouchDB за один раз?CouchDB 2.0 множественные репликации

Пример: У меня есть несколько БД

  • пользователей
  • изделия
  • групп

Каждая БД содержит кратные уникальные документы, и вместо репликации каждой БД независимо друг от друга Я хотел бы чтобы воспроизвести их все.

Кроме того, я видел, что CouchDB 2.0 разрешает репликацию БД, даже если у вас нет доступа к админу, это нормально?

С наилучшими пожеланиями Sim

ответ

0

Это может иметь смысл поместить все типы документов в ту же базу данных, так что вы можете скопировать все документы сразу. Это обычная практика, чтобы использовать свойство type различать между различными типами:

{ 
    "_id": "org.couchdb.user:bob", 
    "type": "user", 
    "name": "bob" 
}, 
{ 
    "_id": "article.2017-12-16T15:30:00.000Z", 
    "type": "article", 
    "title": "About Replication", 
    "text": "Replication rocks!" 
} 

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

+0

Да я использовал «тип», чтобы дифференцировать, но как только вы начинаете иметь много типов документов (которые включают в себя множество просмотров), каждый добавленный в базу данных документ включает в себя индексирование каждого проектного представления. Этот процесс переиндексации может быть проблематичным, если вы хотите масштабировать. –

+0

Возможно, имеет смысл разбить базы данных на «группы репликации», если вы обеспокоены скоростью переиндексации. Если вы предоставите более подробную информацию о своем конкретном случае использования, я могу попытаться помочь с более конкретным ответом. Прямо сейчас я мог видеть только 3 типа, которые не кажутся очень изменчивыми (пользователи, группы и статьи). –

+0

Да, пример выше не мой реальный прецедент. У меня есть базы данных с множественными значениями. Каждая база данных содержит только один тип данных (пользователь, статьи, ...). Мой вопрос: какой лучший способ реплицировать каждый БД. Или, может быть, я должен вернуться к шаблону типа. –

0

подход может быть один децибел для каждого пользователя и создание опытного менеджера DBS внутренней репликации, фильтр по типу от всех БД пользователей