我想在合同管理系统上创建一个新项目。在这里,我必须管理多个组织,并希望在saas环境中为每个组织动态地在sql server中创建新实例。这怎么可能?我正在使用asp.net进行开发。任何帮助将不胜感激。
答案 0 :(得分:0)
真正的SaaS应用程序只有一个应用程序和数据库。它有能力让多个租户使用该应用程序。数据库中的所有数据都需要知道它所属的租户。
例如,如果您有预订系统:您的客户注册使用该软件并成为客户表中带有ID的行。进行预订时,它将customerID列作为customer表的外键。然后,使用客户ID为该租户完成所有报告,预订视图等。然后,您作为服务提供商可以为您自己的目的运行所有客户/租户的报告。多个租户可以使用该系统,并且他们的所有数据都在同一组表中。这意味着当您需要群集复制备份等时,它是一个单独的数据库,以及一个用于模式更新的迁移。
上查看这些wiki这当然需要您的数据库架构(和您的应用程序)支持这一点 - 如果您无法更改架构,那么根据您使用的技术,有许多选项可用于启动新数据库。如果您首先使用代码EF,那么您将可以使用数据库创建和迁移脚本。否则它可能只是一个sql脚本,你必须生成,然后每次需要新客户时维护和运行它。就个人而言,我宁愿拥有一个具有适当架构的数据库。