Когда я использую отдельную базу данных CouchDB? - PullRequest
12 голосов
/ 04 февраля 2011

Я разрабатываю систему, основанную на CouchDB.Он будет иметь несколько различных компонентов - список пользователей, основное хранилище данных, ведение журналов и т. Д. Я хочу почувствовать, каким должен быть объем базы данных CouchDB?Должен ли я иметь отдельные базы данных для каждого компонента или просто объединить все в одну и использовать свойство 'type' для каждого документа?Я знаю, что отдельные базы данных могут очень сильно увеличиваться в размерах, но влияет ли это на производительность просмотров, если хранить все в одной базе данных, а не разделять базы данных?По сути, каковы компромиссы?

Приветствует всех.

1 Ответ

13 голосов
/ 09 февраля 2011

Хороший вопрос, Дан.

Я думаю, что это в основном проблема оптимизации. Хорошая идея - не оптимизировать (разделить на несколько баз данных) слишком рано. (Единственным исключением могут быть журналы, которые могут быстро доминировать над всеми остальными данными, часто требуя сжатия. Я мог бы сразу разделить журналы.)

Просмотр производительности не будет затронут. В обмен на предварительно определенные запросы (определения определений) CouchDB всегда гарантирует быстрые результаты просмотра.

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

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

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