Я создал это веб-приложение (php & mysql), которое хранит информацию для различных организаций (в настоящее время около 20 клиентов).
В текущем сценарии информация о клиенте хранится в отдельных базах данных, поэтому имеется 20 клиентских баз данных и 1 основная база данных.
Одним из основных преимуществ здесь является то, что, поскольку каждая клиентская база данных изолирована, нумерация клиентских артефактов (отчетов, аудитов) и т. Д. Упорядочена; давая нашим клиентам чувство безопасности.
Каждая БД имеет примерно 15 таблиц, и большинство строк в таблице составляют около 2000. Ожидается, что это будет максимум до 5000 записей.
Управление одним изменением уровня базы данных означает изменение 20 баз данных, но в редких случаях, когда мне нужно внести такое изменение, я использую скрипт, который делает это в одном вызове функции.
Мы заключили соглашение о совместном хостинге, и наш провайдер предоставляет нам ограниченное количество. баз данных; и вот что заставило меня задуматься о централизации базы данных; так что ВСЕ данные клиента могут быть сохранены в базе данных master.
Конечно, возникают некоторые важные проблемы:
а. Сохранение последовательности артефактов (это можно устранить путем создания дополнительного ссылочного ключа) b. Скорость и производительность (в этом случае я могу создавать индексы, чтобы ускорить процесс) c. Безопасность: это будет управляться как каждый запрос, который выбирает информацию о клиенте. также будет отслеживать их client_id
В будущем нам может потребоваться сравнить наборы данных одной организации с другой, но я считаю, что этого можно добиться и на централизованной базе данных. Я несколько склонен (по соображениям производительности и удобства обслуживания) перейти на централизованную базу данных.
Считаете ли вы, что переход на централизованную базу данных имеет больше смысла, чем пребывание на прежнем уровне (в отдельных базах данных)?
Спасибо за ваш совет.