Многоузловой CMS - База данных для каждого сайта или ОДНА база данных для всех сайтов?

при получении таблицы от набора данных

if(  ds != null &&
     ds.tables != null &&
     dt.tables.Count > 0 &&
     ds.tables[0] != null &&
     ds.tables[0].Rows > 0 )
{

    //use the row;
}
6
задан user145586 5 September 2009 в 18:15
поделиться

5 ответов

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

Что касается формата баз данных, XML точно не входит в их число. Попробуйте, например, использовать MySQL или Postgree.

3
ответ дан 17 December 2019 в 02:31
поделиться

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

Но если ваша CMS имеет много уровней детальной конфигурации, много функций и возможностей, потенциально может иметь большой набор данных для хранения. Я рекомендую отдельную базу данных для каждого экземпляра.

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

Если вы используете технологии Microsoft, у вас нет особого выбора для базы данных, MSSQL, вероятно, единственный выбор, вы можете выбрать SQL Express, но он не идеален для крупных сайтов.

На самом деле существует множество CMS с открытым исходным кодом, даже если вы хотите выбрать CMS на базе технологии Microsoft, вы можете попробовать их в первую очередь, чтобы получить представление о своем дизайне.

удачи.

2
ответ дан 17 December 2019 в 02:31
поделиться

Почему вам нужно, чтобы он был на нескольких экземплярах? Они работают с одними и теми же данными? ЕСЛИ это так, вы можете настроить каждый экземпляр с собственной базой данных (msSQL, mySQL и т. Д.) И использовать веб-службы для обмена данными между ними. Это было бы наиболее "слабосвязанное" решение :)

0
ответ дан 17 December 2019 в 02:31
поделиться

Один из вариантов - использовать мультитенантное приложение с одним экземпляром и базу данных.

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

В качестве варианта можно разместить базу данных в облаке Microsoft Cloud «SQl Azure». http://www.microsoft.com/azure/sql.mspx

0
ответ дан 17 December 2019 в 02:31
поделиться

Поскольку вы работаете с .NET, вы можете серьезно взглянуть на SaaSGrid (к сведению - я работаю в Apprenda). Вы просто пишете приложение, как если бы оно было для одного клиента, но после развертывания SaaSGrid преобразует приложение в действительно многопользовательское SaaS-предложение. Таким образом, ваш вопрос о модели данных фактически становится вариантом конфигурации времени развертывания, а не основным решением во время разработки. Также есть масса других преимуществ, но, чтобы не звучать как реклама, я оставлю это как есть :-).

Также, вот хорошая техническая статья о мультитенантности:

http://msdn.microsoft.com/en-us/library/aa479086.aspx

Надеюсь, это поможет.

  • Джесси
]
1
ответ дан 17 December 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: