Разработка базы данных CMS - основная база данных или Multi-Db на сайт - PullRequest
1 голос
/ 20 июля 2010

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

Как вы думаете, лучше всего создать 1 главную базу данных для всех сайтов моих клиентов? или я должен иметь 1 базу данных на сайт?

Каковы преимущества и недостатки обоих подходов? Я всегда думаю о будущем, поэтому я думал о внедрении кеша memcache или APC в проект, чтобы предложить опцию моему клиенту.

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

Ответы [ 3 ]

2 голосов
/ 20 июля 2010

Я запускаю оба. Мой бизнес предпочитает разделять специфичные для клиента данные в отдельные таблицы, чтобы, если случится, что они испортятся, не все будут уничтожены. В идеальном мире это может никогда не произойти, но закон Мерфи ... Кажется, очень легко найти вещи с ними отделенными. Вы будете знать со 100% уверенностью, что контент одного клиента никогда не будет отображаться на странице другого.

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

2 голосов
/ 20 июля 2010

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

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

1 голос
/ 20 июля 2010

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

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