什么是Azure SQL数据仓库?

微软将其Azure服务转变为企业级云解决方案,集成了包括数据管理和分析在内的先进功能。

微软在决定使用云服务时推出了Azure SQL Data Warehouse。微软正在全力推动Azure SQL Data Warehouse。它是一个灵活的database management服务,将弹性数据仓库功能与它结合在一起。

什么是Azure SQL Data Warehouse?

Azure SQL Data Warehouse(现称为Azure Synapse Dedicated SQL Pool)是一个基于云的数据仓库,允许您在Microsoft Azure上创建和交付数据仓库。Azure Data Warehouse可以处理大量的关系型和非关系型数据。它提供SQL数据仓库功能和一个cloud computing平台。

它本地支持SQL服务器,并可以将现有的SQL服务器迁移到SQL Data Warehouse。您还可以使用相同的查询和结构。此外,订阅者可以立即访问并扩展、暂停和缩小其数据仓库资源。

它用于提供完整的企业级基于SQL的数据仓库解决方案。它还可以以以下方式使用:

  • 将现有的数据仓库(本地)迁移到云上
  • 为需要运行时数据存储和检索的应用程序和服务提供数据仓库解决方案,如Web应用程序。
  • 连接到Azure托管的数据仓库和本地SQL Server的混合数据仓库解决方案。

Azure SQL Data Warehouse的最佳功能是其弹性特性。它允许可伸缩性和能够分别管理存储和计算资源。它创建了一个用户只为使用和使用时支付的优势平台。

Azure SQL Data Warehouse的计算端基于数据仓库单元(DWU),它跟踪所有参与计算节点的存储I/O和内存等计算资源。

Azure SQL Data Warehouse提供连接安全功能。这允许您使用防火墙规则限制对特定IP地址或IP范围的访问。与Azure Active Directory身份验证(AAD)集成将使您能够使用Azure AD的身份连接到Azure SQL Data Warehouse。

多层加密提供保护,以保护您的数据免受滥用。还提供其他工具来审计和监控数据,并识别安全漏洞。

与其他微软工具结合使用时,Azure SQL Data Warehouse提供了无与伦比的性能,这是与市场上其他可比服务相比的主要优势。

Azure Synapse Dedicated SQL Pool

Azure Synapse SQL Pool Dedicated SQL Pool(以前称为Azure SQL Data Warehouse)是一个类似于基于列的扩展数据库技术(如Snowflake和Amazon Redshift)的大规模并行处理数据库。对最终用户来说,它看起来像一个传统的SQL Server,但它不在一个节点上存储和处理数据。

这可以极大地提高大于几TB大小的数据仓库的性能,但对于较小的实现可能有更好的解决方案。

底层架构与传统的SQL服务器非常不同。这意味着语法和开发方法也不同。

分布式映射到专用SQL池中的计算节点。随着购买更多的计算资源,池会将您的分布重新映射到计算节点上。

您可以使用简单的PolyBase SQL查询导入大数据,然后使用分布式查询引擎进行高性能分析。

专用SQL池(以前为SQL DW)将为您的业务提供一个单一的真相来源,使您能够更快地集成和分析数据,并提供更强大的洞察力。

Azure Synapse专用SQL池与Azure Synapse Analytics工作区中的专用SQL池之间有什么区别?

PowerShell是文档中最令人困惑的领域之一,它涉及“专用SQL池(以前是SQLDW)”和“Synapse Analytics专用SQL池”之间的区别。

SQL DW的原始实现使用类似于Azure SQL DB的逻辑服务器。它使用一个名为Az.Sql的PowerShell模块。

此模块使用New.AzSqlDatabase命令创建一个新的SQL池(以前是SQLDW)。它有一个“Edition”参数,允许您指定您想要一个DataWarehouse。

Synapse Analytics在首次发布时带来了一个名为Az.Synapse的新模块。要在Synapse Analytics工作区中创建专用SQL池,您将使用New-AzSynapseSqlPool

此PowerShell模块不需要您包含“Edition”参数,因为它仅用于Synapse工件。

专用SQL池提供基于T-SQL的计算和存储。数据可以在Synapse中加载、建模和处理,以提供更快的洞察力。

Azure Synapse除了专用SQL池外,还提供了无服务器SQL和Apache Spark池。您可以根据您的要求选择合适的池。

无服务器SQL池允许您查询存储在数据湖中的数据。

