什么是 Azure SQL 数据仓库?

微软正将其Azure服务转型为企业级云端解决方案,其中囊括了数据管理与分析等前沿技术。

在云服务战略中,微软推出了Azure SQL 数据仓库。它积极推广这项服务,该服务兼具弹性数据仓库的特性,是一种灵活的数据库管理方案。

什么是Azure SQL 数据仓库?

Azure SQL 数据仓库,现已更名为Azure Synapse 专用SQL池,是一款基于云的数据仓库服务。它允许用户在微软Azure平台上构建并部署数据仓库,能够处理海量的关系型及非关系型数据。此服务融合了SQL数据仓库的强大功能和云计算的优势。

它原生支持SQL Server,便于将现有的SQL Server数据库迁移至SQL数据仓库,并支持用户使用相同的查询语句和结构。此外,用户可以根据需求,即时扩展、暂停或缩减其数据仓库的资源。

它旨在提供全面的企业级SQL数据仓库解决方案,并能通过以下方式加以应用:

  • 将本地部署的数据仓库迁移至云端。
  • 为需要实时存储和检索数据的应用程序和服务(例如Web应用)提供数据仓库解决方案。
  • 构建一个混合数据仓库解决方案,实现本地SQL Server与Azure云端托管数据仓库的互联。

Azure SQL 数据仓库最显著的特点在于其弹性。它支持计算和存储资源的可扩展性,并允许用户分别管理这些资源,从而构建一个双赢平台,用户只需为其使用的资源和使用时长付费。

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

Azure SQL 数据仓库提供强大的连接安全功能。用户可以通过防火墙规则限制特定IP地址或IP范围的访问。通过与Azure Active Directory身份验证(AAD)集成,用户可以使用Azure AD账户连接至Azure SQL 数据仓库。

多层加密技术为静态数据、传输中的数据和使用中的数据提供保护,防止数据被滥用。此外,还提供审计和监控工具,帮助用户识别安全漏洞。

结合其他微软工具,Azure SQL 数据仓库能实现卓越的性能,这是其相对于市场上其他同类服务的主要优势。

Azure Synapse 专用 SQL 池

Azure Synapse SQL 池的专用SQL池(原名Azure SQL 数据仓库)是一个大规模并行处理(MPP)数据库,类似于Snowflake和Amazon Redshift等基于列的横向扩展数据库技术。虽然从最终用户的角度来看,它看起来像一个传统的SQL Server,但其数据存储和处理方式并非在单个节点上完成。

这种架构可以显著提高大于几TB的数据仓库的性能,但对于较小的规模,可能存在更优的解决方案。

底层的架构与传统的SQL Server差异巨大,这也意味着语法和开发方法有所不同。

数据分布映射到专用SQL池中的计算节点。当您增加计算资源时,池会将数据分配重新映射至相应的计算节点。

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

专用SQL池(前身为SQL DW)将为企业提供单一的事实来源,加速数据整合与分析,并提供更深入的洞察力。

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

在PowerShell中,“专用SQL池(前身为SQLDW)”与“Synapse分析”中的专用SQL池之间的差异,是文档中容易混淆的方面之一。

最初的SQL DW实现使用了与Azure SQL DB相似的逻辑服务器,并共享名为Az.Sql的PowerShell模块。

该模块通过cmdlet New.AzSqlDatabase创建一个新的SQL池(前身为SQLDW),并提供一个“Edition”参数,用于指定需要创建一个DataWarehouse。

当Synapse Analytics首次发布时,它配备了来自Az.Synapse的新PowerShell模块。要在Synapse Analytics工作区中创建专用SQL池,您可以使用New-AzSynapseSqlPool命令。

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

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

除了专用SQL池,Azure Synapse还提供无服务器SQL和Apache Spark池,用户可以根据自己的需求选择合适的方案。
无服务器SQL池允许用户查询存储在数据湖中的数据。

Azure Synapse 专用 SQL 池有什么作用?

Azure Synapse 专用SQL池采用横向扩展架构,跨多个节点分布数据计算。计算资源可以独立于存储资源进行扩展,因为两者是分离的。

无服务器SQL池是无服务器的,可以自动扩展以适应查询资源的需求。它通过动态添加、删除或故障转移节点来适应不断变化的环境,确保查询有充足的资源并能成功执行。

Synapse SQL基于节点架构。应用程序可以连接到控制节点并发出T-SQL命令,这是Synapse SQL的单一入口点。

Azure Synapse SQL控制节点利用分布式查询引擎优化并行处理查询,然后将操作传递到计算节点,以便它们可以并行执行。

无服务器SQL池控制节点利用分布式查询处理引擎(DQP)优化和协调分布式执行。

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

计算节点存储所有用户数据并运行并行查询。数据移动服务(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池进行计量,被称为数据仓库单元(DWU)。DWU代表CPU、内存和IO资源的组合。

DWU的数量决定了池的性能和成本。用户不会按查询次数付费,而是在池处于活动状态的任何时间被收费,无论它完成了多少工作。

为了避免额外费用,用户可以停止和重新启动专用池。例如,测试时可以创建一个100 DWU的专用SQL池。

创建池后,可以使用COPY命令,带有T-SQL查询的PolyBase,或管道将数据加载到其中。这些数据将以列式存储方式存储在关系表中。

专用SQL池 无服务器SQL池
允许用户查询和摄取数据湖中的数据 用户可以查询数据湖中的文件
需要基础设施 不需要建立基础设施或维护集群
在执行任何操作之前,需要先获得专用服务器 数据转换或探索不需要基础设施
使用关系表存储数据 数据湖存储数据
可以通过暂停SQL池和缩减仓库来管理成本 成本自动处理并根据按需付费
预留资源需要付费 按查询处理的数据量收费
按DWU配置付费 按TB处理的数据量付费

结论

本文介绍了关于Azure SQL数据仓库(现已更名为Azure Synapse 专用SQL池)的相关内容。虽然从多个角度来看,专用SQL池可能与传统的SQL Server相似,但其底层架构(大规模并行处理)却截然不同。这意味着某些概念和技术仅适用于专用SQL池。

您还可以进一步探索数据湖和数据仓库之间的差异。