Один пользователь на базу данных против одного пользователя для всех баз данных
Я работаю над приложением SaaS, которое использует одну БД на клиентскую модель. Он также имеет общую базу данных "учетные записи", где хранится некоторая базовая информация об учетной записи, а также обеспечивает функциональность входа в систему.
Мой вопрос-стоит ли создавать нового пользователя базы данных для каждой клиентской базы данных, которая имеет разрешения только на эту базу данных, или один пользователь базы данных с доступом ко всем клиентским базам данных имеет больше смысла (т. е. "account_%
.*")?
3 ответа:
Я бы создал новые базы данных, но это зависит. В основном все, что плавает на вашей лодке:)
Одна база данных на пользователя:
+ безопасность проще
+ асинхронные параллельные запросы (если ваш сервер может их обрабатывать)
- немного тяжелее на дискеОдна база данных:
+ один файл для обработки вместо связки (если это даже+)
+ немного больше пространства эффективно
- медленно, когда данные достигают больших объемов
- отсутствие одновременных соединений, что означает тяжелый sql-запрос от одного пользователя будет Дос все остальные
Легко подумать о создании всех этих баз данных.
Но также, Пожалуйста, подумайте о том, как вы собираетесь поддерживать их все в долгосрочной перспективе .
- вам нужно будет запустить свою базу данных скрипты на все возрастающем количестве из баз данных?
- при добавлении новой клиентской базы данных у вас будет запускаться скрипт, который будет постоянно обновляться.
Я не говорю, что нельзя создавать несколько баз данных. Я просто предлагаю тебе подумать. относительно последствий.