Azure Synapse专用SQL池的功能

Azure Synapse专用SQL池使用分布式架构将数据的计算分布到多个节点上。您可以独立于存储来扩展计算,因为计算与存储是分开的。

无服务器SQL池是自动缩放的,并根据查询资源需求自动适应。它通过添加、删除或故障转移节点来适应不断变化的拓扑结构。这确保您的查询具有足够的资源,并可以成功完成。

Synapse SQL基于基于节点的体系结构。Synapse SQL使用基于节点的体系结构。应用程序可以连接到控制节点并发出T-SQL命令。这是Synapse SQL的单一点。

Azure Synapse SQL控制节点使用分布式查询引擎来优化并协调分布式执行。

它通过将用户查询拆分为可以在计算节点上执行的较小查询来实现。每个任务都是一个分布式执行单元。它从其他任务检索数据,对文件进行分组,并从存储中读取数据。

计算节点存储所有用户数据并运行并行查询。数据移动服务(DMS)是一个系统级内部服务,用于在节点之间移动数据,以允许并行查询并返回准确的结果。

Synapse SQL使用Azure存储来存储用户的数据。Azure存储存储和管理您的数据。存储使用会单独收费。

Azure Synapse专用SQL池的功能

以下是Azure Synapse SQL池的主要功能:

  • 您可以在数据湖中以Parquet、JSON和CSV等各种格式查询数据。
  • 用户可以使用关系抽象来查看最新的数据。
  • T-SQL允许您以简单、可扩展的方式转换湖中的数据。
  • 数据科学家可以使用OPENROWSET或自动模式推断功能快速检查湖中数据的结构和内容。
  • 数据工程师可以使用数据湖来探索,并转换、创建或简化他们的流水线。
  • 数据分析师可以通过T-SQL语言和其他熟悉的工具访问数据和触发外部表。这些工具也可以连接到无服务器SQL池。
  • 通过专业人员对Spark表或数据湖进行即时生成的BI报告。

专用SQL池与无服务器SQL池的比较

无服务器SQL池

Azure Synapse工作区具有无服务器SQL池,它充当数据湖上的查询服务。它不需要额外的配置即可访问数据。它完全无服务器,并且不需要设置或维护任何基础架构。

自动扩展以满足资源需求。用户只需支付已处理的数据,而不是任何预留资源。无服务器SQL池还会创建用于优化查询执行的统计信息。

例如,当我们运行一个查询两次或运行两个具有相似执行计划的查询时,这些统计信息可以被重用。
这些功能使我们能够快速分析大量数据,而无需将其复制或加载到特定存储中。

专用SQL池

Synapse专用SQL池是Azure SQL的继任者。然而,没有无服务器SQL池。相反,用户必须创建和删除Synapse专用SQL池。我们还可以选择它将使用的资源。

这些资源使用Synapse的专用SQL池来衡量。它们被称为数据仓库单位(DWUs)。DWU是CPU、内存和IO资源的组合。

DWU的数量决定了池的性能和成本。我们将根据池的活动时间收费,而不是每个查询收费,无论它的工作量有多大。

为了避免额外的费用,可以停止和重新启动专用池。我们为我们的测试创建了一个100 DWUs的专用SQL池。

创建池后,可以使用COPY命令、PolyBase和T-SQL查询或流水线将数据加载到池中。这些数据将以列存储的方式存储在关系表中。

专用 SQL 池 无服务器 SQL 池
这允许您查询数据湖并摄入它。 用户可以查询数据湖文件。
需要基础设施。 无需建立基础设施或维护集群。
在进行任何操作之前,需要获取专用服务器。 数据转换或探索不需要基础设施。
使用关系表存储数据。 数据湖存储数据。
您可以通过暂停 SQL 池和缩小仓库规模来管理成本。 成本根据按请求计费的方式自动处理和开具发票。
预留资源会产生成本。 按查询数据处理成本计费。
按预配的 DWU 计费。 按处理的 TB 计费。

结论

所以,这就是关于 Azure SQL 数据仓库(现称为 Azure Synapse 专用 SQL 池)的全部内容。尽管从许多角度来看,专用 SQL 池与传统 SQL Server 相似,但底层架构(大规模并行处理)完全不同。这意味着某些概念和技术只适用于专用 SQL 池。

您还可以探索 Data Lake and Data Warehouse之间的差异。

类似文章