了解 Azure Synapse 无服务器 SQL 池功能和用例
Azure Synapse Analytics 是一种集成分析服务,它将用于大规模处理和分析数据的各种常用技术结合在一起。 数据解决方案中最常使用的技术之一是 SQL,这是一种用于查询和操作数据的行业标准语言。
Azure Synapse Analytics 中的无服务器 SQL 池
Azure Synapse SQL 是 Azure Synapse Analytics 中的分布式查询系统,提供两种运行时环境:
- 无服务器 SQL 池:按需 SQL 查询处理,主要用于处理数据湖中的数据。
- 专用 SQL 池:企业规模关系数据库实例,用于托管数据仓库,其中数据存储在关系表中。
在本模块中,我们将重点介绍无服务器 SQL 池,该池提供按查询付费的终结点来查询数据湖中的数据。 使用无服务器 SQL 池的好处包括:
- 熟悉的 Transact-SQL 语法,可以就地查询数据,而无需将数据复制或加载到专用存储。
- 来自各种商业智能和即席查询工具(包括最受欢迎的驱动程序)的集成连接。
- 为大规模数据和计算功能构建的分布式查询处理 - 从而实现快速查询性能。
- 内置的查询执行容错机制,即使对于涉及大型数据集的长时间运行的查询,也能实现较高的可靠性和成功率。
- 不需要设置基础结构,也不需要维护群集。 此服务的内置终结点将在每个 Azure Synapse 工作区内提供,因此在创建工作区后,可以立即开始查询数据。
- 保留的资源不产生费用,你只需为运行的查询所处理的数据付费。
何时使用无服务器 SQL 池
无服务器 SQL 池专门用于查询驻留在数据湖中的数据,因此除了没有管理负担外,你还无需担心将数据引入到系统中。 你只需将查询指向已在湖中的数据并运行该查询。
Synapse SQL 无服务器资源模型非常适合计划外或“突发”工作负载,这些工作负载可以通过 Azure Synapse Analytics 工作区中的始终可用无服务器 SQL 终结点进行处理。 如果需要了解执行的每个查询的确切成本以监视成本和查明成本来源,使用无服务器池会有所帮助。
注意
无服务器 SQL 池是一种分析系统,不建议将其用于 OLTP 工作负载,例如应用程序用于存储事务数据的数据库。 对于需要毫秒响应时间并希望精确定位到数据集中某一行的工作负载,不适合使用无服务器 SQL 池。
无服务器 SQL 池的常见用例包括:
- 数据浏览:数据浏览涉及浏览数据湖以获取有关数据的初始见解,并且这一功能可通过 Azure Synapse Studio 轻松实现。 可以浏览链接数据湖存储中的文件,并使用内置的无服务器 SQL 池自动生成 SQL 脚本,以从文件或文件夹中选择前 100 行,就像处理 SQL Server 中的表一样。 从那里,可以应用投影、筛选、分组和针对数据的大部分操作,就像数据位于常规 SQL Server 表中一样。
- 数据转换:虽然 Azure Synapse Analytics 通过 Synapse Spark 提供了强大的数据转换功能,但一些数据工程师可能会发现使用 SQL 更容易实现数据转换。 使用无服务器 SQL 池,可以以交互方式或作为自动化数据管道的一部分执行基于 SQL 的数据转换。
- 逻辑数据仓库:对数据湖中的数据进行初步探索后,可以在无服务器 SQL 数据库中定义表和视图等外部对象。 数据仍存储在数据湖文件中,但通过关系架构进行抽象化,客户端应用程序和分析工具可以使用该架构来查询数据,就像在 SQL Server 中托管的关系数据库中一样。