2016-02-04 8 views
0

Я архивирую базу данных для хранения тысяч пользователей с помощью CouchDB. Нам необходимо синхронизировать данные между серверной БД и БД устройства. [couchDB < -> pouchDB]Имеет ли CouchDB ограничения при настройке на сотни-тысячи реплик?

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

Это означает, что если мы хотим 1000 пользователей, нам нужно 1000 реплик, настроенных для couchDB на стороне сервера. Просто интересно, будет ли это подталкивать пределы Couch, или если оно находится в пределах его разработанных возможностей. Или могут быть какие-либо недостатки производительности при таком подходе?

Благодаря

+0

Есть ли причина, почему каждый пользователь не может иметь собственную базу данных? Если каждый пользователь должен видеть только собственные данные, это будет лучшей стратегией. – Kerr

+0

Да, это один из подходов, которые мы могли бы предпринять. Однако мы будем иметь серверную базу данных и базу данных на устройстве. Там все равно нужно будет тиражировать. Если для этого пользователя на сервере изменен документ, ему потребуется синхронизация с устройством. Если документ изменен на устройстве, нам нужно будет синхронизировать его с сервером. Я думаю, что моменты, которые я делаю, это то, что репликация должна проходить независимо. Имеет ли это смысл? – sidewaiise

ответ

0

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

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

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

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

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