Каков наилучший способ оптимизации массивной базы данных CouchDB? - PullRequest
0 голосов
/ 05 июля 2018

У меня есть экземпляр CouchDB, работающий на AWS (m4.large EC2 на CentOS), размер которого превышает 75 ГБ и постоянно растет. Я столкнулся с проблемами при изменении и индексации представлений в этой базе данных, что занимает почти 2 дня.

Какие стратегии оптимизации доступны для меня, чтобы убедиться, что:

  1. Повторную индексацию после изменения вида карты можно уменьшить больше эффективно
  2. Извлечение из вида уменьшения карты может быть выполнено быстрее (с пользовательская функция уменьшения на месте)

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

1 Ответ

0 голосов
/ 05 июля 2018

Поскольку у вас такая большая база данных, для переиндексации представлений при смене одного из них требуется время, это не так быстро, как при работе с меньшей базой данных. Теперь, когда я сказал это, вот решение для # 1.

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

Редактировать: Ссылки CouchDB Views Intro -> Это обзор документации по CouchDB Views. Я прочитал и перечитал эту страницу несколько раз и всегда находил что-то новое каждый раз. Я предлагаю прочитать его несколько раз, чтобы быть уверенным.

CouchDB One против нескольких проектных документов -> Та же страница, но вы попадете в раздел о моем ответе выше. Пожалуйста, прочитайте его, и я надеюсь, что это поможет.

Я не знаю, как обратиться к №2, извините.

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