2012-04-19 3 views
4

Извините, я не мог придумать более описательное название: у нас есть проблема с обновлением просмотров couchDB, так как они недоступны, в то время как документ doc переиндексируется. Это единственное решение, позволяющее просмотреть устаревшие представления?couchDB просмотров недоступно при обновлении

В одном сценарии имеется несколько узлов couchDB, которые реплицируются друг с другом. Обновление представления в одном приведет к тому, что все узлы couchDB будут переиндексировать проект doc. Невозможно ли обновить представление на одном узле и затем реплицировать результат? Я предполагаю, что проблема заключается в том, что новые документы могут быть вставлены в другие узлы, в то время как они переиндексируются.

В другом сценарии у нас есть несколько узлов couchDB, которые считываются/записываются и реплицируются друг с другом. Для веб-приложений есть еще один кластер с узлами couchDB только для чтения ... они не реплицируются, а реплицируются из пула чтения/записи. Решением здесь может быть удаление узла из кластера, обновление представления и ожидание его переопределения. Однако не будет ли этот узел отсутствовать какие-либо документы, созданные во время переиндексации? Возможно ли, чтобы он продолжал получать вставки документов во время переиндексации?

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

ответ

4

Приятно слышать, что у вас есть успех с CouchDB.

Предлагаю вам использовать staging-and-upgrade technique, описанные в вики. Это требует небольшой подготовки к работе, однако, как только вы ее работаете, она работает очень хорошо без каких-либо усилий человека.

Смежные вопросы