Является ли многопользовательская база данных:
- Сервер БД, который имеет разные (идентичные) базы данных / схемы для каждого клиента / арендатора ?; или
- Сервер БД с базой данных / схемой, в которой клиенты / арендаторы обмениваются записями внутри одних и тех же таблиц?
Например, в варианте 1 выше, я мог бы иметь сервер MySQL, скажем mydb01.example.com
, и он мог бы иметь customer1
базу данных внутри него. Эта customer1
база данных может иметь, скажем, 10 таблиц, которые служат моим приложением для данного конкретного клиента (Клиент № 1). В ней также может быть customer2
база данных с теми же 10 таблицами, но содержащая только данные для клиента №2. Это может быть customer3
база данных, customer4
база данных и так далее.
В варианте № 2, выше, будет только одна база данных / схема, скажем myapp_db
, снова с 10 таблицами в ней (те же, что и выше). Но здесь данные для всех клиентов находятся внутри этих 10 таблиц, и поэтому они «разделяют» таблицы. И на уровне приложений, логика и контроль безопасности, к которым клиенты имеют доступ, к каким записям в этих 10 таблицах, и большое внимание уделяется тому, чтобы Клиент № 1 никогда не заходил в приложение и не видел данные Клиента № 3 и т. Д.
Какая из этих парадигм представляет собой традиционную многопользовательскую базу данных? И если нет, то кто-то может предоставить мне пример (используя сценарии, описанные выше), что такое многопользовательская БД?