将您的 MySQL 工作负载带到 Azure 上运行。作负载提更高性能 供功能强大、完全托管的解决方案,提供独特的平台级优化,可显著增强连接扩展和成本性能。确保关键任务应用程序的高效率和低延迟,性能最高可达其他产品的两倍。与 Azure OpenAI 服务和 Azure AI Search 的集成进一步扩展了其功能,支持基于矢量的智能搜索和生成式 AI 响应,以实现更准确、更相关的用户查询。
首席集团 PM Parikshit Savjani分享 Database — 灵活服务更高性能 器如何通过将 Azure 的可扩展性和安全性与先进的 AI 驱动洞察力相结合,将传统 MySQL 应用程序转变为高性能智能系统。
在 Azure 上运行 MySQL
一项完全托管的更高性能 服务,具有独特的优化功能 — 性能翻倍,并支持 AI 驱动的搜索和响应。请在此处查看。
将事务日志重定向至高速 SSD
视频记录:
-如果 MySQL 是您选择的应用数据层,您将希望在 Azure 上运行它。在更高性能 接下来的几分钟内,我将向您展示 Azure Database for MySQL Flexible Server 作为一项完全托管的服务,如何基于社区驱动的 MySQL 提供独特的平台级优化,例如,使用新的加速日志功能,您可以显著提高 Web 应用的连接扩展和成本性能,与其他产品相比,性能可提高两倍。
-或者,您可以将结合起来,利用现有的 Web 和电子商务应用,实现自然语言查询和生成式 AI 响应的智能向量搜索,同时在 Azure 全球网络主干上以企业级高级平台级安全性和弹性为基础运行,并利用 Azure 中 Copilot 内置的 AI 技术指导。事实上,微软是一个主要更高性能 的开源贡献者,作为一个开放平台,您可以在 Azure 上运行整个 LAMP 堆栈。
-这实际上是 上的,社区更新在数月内就已实现,可提供高水平的兼容性和扩展支持,并具有一些额外的优势,我们为您在上运行的工作负载提供平台级优化。
-例如,在这里我为我的电子商更高性能 务应用程序部署了基于框架,并且借助 Azure Database for 灵活服务器的业务关键服务层中的新加速日志功能,我将向您展示我们如何在 MySQL 强大的横向扩展架构之上进行构建,以提高成本性能并减少磁盘写入延迟。
-每当有特定促销或活动时,此电子商务应用程更高性能 序就容易出现流量突发,因此我将使用 sysbench 工具持续大约 300 秒、128 个线程、20 个表和每个表 2000 万条记录来模拟数据库的高吞吐量流量并测量每秒的交易和查询数量。
-我将首先在未启用加速日志的情况下运行此测试,您将看到测得的吞吐量约为每秒 4,500 个事务、每秒 90,000 个查询,并且第 95 个百分位数的延迟约为 51 毫秒。
-现在让我们返回 Azure 门户以启用加速日志。在 中,我们将再次运行完全相同的测试并让事务处理。
旦完成,您将看到我们的吞吐量翻了一番,每秒交易数为 笔,而之前为 笔;每秒查询数为 笔,而之前为 笔。响应时间减少了一半以上,百分位的延迟为 22 毫秒,而之前为 51 毫秒。
-我们能够通过 Azure 的平台级优化实现这一点,在幕后,我们将更高性能 常规数据文件 IO 操作保留在原处,但将 IO 密集型事务日志重定向到更高速的 SSD,以实现更低的延迟和更高的性能。
-这可确保您的关键任更高性能 务工作负载具有更好的响应能力、更高的吞吐量和成本效益。接下来,让我们通过基于向量的搜索和生成式 AI 响应使相同的工作负载更加智能。这是我的电子商务应用程序的前端。它的搜索是基于关键字的,这有局限性。您可以在这里看到我正在更高性能 寻找一件女士雨衣,因为它以夹克作为关键字进行搜索,所以它不仅返回了女士夹克的结果,还返回了男士夹克的结果,而且并非所有夹克都是雨衣。
-现在,让我向您展示使用语义搜索实现的相同功能,并使用自更高性能 定义生成式 AI 体验返回响应。我将使用自然语言输入“我们住在西雅图,我想给我的妻子买一件雨衣,其他顾客对此评价很高,并推荐这款雨衣。”
-正如您所见,产品推荐聊天能够用自然语言解释我的要求,从存储在我更高性能 们后端 MySQL 数据库中的产品和评论数据中执行语义搜索,并更高性能 将评论结果汇总给我以推荐 Inez 全拉链夹克。
-让我们看看后端发生了什么。为了支持我们的 股东数据库 电子商务应用的语义搜索,我们利用和 服务。使用定期运行的索引器从 的后端 数据库中提取产品和评论数据。使用 Azure OpenAI 的文本嵌入模型对评论数据进行进一步分块和矢量化。在 中,矢量化数据随后保存在矢量搜索索引中。事实上,让我向您展示我们如何在代码中实现这种架构。
-在这里,我们使用
代码来定义、构建和刷新 中的向量搜更高性能 索索引。我们需要做的第一件事是建立数据库连接。为此,我定义了托管电子商务 数据库的 灵活服务器的连接强度。
-接下来,我们需要连接到我们将用于生成 司机通常经过背景调查并持有执照 嵌入的 Azure AI 服务。在这里,我输入了 Azure OpenAI 部署详细信息,包括 API 基础、API 密钥和 API 类型(在本例中为 Azure)。我使用 OpenAI 的文本嵌入 ada-002 作为嵌入模型,嵌入大小为 1,536 维,以及 GPT-4 大型语言模型。现在我已经建立连接,可以开始构建向量索引了。
-我将使用 服更高性能 务端点。在这里,我定义了搜更高性能 索键、服务端点详细信息以及稍后将使用的索引名称。现在,我需要定义 AI 搜索将用来填充向量索引的查询。在本例中,由于产品和客户评论数据存储在据库中的单独表中,因此我在数据库中定义了一个单视图抽象名称 。这将连更高性能 接产品和评论表以提取所有产品信息及其各自的评论。
-现在,我可以完成之前命名的向量索引 的配 cl 列表 置。由于客户更高性能 评论文本字符串可能很长并且跨越多个主题,因此我们需要将它们分解成更小的部分或块,以便任何给定评论中的每个主要主题都有自己独特的向量嵌入。我在这里已经完成了,每个块都会获得一个新行。这由一个唯一的评论 ID 字段表示。在此之下,我为每个新行添加了七个额外的父字更高性能 段以提供更多上下文。我们稍后将定义将评论文本拆分成块的过程。
对于向量索引本身我使用了
分层可导航小世界 (HNSW) 图,这是最流行的相似性搜索算法之一。我在这里定义了 HNSW 参数,并定义了我稍后将使用的 和矢量化器的连接设置。
-现在,对于向量索引,我已经定义了搜索类型。在这里,我使用向量搜索和语义搜索,它们一起产生了所谓的混合搜索。这意味着您可以使用关键字或自然语言描述进行搜索。
-所以我将继续运行它。一旦完成,您将看到我们的 Magento 评论索引现已创建。接下来,我们创建一个索引器,它将从我们的 MySQL 数更高性能 据库中提取产品评论数据,将其分成块,为每个块生成向量,并将其写入搜索索引。
-这里我们使用两个预构建更高性能 的技能集。Split Skill 从每个评论生成块。然后,Azure OpenAI 的嵌入技能使用这些块为索引生成向量嵌入值。现在我们可以运行所有内容以将向量数据插入到我们的向量索引中。我们的 Azure AI Search 服务现已准备更高性能 好进行语义搜索查询。事实上,我可以从笔记本中尝试一下。
-我将针对我们的向量搜
索索引执行语义搜索查询“为我推荐一些女士雨衣”,您将更高性能 看到与我们之前在 Web 应用中看到的相同的结果。Inez Full-Zip Jacket 的语义搜索得分最高,是我们的最佳结果。在索引运行时,我们还可以在 Azure AI Studio 游乐场中尝试这一点。为此,我只需要将其连接到我的搜索索引。从设置中,在“添加您的数据”选项卡中,我将添加我的数据源。在更高性能 本例中,它是我们刚刚创建的 Azure AI 搜索类型。然后我需要选择我的索引。我将启用向量搜索选项,然后使用 ada-002 嵌入模型。
-我将搜索类型保留为混合加语义,就这样。从这里开始,我们准备开更高性能 始在聊天游乐场中配置 GenAI 体验。使用系统消息,我可以指示 OpenAI GPT-4 模型充当产品推荐助手。现在,为了测试它,我将粘贴之前的相同查询并运行它。然后,当它完成时,您更高性能 会看到 Inez Full-Zip Jacket 显示为最受推荐的雨衣,以及评论的简要摘要。现在一切都测试完毕,我们准备在生产中运行它,就像您之前在我们网站上看到的那样。
-以上就是将 MySQL 工作负更高性能 载迁移到 Azure 上的独特优势的概述,从性能优化到如何使用 Azure AI 服务进行扩展。要了解更多信息,请查看。您可以加入 社区,网址获更高性能 取最新技术更新。感谢您的收看。