每个租户的数据库托管建议(高可扩展性)
Database per tenant hosting advice (high scalability)
我们目前正在生成一个 Web 应用程序,其中包含每个租户逻辑的数据库。我们当前的数据库设置全部托管在具有一个实例免费 SQL 快速版的单个 VM 上。
所有数据库都是在服务器端动态创建的,并在每次管理器注册时添加到同一个实例。
但是,考虑到新 SQL 版本的成本,我预计我们可能会 运行 在不久的将来遇到高可扩展性问题,与具有多个数据库的一个实例相关的性能问题,未来的发展和管理。
我正在考虑从 Azure 切换到弹性池结构,因为我们现在没有很多客户端,但我真的不知道它是否对价格和可扩展性有益 开始。
考虑到拥有超过 100 个客户端,使用弹性池更改我的结构是否有益?
谢谢!
弹性池非常适合具有特定使用模式的大量数据库。对于给定的数据库,此模式的特点是平均利用率低且利用率峰值相对较少。
您可以添加到池中的数据库越多,节省的资金就越多。
但是,重要的是评估您的特定数据库集合是否可以从池中获益。您需要检查数据库的使用模式并注意峰值 DTU 和理想时间。
池的价格是池 eDTU 的函数。虽然池的 eDTU 单价比单个数据库的 DTU 单价高 1.5 倍,但池 eDTU 可以由许多数据库共享,并且需要的 eDTU 总数更少。
如果单个数据库的性能级别 DTU 总和超过池所需 eDTU 的 1.5 倍,则弹性池更具成本效益。有关可用尺寸,请参阅 eDTU and storage limits for elastic pools and elastic databases。
要确定并发峰值数据库的最大数量,我建议您好好阅读这篇文章 - Maximum number of concurrently peaking databases
我们目前正在生成一个 Web 应用程序,其中包含每个租户逻辑的数据库。我们当前的数据库设置全部托管在具有一个实例免费 SQL 快速版的单个 VM 上。
所有数据库都是在服务器端动态创建的,并在每次管理器注册时添加到同一个实例。
但是,考虑到新 SQL 版本的成本,我预计我们可能会 运行 在不久的将来遇到高可扩展性问题,与具有多个数据库的一个实例相关的性能问题,未来的发展和管理。
我正在考虑从 Azure 切换到弹性池结构,因为我们现在没有很多客户端,但我真的不知道它是否对价格和可扩展性有益 开始。
考虑到拥有超过 100 个客户端,使用弹性池更改我的结构是否有益?
谢谢!
弹性池非常适合具有特定使用模式的大量数据库。对于给定的数据库,此模式的特点是平均利用率低且利用率峰值相对较少。
您可以添加到池中的数据库越多,节省的资金就越多。
但是,重要的是评估您的特定数据库集合是否可以从池中获益。您需要检查数据库的使用模式并注意峰值 DTU 和理想时间。
池的价格是池 eDTU 的函数。虽然池的 eDTU 单价比单个数据库的 DTU 单价高 1.5 倍,但池 eDTU 可以由许多数据库共享,并且需要的 eDTU 总数更少。
如果单个数据库的性能级别 DTU 总和超过池所需 eDTU 的 1.5 倍,则弹性池更具成本效益。有关可用尺寸,请参阅 eDTU and storage limits for elastic pools and elastic databases。
要确定并发峰值数据库的最大数量,我建议您好好阅读这篇文章 - Maximum number of concurrently peaking databases