2013-02-05 72 views
1

我想用4个默认表设计一个云业务解决方案,用户可以添加自定义字段(Column?)或添加自定义对象(Table?)。将多个逻辑数据库存储在一个物理数据库中

我首先想到的是为每个帐户建立一个新的数据库,但有一个限制在一个SQL Server实例的数据库数量,

第二个解决方案:对于每个帐户通过复制4代默认表用于创建一个新的模式每个模式。

第三种解决方案:创建具有判别列(ACCOUNT_ID)的4个唯一表,如果用户想要一个新字段,则添加一个专用于该ACCOUNT_ID的连接表,如果他想要一个新对象,则创建一个新表。

你的想法是什么?任何机构是否知道现有云解决方案如何存储数据? (例如salesforce)

顺便说一句,我不想​​为每个帐户创建一个虚拟机。

+2

那么,你可能会问SQLFiddle是如何工作的。 。 。并在这里解释(http://sqlfiddle.com/about.html#howWorks)。 –

+3

这里有一篇关于可能的多租户体系结构的有趣文章:http://msdn.microsoft.com/en-us/library/aa479086.aspx如果您正在着手这类项目,将会非常有用。 – John

+1

我喜欢架构解决方案,因为它可以很容易地将特定用户的锁定权限授予特定架构,并且很容易根据某个业务实体变量动态编写查询逻辑。 –

回答

0

非常感谢您的建议,这对我提供了很多帮助,尤其是John提出的微软文章。由于几个体系结构点之间共享帐户(4个默认表只是对用户的建议,我期望完全自定义),因此我选择了没有EAV模式的每个帐户设计的模式。

相关问题