SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 21.07.2011 12:10:13

lrepenko
Участник
Зарегистрирован: 21.07.2011
Сообщений: 2

Общая база для всех сайтов или для каждого отдельная - что лучше?

Привет всем! Возник вопрос для продвинутых, поэтому обращаюсь на ваш форум!)
Поддерживаю несколько сайтов на ModX, у каждого сайта 39 таблиц с контентом, настройками и т.д.

Какой способ лучше с точки зрения быстродействия -

1) все 39 * n таблиц держать в одной базе?

2) создать для каждого сайта отдельную базу?

Сейчас использую первый способ, так как это упрощает мне бэкап, и проще интегрировать сайты между собой.
Что посоветуете,  оставить как есть (вар. 1) или все же лучше вар. 2?
Меня интересует, прежде всего, сравнение производительности этих двух способов. Если вообще есть какая-то разница.

Заранее спасибо всем за ответы!

Неактивен

 

#2 21.07.2011 13:54:11

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Общая база для всех сайтов или для каждого отдельная - что лучше?

lrepenko написал:

Меня интересует, прежде всего, сравнение производительности этих двух способов.

Практической разницы нет.

lrepenko написал:

Если вообще есть какая-то разница.

Разница в удобствах, тут уже всё зависит от ситуации. Обычно ничем не связанные сайты делят на базы, так удобней в случае расширяемости ...
Так же деление на базы даёт более удобный контроль привилегий, то есть безопасность.

Неактивен

 

#3 21.07.2011 14:11:55

lrepenko
Участник
Зарегистрирован: 21.07.2011
Сообщений: 2

Re: Общая база для всех сайтов или для каждого отдельная - что лучше?

evgeny, спасибо за ответ! Это как раз то, что меня интересовало. Если нет разницы в производительности - хорошо, тогда оставлю вар. 1, который и сейчас использую.
Дело в том, что их контент частично пересекается (они тематически связаны и принадлежат одной компании), поэтому держать все в одной базе оказалось удобно. Например, можно собирать заказы сразу со всех сайтов в одной базе, или создавать пересекающиеся разделы на разных сайтах.
Риск, конечно, присутствует (взломают один сайт = взломают сразу все), но ежедневный бэкап, надеюсь, избавит от проблем в этом случае.
Спасибо еще раз!)

Неактивен

 

#4 21.07.2011 15:25:51

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Общая база для всех сайтов или для каждого отдельная - что лучше?

Все верно - разница такая же, как хранить файлы в одной директории или в разных. Добавлю, что MySQL не запрещает делать JOIN таблицам из разных баз SELECT * FROM db1.table1 JOIN db2.table2. При хранении в одной базе, использование префикса дает практически идентичный запрос.

Неактивен

 

#5 21.07.2011 17:14:02

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Общая база для всех сайтов или для каждого отдельная - что лучше?

(взломают один сайт = взломают сразу все)

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

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson