从单个数据库/单一模式数据库体系结构开始,用于多租户

时间:2013-10-29 10:58:43

标签: sql-server database azure-sql-database scaling multi-tenant

我已经做了很多关于哪种架构数据库方法最好的研究,最后,我更喜欢单独的数据库方法。但是,大多数托管服务提供商对此都不满意(采用Azure,限制为150 MB)。

我现在的想法是,从一个数据库/单一架构开始,在每列中使用租户ID来分隔数据,然后当它变得太大/太慢时,寻找缩放选项。

这是个坏主意吗?我应该保持数据从一开始就分开吗?只要我确认我正在呼叫/检索的数据属于主叫客户,我觉得安全明智并不重要。

此外,如果只使用一个大型数据库,那么以后是不是可以更容易扩展,因为它反对拥有5000个小型数据库?

谢谢!

1 个答案:

答案 0 :(得分:0)

对于云托管,我认为单个多租户数据库是可行的方法。

我之前遇到过同样的问题,并且每个租户选择了一个数据库,因为我们的客户希望保留在他们的服务器上托管数据库的选项。由于我们在多个服务器上有一个代码库和许多数据库,因此我们必须推出同步解决方案以确保所有架构保持不变。

我们在存储过程中也有一些业务逻辑,并且必须找到一种方法来区分具有全局逻辑的过程和具有该数据库特定逻辑的过程。

它有效,但很尴尬,我希望我们可以使用单个数据库

无论如何,就像在每种方式之前所说的有利有弊,你只需要决定什么是最重要的,并解决这些问题