AWS 数据分析与数据湖 - Athena、Glue、Lake Formation、Redshift 的集成生态系统

解析 AWS 的 Athena、Glue、Lake Formation、Redshift、QuickSight 构成的集成数据分析栈,与 Azure Synapse Analytics 和 GCP BigQuery 对比,阐述 AWS 在生态系统整体集成度方面的优势。

数据分析基础设施所需的「集成」含义

现代数据分析基础设施仅靠单一查询引擎无法完成。需要能够以一致的体验构建和运维数据收集、编目、转换、存储、查询、可视化和访问控制这一系列流水线。AWS 在提供构成这一流水线的各专业服务的同时,构建了它们紧密协作的集成生态系统。用 Athena 执行即席查询,用 Glue 进行数据 ETL,用 Lake Formation 统一管理访问控制,用 Redshift 执行大规模分析,用 QuickSight 进行可视化。各服务独立演进,同时以 S3 为数据湖核心进行集成,这正是 AWS 数据分析战略的核心。

以 S3 为中心的数据湖架构

AWS 数据分析生态系统的中心是 S3。S3 作为数据湖的存储层,可以无差别地存储结构化数据、半结构化数据和非结构化数据。支持 Parquet、ORC、Avro、JSON、CSV 等多种格式,并通过 Intelligent-Tiering 自动进行成本优化。Glue Data Catalog 是管理 S3 上数据元数据的目录服务,可被 Athena、Redshift Spectrum、EMR 作为共用目录引用。Lake Formation 是构建在 Glue Data Catalog 之上的访问控制层,统一管理表级、列级和行级的细粒度访问权限。这种「S3 + Glue Data Catalog + Lake Formation」三层结构构成了 AWS 数据湖的基础。将数据汇聚到 S3,用目录管理元数据,用 Lake Formation 管控访问权限,这种明确的职责分离在大规模环境中实现了有效治理。

Athena 与 Redshift - 两种查询引擎的选用

AWS 提供 Athena 和 Redshift 两种数据分析查询引擎选择。Athena 是直接对 S3 上的数据执行 SQL 查询的无服务器服务。无需基础设施预置,按扫描数据量计费,最适合即席查询和数据探索。Redshift 是 PB 级数据仓库,可对大量数据高速执行复杂分析查询。Redshift Serverless 也实现了免预置使用,但本质上面向大规模常态化分析工作负载。通过 Redshift Spectrum,可从 Redshift 集群直接查询 S3 上的数据,实现热数据放在 Redshift、冷数据放在 S3 的混合架构。通过这两种引擎的灵活选用,可根据工作负载特性实现最优性价比。

与 GCP BigQuery 的对比

GCP 的 BigQuery 作为无服务器数据仓库,在性能和易用性方面处于业界顶级水平。存储与计算分离、基于 Slot 的自动扩缩、在 SQL 中训练 ML 模型(BigQuery ML)等,作为单一服务的完成度极高。BigQuery 的优势在于「一个服务能做很多事」。然而,这种集成型方式也有取舍。BigQuery 将数据仓库和数据湖功能整合在一个服务中,因此各功能的独立演进以及根据组织需求灵活配置变得困难。AWS 的方式是将 Athena、Redshift、Glue、Lake Formation 作为独立服务提供,根据组织需求进行组合。对于小规模团队,BigQuery 更简单易于导入,但对于大型企业,AWS 可组合的生态系统在灵活性上更胜一筹。

与 Azure Synapse Analytics 的对比

Azure Synapse Analytics 是将数据仓库、数据湖、数据集成和 BI 整合到一个工作区的服务。通过 Synapse Studio 统一开发环境,可一站式操作 SQL 池(数据仓库)、Spark 池(大数据处理)、Data Explorer(日志分析)和流水线(ETL)。Synapse 的统一工作区在促进数据工程师和数据分析师协作方面设计出色。然而,将过多功能塞入一个服务的结果是各功能成熟度参差不齐。Synapse 的 SQL 池与 Redshift 相比调优选项有限,Spark 池与 EMR 或 Glue 的 Spark 环境相比灵活性较低。AWS 各服务由独立团队开发,因此在单个服务的深度和成熟度上占据优势。

数据分析基础设施设计指南

利用 AWS 数据分析生态系统的基本方针是以 S3 为数据湖核心,根据工作负载选用查询引擎。探索性即席查询用 Athena,常态化大规模分析用 Redshift,实时流式分析用 Kinesis Data Analytics,与机器学习流水线联动用 SageMaker。用 Glue 自动化数据 ETL,用 Lake Formation 实现列级访问控制,用 QuickSight 为业务用户构建仪表板。关于数据分析基础设施的设计模式,相关书籍 (Amazon) 也可作为参考。

总结

AWS 的数据分析生态系统是 Athena、Glue、Lake Formation、Redshift、QuickSight 等专业服务以 S3 为中心集成的架构。GCP 的 BigQuery 作为单一服务完成度出色,但在大规模环境的配置灵活性和治理精细度上 AWS 生态系统更胜一筹。Azure Synapse Analytics 作为统一工作区易用性好,但各功能成熟度不及独立演进的 AWS 服务群。选择数据分析基础设施时,不应仅评估单一服务的性能,还需综合评估生态系统整体的集成度、治理功能以及根据工作负载灵活配置的能力。