Одна БД или несколько?

dfkmxj

Разрабатывается некий SaaS-сервис для компаний. Для работы сервиса требуется порядка 20 таблиц в БД (MySQL). Тут возникает вопрос: имеет ли смысл под каждую компанию использовать собственную БД или лучше помещать данные всех компаний в одни и те же таблицы и в части запросов джойнить номер компании?
Плюсы отдельных БД в том, что сокращается время запросов (т.к. выборка идет по меньшему числу данных невозможен ошибочный запрос, когда данные одной компании будут доступны другой. Но.
Xостера с возможностью создания достаточно большого (хотя бы 500) количества создаваемых БД я не нашел, а дорогие решения пока не по карману.
Есть ли еще неучтенные факторы? Как посоветуете поступить?

kokoc88

Тут возникает вопрос: имеет ли смысл под каждую компанию использовать собственную БД или лучше помещать данные всех компаний в одни и те же таблицы и в части запросов джойнить номер компании?
Создавай таблицы с суффиксами для каждой компании. Получится что-то типа http://en.wikipedia.org/wiki/Sharding

tokuchu

Используйте PostgeSQL. Там в одной БД можно "сколько угодно" схем завести. На этом фоне всякие ограничения на число БД в mysql выглядят просто убого.

state7401281

> Создавай таблицы с суффиксами для каждой компании
вроде с префиксами удобнее

la_jazz

Есть ли еще неучтенные факторы?
Если базы для каждой компании - что будешь делать когда нужно будет собрать данные из нескольких компаний? Писать Union'ы? Для каждого запроса?
Оставить комментарий
Имя или ник:
Комментарий: