2015-12-18 5 views
0

Я планирую построить, который увидит, что у каждого из моих пользователей есть своя база данных, то есть один db на офис, причем каждый офис имеет около 5 пользователей в среднем. Я хочу отдельные базы данных по многим причинам, особенно переносимости и резервного копирования.Обновление procs и просмотров во всех базах данных

Каждый дБ будет иметь одинаковую структуру. Будут задействованы некоторые крупные процессы, и наша бизнес-модель обещает непрерывное совершенствование. Имея это в виду, как я могу обновлять procs и представления в каждой базе данных каждый раз, когда мы выпускаем новую версию или функцию?

Технология PHP и MySQL в Google App Engine. Я читал о утилите mysqldbcopy, но мне интересно, есть ли лучший способ или я должен отправить все мои скрипты через вызовы php mysqli. ИЛИ могу ли я каким-то образом запустить мои procs, по крайней мере, из основной базы данных с именами клиентов db в качестве переменной?

Я потерян.

+0

Я бы не использовал несколько баз данных. Нет причин иметь отдельную базу данных для каждого офиса с 5 пользователями для каждого. Резервное копирование не является реальной причиной такого подхода. Вы можете сделать резервную копию в одной базе данных, которую я нахожу более простой. Что вы подразумеваете под переносимостью? –

+0

Под «переносимостью» я имею в виду, что вы легко перемещаетесь в размещенную среду или копируете для обучения или тестирования. – Warren

ответ

0

Это слишком долго для комментария.

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

Типичный подход заключается в том, чтобы сделать каждую базу данных автономной. Он будет содержать все хранимые процедуры, функции, таблицы, триггеры и т. Д., Которые необходимы приложению. То есть, нет «основной» базы данных.

Если вы думаете о наличии «основной» базы данных, вы можете подумать о сохранении всех данных там, в первую очередь.

+0

Согласитесь со всем этим. Поэтому мне все равно нужно найти способ обновить все sbs. – Warren

+0

@Warren. , , У вас может быть «основная» база данных, содержащая весь ваш код, включая хранимые процедуры для копирования соответствующего кода в другие базы данных. Вы будете делать свою разработку в этой базе данных, но код, выполняемый для каждого клиента, будет поступать из их базы данных. –

+0

Привет, Гордон - это, возможно, мой лучший вариант. Моя проблема/вопрос в том, как я нажимаю этот код на другие dbs или как я запускаю код с именем db клиента как переменной в ценах master db? – Warren

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