@Fadey001

Отдельная база данных для каждого пользователя?

Есть задумка написать приложение но вот данные, которые будет вносить пользователь, должны быть отделены от других пользователей. В связи с этим вопрос:
Создавать для каждого пользователя отдельную БД и структуру таблиц или создавать например таблицы с User ID?
Как бы вы это реализовали?

UPD
Спасибо за ответы. Но хотелось бы услышать по чему не стоит использовать много баз данных? Я думал сделать основную бд приложения с таблицей юзеров и хранить в ней имена БД для каждого юзера. Так не делается?
  • Вопрос задан
  • 6462 просмотра
Решения вопроса 1
Спасибо за ответы. Но хотелось бы услышать по чему не стоит использовать много баз данных? Я думал сделать основную бд приложения с таблицей юзеров и хранить в ней имена БД для каждого юзера. Так не делается?

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

У меня кстати подобная задача стоит. Имеется open-source проект типа личного информационного хранилища. Сейчас пользователь сам должен развертывать его на своем хостинге, а хочется предоставить еще такое развертывание на моем сервере в качестве услуги, но чтобы он в любой момент мог сделать dump своих данных и перенести их в любое другое место. Так как у меня большого количества не предвидится, то я видимо предварительно буду создавать несколько пустых БД ( давать права скриптам на создание БД что-то не хочется), а затем уже буду автоматически подключать их по необходимости. Типа мини-хостинг MySQL для каждого, но с общим кодом.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
kawabanga
@kawabanga
конечно в одной базе хранить пользователей.
Ответ написан
Комментировать
@Souvel1
Web-программист. Разрабатываю на WordPress.
Ну конечно это не разумно делать базу данных одну, гораздо лучше делать одну базу данных и в ней таблицу с пользователями одну, но если нужно отделить информацию, то несколько таблиц и привязку делай по ID юзера
Ответ написан
Комментировать
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
На примере:
У меня маленький мультипользовательский блогодвижок.
Одна база данных, но почему-то закрытые для всех посты видят только их автора и те, кому видеть эти посты разрешено.

Да, это одна база данных с парой таблиц - блогпосты и аккаунты.
Или вы думаете, что у меня по тысяче таблиц/баз на каждого пользователя?
советую посмотреть в сторону man select from table where ....
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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