Я должен разделить данные между несколькими базами данных или сохранить их в единственном?

Я создаю многопользовательское веб-приложение / веб-приложение компании в PHP & MySQL. Мне интересно знать то, что лучшая практика относительно структурирования моей базы (баз) данных.

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

В настоящее время база данных содержит 14 таблиц (для одной демонстрационной компании).

Лучше поместить данные для всех компаний и их пользователей в единой базе данных и создать уникальный companyID для каждого?

или:

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

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

Спасибо,

Stephen

5
задан Gruber 31 October 2014 в 14:41
поделиться

3 ответа

Если одно веб-приложение используется всеми разными компаниями, кроме у вас есть очень конкретная потребность или причина использовать отдельные базы данных (это не похоже на вас), тогда вам обязательно следует использовать одну базу данных.

Ваше приложение будет отвечать только за отображение правильной информации для правильных аутентифицированных пользователей.

7
ответ дан 18 December 2019 в 11:57
поделиться

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

Тысячи пользователей и тысячи приложений не должны создавать никаких проблем, пока вы используете что-то, что является настоящая база данных, а не Access или что-то в этом роде.

3
ответ дан 18 December 2019 в 11:57
поделиться

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

2
ответ дан 18 December 2019 в 11:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: