是时候将数据分析迁移到云端了。我们将讨论 Azure Synapse 在数据湖和数据仓库范式规模上的定位。
在本文中,我们将讨论 Microsoft 的 Azure Synapse Analytics 框架。具体来说,我们关注如何在其中看到数据仓库和数据湖范式的区别。
为了熟悉这个主题,我建议你先阅读本系列的前几篇文章。
- 数据湖和仓库第 1 部分:范式简介
- 数据湖和仓库第 2 部分:Databricks 和Showflake
- 数据湖和仓库第 3 部分:Azure Synapse 观点
我们现在考虑一个更新颖的解决方案,该解决方案与该主题的角度略有不同。也就是说,我们将讨论 Microsoft Azure Synapse Analytics 环境。事实上,这篇文章的动机是“我们应该采用 Snowflake、Databricks 还是 Synapse?”这一行中的问题数量。看完这篇文章,我希望你明白为什么这个问题很难回答。
Azure Synapse 在同一个保护伞下收集多个产品
在之前的文章中,我们注意到数据分析平台可以分为几个阶段。在上图中,绿色表示处理,蓝色表示存储工具。我们可以看到 Azure Synapse 环境如何涵盖处理和存储。对于其他提到的产品,请查看以前的帖子。
确切地说,Synapse 不是一个单一的产品,而是一个提供一组工具作为组件的框架。这样一来,我们就有了多个云数据产品,一个品牌和一个界面,涵盖了云大数据分析平台的所有阶段。此外,Synapse 环境为数据仓库构建和数据湖开发提供了工具。
现在,第一个问题是我们是否在再次为多种工具品牌化方面获得了任何好处。为什么我们不单独使用这些工具?就个人而言,我开始认为 Synapse 伞产品是有意义的。我们稍后会回到这个问题。首先让我们从 Azure Synapse 环境的概述开始
Azure Synapse 组件
让我们简要介绍一下我所理解的 Azure Synapse Analytics 环境。Azure Synapse Analytics 平台可以描述为具有以下组件:
- 图形 ELT/ETL 工具,名为 Pipelines,用于数据摄取和处理。实际上,该组件与旧的 Azure 数据工厂服务(Azure Data Factory service) 相同。
- 用于数据结构化的专用 SQL 池数据仓库(Dedicated SQL pool data warehouse )。与此相关的是,微软在推出 Synapse 时犯了一个错误。最初,引入此组件以涵盖所有 Synapse 环境。我仍然误认为 Synapse 只是数据仓库的新名称。
- 基于编程语言的 Apache Spark 池(Apache Spark pool )和无服务器 SQL 池(Serverless SQL pool),用于云中的数据查询和处理。这些组件是新颖的,仅在 Synapse 环境中可用。
除此之外,环境在组件之间提供以下功能:
- 一个集中的图形工作区用户界面,可以访问所有工具
- 光可视化(Light visualization)功能和与 Power BI 报告的集成
- 可在所有工具中使用的通用数据湖表模式存储库
- 与 Azure Data Lake Storage Gen2 云存储服务和 Azure AD 权限管理的自然连接
据我所知,类似的整体框架是独一无二的,尚未由任何其他云提供商提供。
那么,分析(Synapse Analytics)的新功能是什么?
一些工具,尤其是数据工厂(Data Factory) 和数据仓库,在 Synapse 环境之前就已经可用。因此,它们并没有真正带来新的价值。在没有完整框架的情况下单独使用组件可能非常有意义。
但是,例如,无服务器 SQL 池是 Azure 大数据产品中的一项很棒的新功能。它是一种可作为服务使用的 SQL 查询工具:您无需构建任何基础架构。它立即可用,您按使用量付费。最好的比较点是 AWS 云环境 Athena 服务。此外,Apache Spark 池是一种工具,可以简称为 Databricks 的轻量级版本。
结论——工具包装有帮助
总而言之,我们是否通过 Synapse 框架有所收获?我必须承认我最初对此持怀疑态度。但是,在获得一些经验之后,我个人的回答是肯定的,至少在某种程度上是肯定的。首先,组件之间存在真正的集成。例如,可以定义可从多个工具访问的通用关系数据库类型表。
另一方面,将单个工作区用作图形用户界面是有益的。通常,在构建新的分析平台时,您需要对云大数据组件有相当广泛的了解。使用 Synapse,它们可以很容易地作为一个包提供。这既有助于新开发人员开始工作,也可能有助于处理整体解决方案的安全性。因此,我想说 Synapse 框架对微软来说是一项相当成功的投资,至少从技术角度来看是这样。
当我们回到本系列第一篇文章中介绍的数据仓库和数据湖范式区别时,会出现一个有趣的细节。从费用的角度来看,这两种范式可以在 Synapse 环境组件中看到。除 Synapse 专用 SQL 池数据仓库外,所有处理组件均按数据湖范例的典型使用量付费。所有工具甚至都有自动关机功能。因此,如果您尝试使用 Synapse 环境,请记住关闭数据仓库以阻止其收取费用。其他组件会自行处理。
Azure Synapse 环境非常独特,因为所有相关的大数据湖和数据仓库工具都集中在同一个包中。即使您可以单独使用其中的一些,将它们组合起来也有其优势。