SQL Azure Federation - 性能优势之前需要多少数据?

SQL Azure Federation - 性能优势之前需要多少数据?

为了避免过早优化,我不想过早实现 SQL Azure 的联合。在看到分片带来的性能优势之前,表需要有多少数据,是否有经验法则?我知道不会有精确的答案,因为有太多变量需要考虑,尤其是 SQL Azure 的许多资源是隐藏/未知的。

举几个更具体的例子,联邦是否会在下表中的任何场景中提高性能:

  • 100,000 行(约 200 MB)
  • 1,000,000 行(约 2 GB)
  • 10,000,000 行(~ 20 GB)
  • 100,000,000 行 (~ 200 GB)

为了详细说明,我们可以假设这是要联合的最大的表,它包含订单详细信息,该表通过“customer_id”外键连接到订单表,该外键是分发键。

这是一个相当标准的多租户 CRUD 订单输入系统,具有典型的各种报告需求(按日/月/年划分的客户订单总数等)。

答案1

这确实要视情况而定,而且您可能不会在这里得到好的答案,因为变量太多了。在 100M 行示例中,您可能想要分片。在较低的数字上可能不需要。

既然如此,现在设置分片可能比以后更容易。

答案2

如果您有那么多数据在运行,我会考虑在专用虚拟机中运行 SQL Server。您可以完全控制:企业功能、数据磁盘的格式分配、数据磁盘的条带化、使用跟踪标志、完整的 SKU 功能等。

与共享 SQL Azure 数据库相比,在 VM 上专用的单个 SQL Server 将为您带来更高的性能,并且在进行优化之前它将为您提供更多的阈值。

相关内容