Es una base de datos multiinquilino:
- ¿Un servidor de base de datos que tiene una base de datos / esquema (idéntico) diferente para cada cliente / inquilino ?; o
- ¿Un servidor de base de datos que tiene una base de datos / esquema donde los clientes / inquilinos comparten registros dentro de las mismas tablas?
Por ejemplo, en la Opción # 1 anterior, podría tener un servidor MySQL en, digamos mydb01.example.com, y podría tener una customer1base de datos dentro de él. Esta customer1base de datos puede tener, por ejemplo, 10 tablas que potencian mi aplicación para ese cliente en particular (Cliente # 1). También podría tener una customer2base de datos con exactamente las mismas 10 tablas, pero que solo contenga datos para el Cliente # 2. Puede tener una customer3base de datos, una customer4base de datos, etc.
En la Opción # 2 anterior, solo habría una única base de datos / esquema, digamos myapp_db, nuevamente con 10 tablas (las mismas que las anteriores). Pero aquí, los datos de todos los clientes existen dentro de esas 10 tablas y, por lo tanto, "comparten" las tablas. Y en la capa de aplicación, la lógica y el control de seguridad a los que los clientes tienen acceso a qué registros en esas 10 tablas, y se tiene mucho cuidado para garantizar que el Cliente # 1 nunca inicie sesión en la aplicación y vea los datos del Cliente # 3, etc.
¿Cuál de estos paradigmas constituye un DB tradicional "multiinquilino"? Y si ninguno de los dos, ¿alguien puede darme un ejemplo (usando los escenarios descritos anteriormente) de lo que es un DB multiinquilino?