2013-02-21 3 views
0

Это из-за другого вопроса. Я думаю, на это должен ответить метеоритный коллектив, потому что я пока не могу найти прямой ответ.Meteor -MongoDB - Одиночная база данных или несколько баз данных для SaaS, предлагающих

«Мы решили использовать MongoDB для создания SaaS, которое мы создаем. Каждая компания, подписавшаяся, получает свой собственный url (mycompany.domain.com) и свой собственный набор пользователей, проектов и т. Д. Поскольку мы используем решение NoSQL и не должны управлять выталкиванием обновлений схемы в каждую базу данных, как мы бы с MySQL, мне интересно, было бы лучше иметь одну огромную базу данных, содержащую все данные, или иметь одна база данных на каждого клиента ...»

Таким образом, я могу иметь с метеора ПОДХОД (с одним метеорного проекта/сервер): 1) Different Url для каждой компании 2) Различные базы данных (в том же сервере monodb) для каждой компании и для конкретных пользователей компании.

ответ

5

Если вы посмотрите на собственный хостинг метеор, они используют сервер mongodb от MongoHQ. Вы можете использовать несколько метеоритных серверов с одним сервером mongodb и несколькими базами данных.

Я думаю, что это больше зависит от дизайна ваших приложений, Meteor может использовать любой дизайн.

1) Вы можете использовать функции публикации, чтобы предоставить каждому клиенту только свои собственные записи из одной огромной БД, использовать способ, чтобы получить HTTP-хост субдомена в функцию публикации, чтобы он выдавал только данные для этого набора ,

2) Используйте отдельные экземпляры метеоров, подключающиеся к их собственной базе данных mongodb на одном сервере, и используйте какой-то прокси-сервер для их подключения к подобластям. Вы можете подталкивать каждый из них с любыми данными, которые вы хотели бы, даже, возможно, с отдельными наборами приложений.

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

Преимущество использования отдельных метеорных экземпляров в первую очередь заключается в настройке. Его очень трудно получить суть того, что вы хотите, с подробностями, которые вы указали, так что не потрудились: если вы хотите, чтобы каждый клиент был очень другим, используйте 2), в противном случае используйте 1)

Если вы смотрите на хостинг Meteor.com. Я думаю, что каждому развертыванию предоставляется собственная база данных, основная причина: настройка, развертывание каждого варианта, вероятно, будет совершенно иным.

UPDATE:

По состоянию на март 2014 года, есть третья сторона atmosphere package meteor-dbproxy, что позволяет использовать несколько серверов MongoDB (а также отдельные конечные точки oplog интеграции) в вашем внутреннем интерфейсе, что позволяет вам дб уровня песочнице мульти -tenancy.

0

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

Таким образом, если один из ваших клиентов забивает систему, они не влияют на ваших других клиентов с помощью глобальной блокировки.

+0

Как настроить метатер для использования нескольких баз данных? –

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