Должен ли я действительно поместить все свои различные типы данных в одну базу данных? - PullRequest
3 голосов
/ 23 августа 2011

Цитата из Руководство CouchDB :

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

IЯ точно в такой ситуации.С той разницей, что для меня это относится не только к MapReduce, но и ко всей концепции базы данных schemafree'ish ...;)

Могу ли я действительно свободно помещать все свои данные вта же база данных, независимо от того, насколько они различны (пользователи, сеансы и т. д.)?Поскольку представления работают на уровне базы данных, я понимаю, что должен (нужен?).

PS: я знаю, что это довольно неопределенный вопрос, и это зависит от конкретных потребностей ...:)

1 Ответ

3 голосов
/ 24 августа 2011

Для создания прототипов, изучения CouchDB или других проектов на ранних стадиях я предлагаю хранить все в одной базе данных.Будь проще.Сосредоточьтесь на создании программного обеспечения.

По мере развития вашего проекта будет очевидно, когда расширяться до большего количества баз данных.

Если пользователи вашего приложения будут подключаться непосредственно к CouchDB, есть два соображения:

  1. Учетные записи пользователей уже находятся в отдельной базе данных под названием _users.CouchDB использует это для подтверждения паролей и обработки аутентификации
  2. Контроль доступа (в частности, разрешение на чтение данных) контролируется на уровне базы данных.Пользователи могут читать базу данных либо полностью, либо вообще не читать.Когда ваше приложение начинает хранить личные данные на пользователя, это хорошая ситуация для создания нескольких баз данных.

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

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