如何存储组织数据(组织数据域):每个都在单独的实例中或在一个共同的实例中?

时间:2014-01-14 03:40:42

标签: .net database oracle database-design saas

Out公司希望启动新的SaaS项目。项目的目的是管理仓库中的组织资源。与其他常规SaaS系统一样,客户应该有能力注册他的公司(为其创建帐户)并立即开始使用系统。

近似要素:

  1. 将项目添加到仓库
  2. 更改仓库中的项目
  3. 删除仓库中的项目
  4. 添加新类别的项目
  5. 更改类别
  6. 删除类别
  7. 添加新仓库(一个组织可能有许多仓库)等。
  8. 假设存储在DB中的大量数据。 RDMBS是Oracle。

    一个团队成员建议为每个注册的客户端使用单独的数据库实例。他认为这种方式有助于摆脱这种情况,然后一个巨大的注册客户端(使用这个SaaS系统的ogranization)将对数据库造成巨大负担,从而扰乱其他(小)客户端。

    此外,我们计划将来能够根据请求将大客户的数据移动到位于其自己的数据中心的专用服务器。

    在我看来,为每个客户使用单独的实例是错误的和冗余的。

    那么,如何限制客户将服务器资源用于某些配额?

    我们使用的技术:.net 4(C#),Oracle,Windows服务器。

    希望得到您的帮助和建议! 非常感谢!


    修改

    问题被标记为"太宽泛"在这里我的澄清:

    1. 问题的主要问题是,当只有一个(基本)连接到DB时,我们如何为不同用户组织资源使用配额?
    2. 如何通过他的请求轻松地将客户数据(表格数据的一部分与他相关的内容)迁移到另一台服务器?

1 个答案:

答案 0 :(得分:2)

使用多个实例不是硬件的有效使用,并且会增加管理开销。即使您的同事正在设想使用大型虚拟机,也是如此。

更好的解决方案是拥有一个实例并使用资源管理来设置消费限制。 Oracle的资源管理器允许我们提出一些非常复杂的分配计划。 Find out more