题
HI那里,
我必须让我的应用程序兼容SAAS实现。对于多租户,我是分割数据的事情,每个分区将是一个房客。这种划分将动态完成。
有没有人做过这样的事情? 你认为什么更好的办法呢?
我使用SQL 2005
此致 DEE
解决方案
有是每个分区方案1000个分区的限制,只能在单场分区,所以如果你打算多租户超过1000个实例,你将不得不通过更多的跳火圈。您可以通过使用多分区表的顶部分区视图扩展了极限,但是这增加了管理开销。您可以使用动态管理视图,并创建自己的自动化系统,生成每个客户/租户新的分区和管理的问题,但它会针对你的应用,而不是通用的。
目前有在SQL Server没有自动动态分区,它在相对于SQL Azure的未来路线图的PDC09被提及,但我没有为SQL Server听到它。
您可以替代的选择是一个数据库或每个客户端SQL实例,有对这种方法的好处是你给自己更多的机会进行扩展,如果需要出现,如果你开始寻找更大的数据中心,您可以启动跨服务器等的农场平衡SQL实例如果您自动拥有在一个数据库中的所有数据。
其他要考虑到:
安全性:虽然你在分区的单一数据库中的数据,你有没有数据保护。你的风险暴露一个客户端的数据到另一个非常平凡与代码中的任何一个错误。
升级:如果所有的客户端访问同一个数据库,那么升级将是一个全有或全无的方式 - 你将无法轻松一些用户迁移到新版本,而保留其他,因为他们是
备份:可以让每个分区占据一个单独的文件组,并尝试控制情况。开箱即用这么说的,每个客户端的备份混为一谈。如果一个客户端请求回滚到一个给定的数据,你必须事先仔细规划,可以执行,而不会影响系统的其他用户。
不隶属于 StackOverflow