我们应该将 SQL Server 分区用于多租户数据库设计吗?

mik*_*era 5 sql-server

我的组织正在创建一个多租户数据架构,以支持对多个不同客户端上传的数据进行分析。数据库是 Microsoft SQL Server。

有人建议通过客户端 ID 对数据库进行分区可能是管理数据量的好方法(随着时间的推移,数据量可能相当可观,肯定有数十亿行)

这是一个好主意吗?为什么或者为什么不?

SQL*_*tar 6

管理数据量的方法有很多,但这里没有真正描述的是您想要的最终结果。是性能吗?是可管理性吗?安全吗?是可扩展性吗?随着时间的推移,您是否有能力快速轻松地添加新客户?

当您说“管理数据量”时,我认为您正在寻求以允许良好性能的方式管理数据。这让我想到了分区,但我对数据的了解不足以说这是正确的做法。按客户端 ID 分区可能没问题,但如果您有数千个客户端,这可能不是正确的选择。

我认为你应该找到你想要解决的真正痛点,然后寻找解决方案来减轻这些痛点。


gbn*_*gbn 4

就我个人而言,我会考虑每个客户的模式

这意味着每个客户端都有单独的表和安全性。这意味着如果需要的话可以使用单独的磁盘。

我在这里没有看到分区有多大优势