【问题标题】:Running several database instances on a single SQL Azure database在单个 SQL Azure 数据库上运行多个数据库实例
【发布时间】:2017-03-07 02:16:34
【问题描述】:

我正在运行 3 个 Web 应用程序(针对不同的客户),每个应用程序都运行一个单独的数据库实例。两个应用程序需要一个存储空间小于 2GB 的数据库,第三个应用程序需要大约 10GB 的存储空间。

查看SQL Azure database plans,前两个我可以使用“基本”计划,但第三个我需要获得标准 S0。这为我提供了高达 250GB 的存储空间,这留下了很多多余的容量。有没有一种方法可以将 S0 数据库用于我的其他两个应用程序,同时仍然维护单独的逻辑数据库实例?

【问题讨论】:

  • 这听起来根本不像是一个编程问题。
  • 不,你不能这样做。数据库受天蓝色 DTU 的限制,所以你必须先看看这个因素
  • @TheGameiswar 我看不到 DTU 的相关性。问题是关于在单个数据库中创建多个逻辑数据库。

标签: azure azure-sql-database


【解决方案1】:

【讨论】:

  • 弹性池可能无法完全解决问题。弹性池中的所有数据库都具有相同的大小。他们之间共享的是 eDTU。更大的数据库并不一定意味着更多的数据库负载。
  • 您可以对池中的数据库设置单独的限制
  • 你能分享一个链接吗?
【解决方案2】:

这不是严格意义上的编程问题,但它会影响您连接到数据库的方式。您可以使用另一个答案引用的elastic pool。另一种选择是为每个应用程序创建一个表,并只为 S0 中的每个应用程序登录授予适用表的权限。甚至可能还有其他方法可以解决这个问题——比如row level security

确实,您正在考虑从单租户模式迁移到多租户模型:here's a resource that examines this for SaaS built on SQL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-21
    • 2020-02-28
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    相关资源
    最近更新 更多