使用集成生成式AI的Amazon DMS架构转换加速迁移
关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, 生成式AI, DMS Schema Conversion, Database Migration, Schema Conversion, Generative Ai, Heterogeneous Migration, Abstract Syntax Tree]
导读
了解亚马逊云科技如何利用生成式AI重塑数据库迁移。Amazon DMS现在使用Amazon Bedrock中的生成式AI来改进模式转换的自动化,从而减少人工工作,加快向完全托管服务(如Amazon Aurora和Amazon RDS)的迁移速度。Amazon DMS是一项托管迁移服务,可帮助您快速、安全地将数据库和分析工作负载迁移到亚马逊云科技,同时最大限度地减少停机时间并实现零数据丢失。本次会议深入探讨了使用生成式AI进行模式转换背后的架构决策。同时还将展示这一创新技术的实际应用演示。
演讲精华
以下是小编为您整理的本次演讲的精华。
2024年亚马逊云科技 re:Invent大会上举办了一场洞见深刻的会议,探讨如何在Amazon数据库迁移服务(DMS)架构中利用集成的生成式AI能力来加速迁移。该会议由John主持,他是DMS的产品负责人,自2015年re:Invent大会推出该服务以来一直与之相关。
John首先承认与会者对生成式AI的认识和兴趣日益增长。然后,他概述了会议议程,主要探讨DMS如何利用生成式AI能力,尤其是在异构迁移期间进行数据库模式转换。虽然该会议被归类为300级会议,但John花了一些时间确保所有与会者都全面了解DMS及其基本操作。
正如John所阐述的,DMS是一项旨在促进数据库之间数据迁移的服务,无论迁移是同构的(涉及相同的数据库引擎)还是异构的(涉及不同的数据库引擎)。DMS的一个显著优势在于其能够通过一种称为逻辑复制的过程实现最小停机时间的迁移。这种能力使得在源数据库保持运行的同时,将事务从源复制到目标数据库,从而在迁移过程中最大程度地减少对业务运营的中断。
John强调了DMS的广泛采用,引用官方统计数据显示,超过120,000名客户已成功利用该服务进行迁移。他进一步阐述了DMS解决的各种用例,包括将关键业务应用程序迁移到云端、升级到较新的数据库版本、合并或拆分数据库、启用复制以及促进数据库现代化等。
会议的核心重点集中在DMS模式转换功能上,该功能可在异构迁移期间自动转换数据库模式。John详细解释了DMS模式转换的工作原理,强调其能够分析源数据库元数据、执行评估以衡量转换过程的复杂性,并随后为目标数据库转换模式对象。这种集成的工作流程简化了迁移过程,无需在多个应用程序之间导航。
John将DMS模式转换与传统的模式转换工具(SCT)进行了对比,强调前者代表了亚马逊云科技的未来发展方向。他强调了DMS模式转换的优势,包括其基于云的执行模型(无需本地安装)以及使用该服务不直接收费,只需支付少量与S3存储和网络相关的费用。
深入探讨技术细节,John阐明了DMS模式转换的运作模式。该服务采用基于规则的方法,解析源代码、构建抽象语法树、解析对本地变量和其他对象的引用、将解析后的语法树转换为目标语法,并最终生成目标代码。John提供了抽象语法树的可视化表示,说明了该过程的冗长性和中间表示的语言无关性。
然而,John承认传统的基于规则的方法存在局限性,促使将生成式AI能力集成到DMS模式转换中。在集成生成式AI之前,亚马逊云科技进行了多次试点,探索不同的方法并评估其可行性和有效性。
第一个试点尝试使用生成式AI转换整个模式。然而,这种方法耗时较长,并且存在一致性问题,因为生成式AI模型有时会出现幻觉,可能导致结果不一致。
第二个试点着眼于利用AI确定参数和存储对象的适当数据类型。虽然这种方法在优化存储和性能方面取得了积极成果,但由于如果数据类型转换不成功可能导致应用程序故障的潜在连锁反应,因此被认为风险太大。
第三个试点旨在理解源代码背后的意图,目的是在目标数据库上创建与源代码在不同语言中实现相同目标的过程。然而,这种方法被证明过于乐观,因为从源代码中准确地推断开发人员的意图是一项挑战。
第四个试点探索使用大型语言模型(LLM)来优化性能,方法是转换代码并引入性能增强措施,如子查询到连接转换和索引添加。虽然这种方法确实带来了一些性能改进,但被认为还不足以立即着手关注。
基于从这些试点中获得的见解,亚马逊云科技决定以有针对性的方式将生成式AI能力集成到DMS模式转换中。所选方法是利用生成式AI填补基于规则的转换过程无法产生令人满意结果的空白。
该过程首先由DMS模式转换尝试使用现有的基于规则的引擎转换模式。对于无法成功转换的对象,该服务会将它们发送到Amazon Bedrock生成式AI模型(目前使用Claude 3.5)进行转换。然而,这个过程涉及几个额外的步骤,以确保上下文、安全性和准确性。
首先,DMS模式转换通过告知AI模型转换涉及数据库模式来设置上下文。这一步骤至关重要,因为LLM的运作基于提供的上下文,如果上下文没有正确设置,可能会产生无关或不正确的结果。
接下来,DMS模式转换在将数据发送到AI模型之前对敏感数据进行了遮蔽。即使Amazon Bedrock旨在尊重数据隐私,并且不会使用发送给它的信息来改进自身能力,这一步骤也作为额外的安全措施而实施。遮蔽过程将模式名称、表名称,甚至数据值替换为通用占位符,确保不会将任何敏感信息暴露给AI模型。
然后,DMS模式转换查询两个知识库:一个包含类似的转换示例,另一个包含一组全面的转换规则。这些知识库用于增强提供给AI模型的信息,从而提高生成转换的准确性和相关性。
经过遮蔽的源代码以及上下文和知识库信息,作为检索增强生成(RAG)请求发送给Amazon Bedrock AI模型。RAG方法旨在通过利用与特定转换任务相关的自定义数据和示例来提高LLM的效力。
一旦AI模型生成了转换后的代码,DMS模式转换就会执行健全性检查,以确保结果与预期的格式和结构一致。如果结果通过了健全性检查,该服务就会对转换后的代码进行去遮蔽,恢复原始的模式名称、表名称和数据值。
去遮蔽后的转换代码将嵌入到抽象语法树中,随后以适当的语言语法写回目标数据库。
John现场演示了模式转换过程,首先展示了不使用生成式AI的传统基于规则的方法。他浏览了评估报告,其中突出显示了部分转换的模式,表格成功转换,但代码对象(如过程和视图)无法正确转换。
然后,他在DMS模式转换中启用了生成式AI功能,并重新运行转换过程。结果显示,转换率显著提高,转换后的代码包括注释,指示了由AI模型生成的部分。John强调,用户可以选择在DMS模式转换中或通过导出模式并使用首选的查询工具手动编辑转换后的代码。
转换数据库模式后,John将重点转移到迁移应用程序代码上。他演示了DMS模式转换与Amazon CodeWhisperer(Q)服务的无缝集成,该服务旨在协助代码转换。
John展示了一个与SQL Server数据库交互的C#应用程序。他使用Q服务将应用程序代码从使用SQL Server库转换为使用PostgreSQL库,突出了该过程的简便和高效。只需突出相关代码部分并向Q提供指令,该服务就会生成转换后的代码,用PostgreSQL等效项替换SQL Server特定的函数、变量类型和库。
在整个演示过程中,John强调了在迁移过程中确保数据完整性的重要性。他承认,虽然演示集中在一个相对简单的演示数据库上,但现实世界的场景可能涉及更复杂的模式和数据结构。在这种情况下,可能需要采取额外的步骤,如禁用外键约束和触发器,以确保数据迁移成功。
在会议的结尾部分,John概述了DMS Schema Conversion的未来路线图以及与生成式人工智能能力的集成。他承认当前的实现是为了赶在re:Invent 2024年的截止日期而匆忙完成的,因此存在显著的改进和扩展空间。
重点关注领域之一将是增强测试和验证流程。虽然当前的实现执行了基本的健全性检查,但需要更加健壮的测试来确保转换后的代码在功能和性能方面与源代码完全一致。
另一个关键的开发领域是扩展对更多源和目标数据库引擎的支持。虽然当前的实现支持从Oracle和SQL Server转换到Aurora PostgreSQL,但John暗示将支持更多数据库引擎,与DMS所知的多功能性和灵活性保持一致。
模型演进是路线图中另一个关键方面。随着生成式人工智能模型不断发展和改进,DMS Schema Conversion将无缝集成更新和更强大的模型,利用该领域的最新进展来进一步增强转换过程。
此外,John还提到计划扩大可以使用生成式人工智能进行转换的对象和代码构造的范围。当前的实现侧重于转换具有较高成功转换可能性的对象和代码,但团队的目标是逐步扩大支持的对象和构造范围,利用生成式人工智能的能力来解决更复杂的场景。
在结束语中,John鼓励与会者探索和试验DMS Schema Conversion中的生成式人工智能功能。他强调该服务是免费使用的,只需支付少量辅助服务(如S3存储和网络)的费用。John邀请与会者通过各自的账户团队或其他渠道提供反馈和分享经验,因为这些反馈将在未来发展和增强该服务中发挥关键作用。
总的来说,本次会议全面概述了亚马逊云科技如何将生成式人工智能能力集成到其数据库迁移服务架构中。通过利用Amazon Bedrock等生成式人工智能模型的强大功能,DMS Schema Conversion旨在简化和加速数据库模式转换过程,这是异构迁移的关键组成部分。该会议不仅展示了当前的能力,还提供了未来路线图的见解,突出了亚马逊云科技致力于持续改进和扩展该服务以满足客户不断发展的需求。
下面是一些演讲现场的精彩瞬间:
亚马逊云科技 数据库迁移服务(DMS)能够无缝迁移关键业务应用程序、数据仓库和数据库到云端,有助于升级、整合和采用微服务架构。
DMS支持无缝数据库迁移,无论是同构还是异构,同时将停机时间和对业务运营的影响降至最低,提供了经济实惠的解决方案。
亚马逊云科技 数据库迁移服务专家解释了规划成功数据库迁移的关键考虑因素,包括同构与异构、在线与离线以及最大程度减少对业务用户的影响。
亚马逊云科技 DMS Schema Conversion分析源数据库的元数据,以评估将其转换为目标数据库的复杂性,而无需对数据做任何承诺或更改。
Werner Vogels演示了生成式人工智能如何集成到亚马逊云科技 Schema Conversion中,利用运行在Amazon Bedrock上的Claude Saunna 3.5来增强模式转换功能。
亚马逊云科技首席执行官Andy Jassy鼓励观众探索亚马逊云科技的免费服务和测试数据库,亲身体验平台的功能。
总结
以下是关于使用生成式AI加速Amazon DMS数据库迁移的演讲内容摘要:
演讲者John介绍了Amazon DMS Schema Conversion如何现在使用生成式AI来简化异构数据库迁移中的数据库架构转换。在考虑了不同方法后,他们选择了一种解决方案,即使用生成式AI来转换无法通过标准规则转换的元素。这需要对数据进行混淆、定义上下文、查询知识库并使用RAG(Retrieval Augmented Generation)模型来指导生成式AI。
演示展示了如何将SQL Server数据库架构转换为Aurora PostgreSQL,生成式AI填补了空白。接下来,使用Amazon Q DeveloperAgent工具来转换相应的应用程序代码。最后,Amazon DMS将数据迁移到新的目标数据库。
虽然这个功能刚刚推出,但还有更多改进计划,包括更全面的测试、支持更多源和目标、AI模型的发展以及扩大转换范围。目标是通过生成式AI使数据库迁移比以往更加简单和透明。
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。做为全球生成式AI前行者,亚马逊云科技正在携手广泛的客户和合作伙伴,缔造可见的商业价值 – 汇集全球40余款大模型,亚马逊云科技为10万家全球企业提供AI及机器学习服务,守护3/4中国企业出海。