我对使用hibernate作为提供者和SQLServer作为数据库来实现多租户解决方案很感兴趣。我使用基于模式的方法,这意味着一个数据库和不同的模式。,并注意到不同数据库的模式概念是不同的。我还知道使用以下查询的模拟概念:EXECUTE AS USER = $user。模拟允许一个用户模拟另一个用户,这使更改当前用户成为可能。根据定义,切换当前用户允许切换执行模式,因为一旦更改了用户,执行模
我们的软件目前在MySQL上运行。所有租户的数据都存储在相同的模式中。因为我们使用的是Ruby on Rails,所以我们可以很容易地确定哪些数据属于哪个租户。到目前为止,我已经看到了三种选择:
Multi-Database (每个租户都有自己的模式-几乎等同于每个customer)Multi-Schema有一个服务器(在MySQL中不可用,每个租户在一个共享的database)Shared模式中都