亚马逊AWS官方博客
Amazon Redshift 的新功能 — 2021 年回顾
从客户的需求出发,我们正在投资 Redshift,以在以下三个主要领域推出新功能:
- 每个人都能轻松进行分析
- 分析您的所有数据
- 提供任何规模的性能
客户告诉我们,自己企业中的数据仓库用户正在从管理员、开发人员、分析师和数据科学家扩展到业务线 (LoB) 用户,因此,我们将继续投资,使每个人都能更轻松地使用 Redshift。客户还告诉我们,他们希望摆脱数据孤岛,跨数据湖、数据库和数据仓库访问数据,并使用 SQL 和机器学习 (ML) 分析这些数据。因此,我们将继续投资,让客户分析其所有数据。最后,客户告诉我们,他们希望获得任何规模(从 TB 级到 PB 级数据)分析的最佳性价比。因此,我们将继续针对任何规模的性能推出新功能。接下来,我们将深入探讨其中每一个支柱,并介绍我们在 2021 年推出的关键功能。
Redshift 为所有人提供简单的分析
为所有人提供简单的分析需要更简单的入门体验、自动化可管理性和可视化用户界面,使技术和非技术用户都能更轻松、更快捷地快速入门,在数据仓库中操作和分析数据。我们推出了 Redshift Serverless(预览版)、Query Editor V2 和自动具体化视图(预览版)等新功能,并在 2021 年增强了数据 API,使客户能够更轻松地运行其数据仓库。
Redshift Serverless(预览版)使您可以在几秒钟内轻松运行和扩展分析,而无需预置和管理数据仓库集群。借助无服务器选项,所有用户(包括数据分析师、开发人员、业务用户和数据科学家)只需将数据加载到数据仓库中并进行查询,即可使用 Redshift 在几秒钟内从数据中获取见解。客户只需在 AWS 管理控制台中单击几下,即可启动数据仓库并开始使用 Redshift Serverless 选项分析数据。无需选择节点类型、节点计数或其他配置。客户可以利用预加载的样本数据集和示例查询,立即启动分析。他们可以通过 Amazon Redshift 数据共享从桌面 Amazon Simple Storage Service (S3) 创建数据库、架构和表并加载自己的数据,也可以还原现有的 Amazon Redshift 预置集群快照。此外,还可以直接查询其 Amazon S3 数据湖中开放格式(例如 Parquet 或 ORC)的数据,以及其运营数据库(例如 Amazon Aurora 和 Amazon RDS)中的数据。客户只需按实际用量付费,他们可以通过精细的成本控制来管理成本。
Redshift Query Editor V2 是一款基于 Web 的工具,供数据分析师、数据科学家和数据库开发人员探索、分析和协作处理 Redshift 数据仓库与数据湖中的数据。客户可以使用 Query Editor 的可视化界面来创建和浏览架构与表,加载数据,编写 SQL 查询和存储过程,以及通过图表可视化查询结果。他们可以共享和协作处理查询与分析,并使用内置版本控制功能跟踪更改。Query Editor V2 还支持 SQL Notebook(预览版),它提供新的 Notebook 界面,允许数据分析师和数据科学家等用户编写查询,在单个文档上组织多个 SQL 查询和注释,以及通过共用 Notebook 与团队成员进行协作。
长期以来,客户一直将 Amazon Redshift 具体化视图 (MV) 用于基于对一个或多个基表的 SQL 查询的预先计算结果集,以提高查询性能,特别是对于经常使用的查询,例如控制面板和报告中的查询。2021 年,我们推出了预览版自动具体化视图 (AutoMV),通过自动创建和维护具体化视图,无需用户付出任何努力即可提高查询性能(减少总执行时间)。客户告诉我们,虽然 MV 提供了显著性能优势,但对于分析架构、数据和工作负载来确定哪些查询可能从拥有 MV 中受益或哪些 MV 不再受益而应该删除,需要掌握相关知识,投入时间和精力。AutoMV 让 Redshift 持续监控集群以识别候选 MV 并评估收益与成本。它创建的 MV 具有很高的收益成本比,同时确保现有工作负载不会受到此过程的负面影响。AutoMV 会持续监控系统,并删除不再有益的 MV。所有这些对用户和应用程序都是透明的。由于自动查询重写,控制面板等应用程序无需任何代码更改就能受益,这使得现有查询即使在没有显式引用的情况下也能从 MV 中受益。客户还可以将 MV 设置为自动刷新,以便 MV 始终拥有最新数据,从而增加便利性。
客户还要求我们简化和自动执行数据仓库维护任务(例如架构或表设计),以便他们能够从集群中获得最佳性能。在过去几年中,我们投入了大量资金来实现这些维护任务的自动化。例如,自动表格优化 (ATO) 会选择最佳排序和分配键来确定数据的最佳物理布局,从而最大限度地提高性能。我们扩展了 ATO,修改了列压缩编码,以实现高性能并降低存储利用率。在过去几年中,我们还引入了各种功能(例如自动 vacuum 删除和自动分析),以确保客户数据仓库继续以最佳性能运行。
2020 年推出的 Data API 也引入了重要增强功能(例如,多语句查询执行、支持用于开发可重用代码的参数,以及 2021 年更多区域的推出),使客户能够更轻松地以编程方式访问 Redshift 中的数据。借助 Data API,Redshift 使客户能够使用所有类型的传统、云原生、容器化、基于无服务器 Web 服务的应用程序和事件驱动型应用程序轻松访问数据。它简化了 AWS SDK 支持的编程语言和平台(例如 Python、Go、Java、Node.js、PHP、Ruby 和 C++)的数据访问、摄取和输出。使用 Data API,无需配置驱动程序和管理数据库连接。相反,客户只需调用数据 API 提供的安全 API 端点,即可对 Amazon Redshift 集群运行 SQL 命令。Data API 负责管理数据库连接和缓冲数据。Data API 具有异步特性,因此,可以稍后检索结果并将其存储 24 小时。
最后,在每个人都能进行轻松分析这个支柱中,我们于 2021 年推出了 Grafana Redshift Plugin,帮助客户更深入地了解其集群性能。Grafana 是一款深受欢迎的开源工具,用于在线运行分析和监控系统。Grafana Redshift Plugin 允许客户查询系统表和视图,以获取其 Redshift 集群上最完整的运营指标集。该插件在开源 Grafana 存储库以及我们的 Amazon Managed Grafana 服务中提供。我们还发布了默认深度操作控制面板以利用此功能。
Redshift 使客户能够分析其所有数据
Redshift 为客户提供了最佳数据湖和专门构建的数据存储,例如数据库和数据仓库。它使客户能够以低成本以开放、基于标准的数据格式(如 parquet 和 JSON)在数据湖中存储任意数量的数据,并在不加载或转换的情况下对其运行 SQL 查询。此外,它还允许客户使用复杂的查询优化、高性能存储上的列式存储以及大规模并行查询执行,对数 TB 到 PB 级结构化和半结构化数据运行高性能复杂的分析查询。Redshift 允许客户访问事务数据库中的实时数据,将其作为商业智能 (BI) 和报告应用程序的一部分,以实现运营分析。客户可以通过以下方式打破数据孤岛:无缝查询数据湖、数据仓库和数据库中的数据;使团队能够使用自己喜欢的工具或技术运行分析和机器学习;并通过适当的安全和数据治理控制来管理有权访问数据的人员。我们在 2021 年推出了数据共享、AWS Data Exchange 集成和 Redshift ML 等新功能,使客户能够更轻松地分析其所有数据。
借助 Amazon Redshift 数据共享,客户可以将 Amazon Redshift 在单个集群中提供的易用性、性能和成本优势扩展到多集群部署,同时能够共享数据。它支持跨 Amazon Redshift 集群的即时、精细和快速数据访问,而无需复制或移动数据。数据共享提供对数据的实时访问,以便用户在数据仓库更新时始终看到最新且一致的信息。客户可以安全地与同一区域或不同区域内相同或不同 AWS 账户中的 Amazon Redshift 集群共享实时数据。数据共享具有多项性能增强功能(包括结果缓存和并发扩缩),这使客户能够支持更广泛的分析应用程序集,并在查询共享数据时满足关键性能 SLA。客户可以将数据共享用于诸如工作负载隔离之类的使用案例,并提供收费,以及在团队和外部各方内部/之间提供安全且受管控的协作。
客户还要求我们在内外部数据市场上为他们提供帮助,以便他们能够支持使用案例,如数据即服务和板载第三方数据。我们推出了适用于 Amazon Redshift 的 AWS Data Exchange 公开预览版,这是一项新功能,使客户能够在 AWS Data Exchange 中查找和订阅第三方数据,以便他们在几分钟内在 Amazon Redshift 数据仓库中进行查询。数据提供商可以在 AWS Data Exchange 目录中列出和提供包含 Amazon Redshift 数据集的产品,从而授予订阅者对存储在 Amazon Redshift 中数据的直接、只读访问权限。借助此功能,客户能够使用这些第三方数据集快速查询、分析和构建应用程序。适用于 Amazon Redshift 的 AWS Data Exchange 允许客户将在 AWS Data Exchange 中找到的第三方数据与 Amazon Redshift 云数据仓库中的第一方数据合并,而无需 ETL。由于客户直接查询提供商数据仓库,因此,他们可以确定自己使用的是所提供的最新数据。此外,授权、计费和付款管理都是自动进行:在数据订阅开始时授予对 Amazon Redshift 数据的访问权限,在订阅结束时移除此类权限,自动生成发票,并通过 AWS Marketplace 自动收取和支付款项。
客户还要求我们提供帮助,以便轻松地在专用数据存储的数据之上直接训练和部署机器学习模型(例如预测、自然语言处理、对象检测和图像分类),而无需执行复杂的数据移动或学习新工具。我们在今年年初推出了 Redshift ML,使客户能够使用熟悉的 SQL 命令创建、训练和部署机器学习模型。借助 Amazon Redshift ML,客户无需移动数据或学习新技能,即可利用 Amazon SageMaker,这是一项完全托管式机器学习服务。此外,由 Amazon SageMaker 提供支持的 Amazon Redshift ML 允许客户使用 SQL 语句,根据其在 Amazon Redshift 中的数据创建和训练机器学习模型,然后直接在查询和报告中将这些模型用于流失预测和欺诈风险评分等使用案例中。Amazon Redshift ML 会自动发现最佳模型,并使用 Amazon SageMaker Autopilot 根据训练数据对其进行调整。SageMaker Autopilot 在回归、二进制或多类分类模型之间进行选择。或者,客户可以选择特定模型类型(如 Xtreme Gradient Boosted 树 (XGBoost) 或多层感知器 (MLP))、回归或分类之类的问题类型,以及预处理器或超参数。Amazon Redshift ML 使用客户参数在 Amazon Redshift 数据仓库中构建、训练和部署模型。客户可以像调用用户定义函数 (UDF) 一样,使用 SQL 查询从这些经过训练的模型中获得预测,并利用 Amazon Redshift 的所有优势,包括大规模并行处理功能。客户还可以将预先训练的 SageMaker Autopilot、XGBoost 或 MLP 模型导入自己的 Amazon Redshift 集群中,以进行本地推理。对于从预测到个性化的高级分析使用案例,Redshift ML 支持受监督和无监督的机器学习。
客户希望将来自运营数据库的实时数据与 Amazon Redshift 数据仓库中的数据以及 Amazon S3 数据湖环境中的数据结合起来,以获得企业中所有数据的统一分析视图。我们推出了 Amazon Redshift 联合查询,让客户能够将来自事务数据库的实时数据作为其 BI 和报告应用程序的一部分进行整合,从而实现运营分析。Amazon Redshift 中的智能优化器将计算的一部分向下推送并直接分配到远程运营数据库中,以减少通过网络移动的数据,从而帮助提高性能。Amazon Redshift 利用其大规模并行处理功能进一步加快查询的后续执行,对此类执行进行了补充。联合查询还允许客户直接查询运营数据库、动态应用转换以及将数据加载到目标表中,而无需复杂的 ETL 管道,从而更轻松地将数据提取到 Amazon Redshift 中。2021 年,除了现有 Amazon Aurora PostgreSQL 和 Amazon RDS for PostgreSQL 数据库之外,我们还增加了对 Amazon Aurora MySQL 和 Amazon RDS for MySQL 数据库的支持,以便客户通过联合查询访问更多数据源,从而进行更丰富的分析。
最后,在 2021 年的分析所有数据这个支柱中,我们添加了诸如 SUPER、GEOGRAPHY 和 VARBYTE 之类的数据类型,使客户能够将半结构化数据原生存储在 Redshift 数据仓库中,以便他们大规模、高性能地分析所有数据。SUPER 数据类型允许客户摄取 JSON 和半结构化数据,并将其存储在 Amazon Redshift 数据仓库中。Amazon Redshift 还支持 SQL 上 PartiQL 兼容的关系型、半结构化和嵌套数据访问。使用 Amazon Redshift 中的 SUPER 数据类型和 PartiQL,客户可以执行高级分析,将经典结构化 SQL 数据(如字符串、数字和时间戳)与半结构化 SUPER 数据(如 JSON)结合在一起,从而实现卓越的性能、灵活性和易用性。GEOGRAPHY 数据类型基于 Redshift 对空间分析的支持而构建,提供对更多第三方空间和 GIS 应用程序的支持。此外,它还添加了 GEOMETRY 数据类型以及 Redshift 中已有的 70 多种空间函数。GEOGRAPHY 数据类型用于要求具有地理特征的更高精度空间数据结果的查询,这些地理特征可以用地球的球体模型表示,并使用纬度和经度作为空间坐标系统进行引用。VARBYTE 是一种可变大小的数据类型,用于存储和表示可变长度的二进制字符串。
Redshift 提供任何规模的性能
自从我们在 2012 年推出 Amazon Redshift 以来,任何规模的性能一直是我们为成千上万客户创造价值的基本原则,这些客户每天都信任我们,从自己的数据中获取业务见解。我们的客户遍及各个行业,规模不等(从初创公司到财富 500 强企业),我们致力于为任何使用案例提供最佳性价比。多年来,我们推出了一些功能,例如,通过并发扩缩在需要时动态添加集群容量,通过自动工作负载管理 (WLM) 确保高效使用集群资源,以及自动调整数据布局、分配密钥和查询计划以提供给定工作负载的最佳性能。2021 年,我们推出了诸如 AQUA、写入并发扩缩以及进一步增强 RA3 节点等功能,以继续改善 Redshift 的性价比。
我们在 2019 年推出了 RA3 节点类型,作为一项允许独立扩展计算和存储的技术。我们还介绍了包括 Codeacademy、OpenVault、Yelp 和 Nielsen 在内的客户如何利用带有托管存储的 Amazon Redshift RA3 节点来扩展其云数据仓库并降低成本。RA3 利用 Redshift Managed Storage (RMS) 作为其持久存储层,以允许将数据提交回 Amazon S3 的存储容量几乎不受限制。这启用了数据共享和 AQUA 等新功能,在其中,将 RMS 用作跨多个集群的共享存储。RA3 节点有三种尺寸(16XL、4XL 和 XLPlus)可供选择,以平衡性价比。2021 年,我们推出了单节点 RA3 XLPlus 集群,帮助客户经济高效地将其较小的数据仓库工作负载迁移到 RA3,并利用更好的性价比。我们还引入了自助式 DS2 到 RA3 RI 迁移功能,该功能允许以固定成本在同等节点类型之间转换 RI。
Amazon Redshift 的 AQUA (Advanced Query Accelerator) 是一种新的分布式硬件加速缓存,通过自动提升某些查询类型,使 Amazon Redshift 的运行速度比其他企业云数据仓库快一个数量级。AQUA 使用 AWS 设计的处理器和经过调整以加快数据加密和压缩速度的 AWS Nitro 芯片,以及在 FPGA 中实施的自定义分析处理器来加快扫描、筛选和聚合等操作。 AQUA 可用于 RA3.16xLarge、RA3.4xLarge 或 RA3.xlPlus 节点,无需额外付费,也无需更改代码。
并发扩缩于 2019 年推出,旨在处理尖峰和不可预测的读取工作负载,而无需预置任何容量。Redshift 为主集群每运行 24 小时的使用量提供一小时的免费并发扩缩。它还提供成本控制,以监控和限制并发扩缩的使用量与相关成本。除了读取查询之外,支持写入查询一直是客户支持 ETL 工作负载的一项重要要求。2021 年,我们推出了预览版 Redshift 并发扩缩写入查询支持,其中包含 INSERT、DELETE、UPDATE 和 COPY 等常见操作,以处理 ETL 工作负载中不可预测的峰值。如果您当前正在使用并发扩缩,则会在集群中自动启用此新功能。您可以使用 Amazon Redshift 控制台来监控并发扩缩使用情况,并在使用量超出定义的限制时收到警报。您还可以使用 AWS Command Line Interface (CLI) 和 AWS API,以编程方式创建、修改和删除使用限制。
最后,我们将继续确保 AWS 提供全面的安全功能来满足最苛刻的要求,且 Amazon Redshift 将继续提供开箱即用的数据安全性,无需额外费用。我们在 2021 年推出了新的安全功能,例如跨 VPC 支持和默认 IAM 角色,以继续使 Redshift 对客户工作负载更加安全。
总结
在让客户更轻松、更简单、更快地分析其所有数据方面,速度至关重要,我们正在加速创新,为 Redshift 引入新功能。我们将继续在全球更多 AWS 区域推出 Redshift 功能,以确保所有客户都能使用所有功能。我们已经介绍了上述主要功能,您可在此处查看完整列表。我们期待您使用其中一些功能,继续在数据和分析方面进行创新。
关于作者
Manan Goel 是 AWS 分析服务(包括 Amazon Redshift 和 AWS AQUA)产品上市领导者。他拥有超过 25 年的经验,精通数据库、数据仓库、商业智能和分析。Manan 拥有杜克大学工商管理硕士学位和电子与通信工程学士学位。