亚马逊AWS官方博客

Amazon Redshift 增加了包括 Amazon Q 在内的新人工智能功能,以提高效率和生产力



通过我们今天在预览版中推出的两项新功能,Amazon Redshift 为您提供人工智能(AI)服务,以提升效率和生产力。

首先,Amazon Redshift Serverless 更加智能。它可以根据查询的复杂性、频率、数据集大小等维度自动主动扩展容量,以根据具体需求优化性能。这使您可以减少调整数据仓库实例花费的时间,而将更多时间用于挖掘数据价值。

其次,Amazon Redshift 查询编辑器中的 Amazon Q 生成式 SQL 会根据自然语言提示生成 SQL 建议。这有助于您更高效地通过数据获取洞察信息。

我们先来介绍 Amazon Redshift Serverless
当您使用 Amazon Redshift Serverless 时,您现在可以选择启用 AI 驱动的扩展和优化预览版。启用后,系统会观察您的使用模式并从中学习,例如查询的并发数、其复杂性以及运行查询所需的时间。然后,它会自动优化您的无服务器端点,以实现您的性价比目标。AWS 内部测试显示,这一新功能可在无需任何人工干预的情况下,将可变工作负载的性价比提高多达十倍。

AI 驱动的扩展和优化消除了手动调整工作组大小所花费的时间和精力,并根据工作负载需求规划后台优化。它会在最有价值时持续运行自动优化以提高性能,从而避免性能下降和超时。

这项新功能超越了 Amazon Redshift Serverless 现有的自我调整功能,例如用于调整计算的机器学习(ML)增强型技术、修改数据库的物理架构、根据需要创建或删除实体化视图(我们自动管理的视图,而不是您的视图)以及清空表。这项新功能更加智能,可以决定如何调整计算、需要哪些后台优化以及何时应用这些优化,并且可以基于更多维度做出决策。如果查询需要,我们还会为实体化视图表优化工作负载管理编排基于 ML 的优化。

在预览版期间,您必须选择在您的工作组上启用这些 AI 驱动的扩展和优化。您可以配置系统以平衡价格或性能方面的优化。控制台中只有一个用于调整的滑块。

Redshift Serverless – AI 驱动的工作组

像往常一样,您可以通过控制台、Amazon CloudWatch 指标和系统表 SYS_SERVERLESS_USAGE 来跟踪资源使用情况和相关变化。

现在,我们来了解一下 Amazon Redshift 查询编辑器中的 Amazon Q 生成式 SQL
如果您能使用生成式人工智能来帮助分析师更快地编写有效的 SQL 查询,会怎么样? 这是我们今天在基于 Web 的 SQL 编辑器 Amazon Redshift 查询编辑器中推出的新体验。

现在,您可以用自然语言描述要从数据中提取的信息,我们会为您生成 SQL 查询建议。在后台,Amazon Q 生成式 SQL 使用大型语言模型(LLM)和 Amazon Bedrock 来生成 SQL 查询。我们使用提示工程检索式增强生成(RAG)等不同技术,根据您的上下文来查询模型:您连接的数据库、您正在使用的架构、您的查询历史记录以及连接到同一端点的其他用户的查询历史记录(可选)。系统还会记住之前的问题。您可以要求其优化之前生成的查询。

SQL 生成模型使用特定于数据架构的元数据来生成相关查询。例如,它使用数据库中的表名和列名以及表之间的关系。此外,您的数据库管理员可以授权模型使用您的 AWS 账户中所有用户的查询历史记录来生成更相关的 SQL 语句。我们不会与其他 AWS 账户共享您的查询历史记录,也不会使用来自您 AWS 账户的任何数据来训练我们的生成模型。我们保持满足您预期的高隐私和安全水准。

使用生成的 SQL 查询有助于您在发现新架构后开始使用。它为您处理发现列名和表之间关系的繁重工作。高级分析师还受益于用自然语言询问他们想要什么,并自动生成 SQL 语句。他们可以查看查询并直接从笔记本上运行查询。

我们来探索一下架构并提取信息
在本演示中,假设我是一家销售音乐会门票公司的数据分析师。数据库架构和数据可供您下载。我的经理要求我分析门票销售数据,以便向西雅图消费最多的客户发送附有折扣券的感谢信。

我连接到 Amazon Redshift 查询编辑器并连接分析端点。我为笔记本创建了一个新选项卡(只能在笔记本上生成 SQL)。

我没有编写 SQL 语句,而是打开聊天面板并输入“查找 2022 年西雅图购买门票最多的前五名用户。”我花时间验证生成的 SQL 语句。看起来正确无误,所以我决定运行它。我选择添加到笔记本,然后选择运行。该查询返回西雅图排名前五的买家名单。

sql 生成 – 前 5 名用户

我以前对数据架构一无所知,也从未输入过一行 SQL 来查找所需的信息。

但是生成式 SQL 并不局限于单一交互。我可以与它聊天来动态优化查询。下面是另一个示例。

我问:“哪个州的场馆最多?”生成式 SQL 提出了以下查询。满足大家的好奇心,答案是纽约,有 49 个场馆。

生成式 sql 聊天 01

我改变了主意,我想知道场馆最多的前三个城市。我只是重新表述了我的问题:“场馆数量排名前三的城市呢?

生成式 sql 聊天 02

我将查询添加到笔记本中并运行它。它返回预期结果。

生成式 sql 聊天 03

提示方面的最佳实践
以下是一些提示和技巧,可让您通过提示获得最佳结果。

具体 – 用自然语言提问时,请尽可能具体,以帮助系统准确理解您的需求。例如,与其写“查找门票销量最高的热门场馆”,不如提供更多详细信息,例如“查找 2022 年门票销量最高的三个场馆名称”。 使用一致的实体名称,例如场馆、门票和地点,而非以不同方式指代同一个实体,这可能会使系统迷惑。

迭代 – 将复杂的请求分解成多个简单语句,使系统更容易解读。以迭代方式提出后续问题,以便从系统中获得更详细的分析。例如,先问:“哪个州的场馆最多?” 然后,根据回答,问一个后续问题,比如“该州最受欢迎的场馆是哪一个?”

验证 – 在运行生成的 SQL 之前对其进行检查以确保准确性。如果生成的 SQL 查询有误或与您的意图不符,请向系统提供有关如何更正该查询的说明,而不是重新表述整个请求。例如,如果查询缺少按年份列出的筛选子句,请写出“提供自 2022 年起的场馆”。

可用性和定价
AI 驱动的扩展和优化已在六个 AWS 区域推出预览版:美国东部(俄亥俄州、弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(东京)和欧洲地区(爱尔兰、斯德哥尔摩)。不收取任何额外费用。您只需为数据仓库处于活动状态时消耗的计算容量付费。定价按每小时的 Redshift 处理单元(RPU)数计算。按每秒使用容量计费。Amazon Redshift 定价页面提供了详细信息。

适用于 Amazon Redshift 查询编辑器的 Amazon Q 生成式 SQL 现已在两个 AWS 区域推出预览版:美国东部(弗吉尼亚州北部)和美国西部(俄勒冈州)。预览版期间不收费。

以下是两个示例,说明 AI 如何通过自动调整 Amazon Redshift Serverless 端点的性价比或根据自然语言提示生成正确的 SQL 语句,来帮助优化性能和提高工作效率。

在向所有人提供这些功能之前,预览版对于我们收集反馈至关重要。立即试用这些功能,在 re: Post 论坛或者使用控制台左下角的反馈按钮将您的想法告诉我们

– seb