2012-03-09 6 views
1

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

Я создаю веб-приложение (asp.net) с базой данных (sql server express, max 10gb db size).

Это приложение управляет объектами, но субъекты связаны со странами, одна страна - многими субъектами.

Прежде всего, я не могу предсказать, как будет расти дБ. Это личный/хобби-проект, который я делаю в свое свободное время.

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

  • Размер баз данных будет меньше, поэтому у меня не будет проблем с размером, начиная с SQL Server Express.
  • Опять, размер db. Так как это меньше по стране, производительность будет лучше.
  • Может выполнять задачи обслуживания (резервное копирование, развертывание) в низкий пиковый период для каждой страны.
  • В случае различных законов об охране данных в каждой стране я могу адаптировать каждый дБ к конкретному закону.
  • Индивидуальный поиск текста по стране. Это не проблема, потому что я думаю, что я мог бы создать представление в разных странах и сделать текстовый поиск этого представления.

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

  • обслуживание будет проще. Только одна база данных означает делать что-то только один раз.
  • Нет избыточного кода. Я использую хранимые процедуры для большого количества этого веб-приложения. Одно изменение нужно будет опубликовать только один раз в производстве.

God! запись плюсов каждой альтернативы, кажется, делает несколько баз данных победителем! Кажется, что одна база данных для ленивых людей ...

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

ответ

4

Я бы выбрал 1 базу данных.

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

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

+0

Мне нравится ваш ответ. Даже наличие 10 стран с 10 дБ станет немного больно. Это может быть облегчено с помощью скриптов db sincrhonization. –

+0

Ответ принят: –

+0

Ваша конфигурация персистентности приложений также будет огромной. – digitebs

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