Azure SQL 数据库或 SQL 数据仓库

Azure SQL Database or SQL Data Warehouse

我正在研究解决方案架构,但很难在 Azure SQL DB 或 SQL DW 之间做出选择。

当前范围涉及开发基于多个来源的实时 BI 报告解决方案。但从长远来看,运行 解决方案可能会扩展到一个完整的 EDW 和 Marts。

我最初考虑使用 SQL DW,以便在未来的范围内可以使用 MPP 功能。但是当我和最近使用 SQL DW 的伙伴交谈时,他解释说 SQL DW 中的开发与 SQL DB 不相似。

我之前曾在没有 EDW 范围的实时报告方面工作过,我们成功地使用了 SQL 数据库。有了这个,我们也可以创建事实、维度和集市。

我应该选择 SQL DW 而不是 SQL DB 的充分理由吗?

我认为您可以在此处拥有的两个最重要的数据点是您正在处理的数据量和您需要支持的并发查询数。当谈到处理大容量数据时,我的意思是超过 3tb(这甚至不是很大,但足够大),然后 Azure SQL 数据仓库就变成了一个主宰。并行处理简直是惊人的(它在较小的数量上也很惊人,但你要为矫枉过正付出很多钱)。但是,一个问题可能是同时查询限制。它目前有 128 个并发查询的限制,以及 1,000 个排队查询的限制 (read more here)。如果您将数据仓库用作数据仓库来处理大量数据,然后将它们提供给进行大部分查询的数据集市,那么这没什么大不了的。如果您打算将其打开以进行大量查询,它很快就会出现问题。

回答查询量和数据量这两个问题,您可以更轻松地在两者之间做出选择。

其他因素可能包括围绕当前支持的 T-SQL 的问题。它少于传统的 SQL 服务器。同样,对于围绕数据仓库的大多数用途,这不是问题。对于一个完整的报告服务器,它可能是。

大多数成功实施 Azure SQL 数据仓库的人都将仓库用于处理和存储,将 Azure SQL 数据库用于数据集市。在处理需要并行处理但不需要大量查询的非常大的数据量时会有例外。

Azure SQL 数据库的 4 TB 限制可能是在两个选项之间进行选择时要考虑的重要因素。使用 Azure SQL 数据仓库可以加快查询速度,因为它是一种 MPP 解决方案。您可以暂停 Azure SQL DW 以节省 Azure SQL 数据库的成本,您可以缩减到基本层(如果可能)。

Azure SQL DB 最多可支持 6,400 个并发查询和 32k 个活动连接,而 Azure SQL DW 最多只能支持 32 个并发查询和 1,024 个活动连接。所以 SQL 如果您使用的是具有数千个用户的仪表板之类的东西,DB 是一个更好的解决方案。

关于为他们开发,Azure SQL 数据库支持Entity Framework 但Azure SQL DW 不支持。

我还想快速了解一下它们在性能方面的比较 1 DWU 约为 7.5 DTU(数据库吞吐量单位,用于表示 OLTP Azure 的马力 SQL数据库)的容量,尽管它们并不完全具有可比性。有关此比较的更多信息 here

感谢格兰特和阿尔贝托的回复。响应清除了很多空气以做出选择。

因为数据会受到仪表板和查询的影响,所以我倾向于 SQL 数据库而不是 SQL DW。

再次感谢。