人工智能融合数据库技术
A.教学目的
通过本知识点的学习,使学生了解数据库与人工智能技术结合的产生背景和动机,知道如何将人工智能和数据库技术融合。了解如何利用人工智能技术优化数据库(AI4DB),如何利用数据库技术帮助人工智能技术落地(DB4AI),以及如何充分利用新的硬件来同时支持人工智能和数据库技术。学生学习本知识点后将对AI数据库系统有一定了解。
B.教学内容
【知识与技能】
1. AI数据库系统产生背景和动机
2. AI4DB、DB4AI以及异构计算框架
3. AI原生数据库:AI-Native DB
【课程思政】
讲解过程中,引入优秀数据库产品:华为GaussDB作为具体产品案例。华为GaussDB是一款基于华为自研的一个企业级AI-Native分布式数据库,GaussDB 是业界首款 AI-Native数据库,也是业界第一款支持 ARM 的企业级数据库。其有两大创新:一是首次将人工智能技术融入分布式数据库的全生命周期,实现自运维、自管理、自调优、故障自诊断和自愈。在交易、分析和混合负载场景下,基于最优化理论,首创基于深度强化学习的自调优算法,调优性能比业界提升 60%以上;二是通过异构计算创新框架充分发挥 X86、ARM、GPU、NPU 多种算力优势,在华为实验室采用权威标准测试集 TPC-DS 进行测试的情况下,其性能比业界提升50%,排名第一。
基于此款产品,介绍国家在新时代大力建设、发展人工智能的发展战略。产品取得的成功激发了民族自豪感,证明了国家发展战略的正确性、重要性和前瞻性,鼓励学生与科研技术人员坚定信心与路线、坚持国家发展战略,开拓进取,勇攀高峰。同时,人工智能技术与数据库技术的结合是跨界融合创新的成果,符合国家的创新发展战略要求,鼓励培养创新思维、创新精神和创新能力。另外,目前人工智能技术发展较快,而数据库发展相对较慢,以先进技术对后者进行帮扶,也体现了我国社会主义的发展理念,符合平衡发展的要求。
C.教学思想
1.场景及问题引导:大数据时代下,传统数据库技术面临的问题与挑战。
2.问题分析:在上述背景下,为何产生AI数据库,如何解决这些问题。
3.解决问题:介绍如何将人工智能和数据库技术融合,介绍AI-Native数据库。
4.思维拓展:介绍华为GaussDB的主要特点和优势,拓展课堂思政教育内容。
D.教学资源
1.华为云服务器 https://auth.huaweicloud.com/
2.GaussDB 官方社区 http://www.opengauss.org
E.教学重点
1.人工智能和数据库技术融合:AI4DB、DB4AI以及异构计算框架。
2. AI原生数据库:AI-Native DB。
F.教学难点
人工智能和数据库技术融合:AI4DB、DB4AI以及异构计算框架
G.教学方法与工具
1. 问题导向法、情景创造法、案例分析法和探究讨论法
2. SPOC线上学习平台
3. 雨课堂
H.教学设计
1.提出问题(创设情景,导入新课)
大数据时代下,数据库系统主要面临3个方面的挑战:首先,基于专家经验的传统优化技术(如代价估计、连接顺序选择、参数调优)已经不能满足异构数据、海量应用和大规模用户对性能的需求,可以设计基于学习的数据库优化技术,使数据库更智能;其次,AI 时代,很多数据库应用需要使用人工智能算法,如数据库中的图像搜索,可以将人工智能算法嵌入到数据库,利用数据库技术加速人工智能算法,并在数据库中提供基于人工智能的服务;再者,传统数据库侧重于使用通用硬件(如CPU),不能充分发挥新硬件(如ARM、AI 芯片)的优势.此外,除了关系模型,数据库需要支持张量模型来加速人工智能操作。
2.升级问题(创设第二情景)
如何将人工智能和数据库技术融合,一方面提升数据库的智能性,另一方面降低AI使用门槛?如何利用人工智能技术优化数据库(AI4DB);如何利用数据库技术帮助人工智能技术落地(DB4AI);最后,如何充分利用新的硬件来同时支持人工智能和数据库技术?
3.分析问题
(1) AI4DB:
人工智能技术可以在多个维度为数据库赋能:(1)人工智能模型可以作为外挂工具为数据库提供优化服务, 比如外挂的SQL重写工具, 先给出SQL语句的优化建议, 再传递给数据库内核执行; (2)人工智能模型可以融合到数据库内部, 提供运行时优化, 比如我们可以把配置优化模块植入查询优化器, 提供查询级别的参数调优; (3)可以用人工智能算法代替数据库传统组件, 比如提供学习型优化器、学习型索引、学习型视图构建等等, 甚至可以利用人工智能算法对数据库重组织, 根据负载特性自动生成合适的执行路径; (4)可以把人工智能技术融入到数据库的整个生命周期, 在数据库部署的各个阶段提供智能优化; (5)用人工智能技术改造查询优化模块, 由于合理的执行计划对于查询处理非常重要, 可以通过在查询解析、处理、优化的各个层次结合合适的人工智能技术, 提高执行计划的生成效率和表现; (6)用人工智能技术优化数据库运维, 数据库运维对于保证数据库可用性、可靠性等诸多方面有着重要意义, 而数据库运维是一个非常复杂的工作, 包括状态监控、问题诊断、性能评估、意外处理等多个方面, 通过结合人工智能技术, 数据库可以实现自诊断、自愈、自监控, 进而解放人力实现自动运维; (7)用人工智能技术保证数据库安全, 数据库安全对于确保用户隐私信任非常重要, 传统的数据隐藏、加密技术多有被破解的隐患, 不能保证足够高的安全性, 通过结合深度学习, 利用复杂的神经元连接方式进行数据隐藏、加密和访问控制, 我们可以极大提升数据库的安全性.。
(2) DB4AI:
人工智能技术严重依赖于数据.通过有效结合数据库在存储、管理和操作数据上的优势, 人工智能的训练和学习过程可以更加高效.此外, 数据库不仅能为人工智能提供数据, 而且能更好地支持人工智能服务.从建模、训练、重用的角度来看:1)利用统一的SQL接口, 用户可以使用用户定义的函数或存储过程轻松构建人工智能模型; 2)训练人工智能模型需要进行大量的张量计算, 通过扩展关系代数, 数据库可以更好地支持张量计算, 并统一在执行器中执行, 有助于模型训练; 3)收敛的人工智能模型可以以物化视图、查询表等方式持久化, 方便用户重用.但要在数据库上支持人工智能技术, 还有一些亟待解决的问题.
首先, 人工智能和数据库有不同的使用方式.通常, 人们用python或R语言编写人工智能模型, 但使用SQL语句访问关系数据库中的数据.因此调用人工智能相关的服务有两个问题:(1)在编写人工智能的应用程序时, 人们需要经常在不同的系统之间切换; (2)传统的数据分析师只知道一些SQL知识, 编写人工智能代码并不轻松.因此, 如果我们能够扩展解析规则, 使SQL同时支持DB和AI, 那么提供与AI相关的服务将更加方便;
其次, 人工智能技术多基于张量数据模型, 现有数据库还不能很好支持这类数据模型.因此, 我们需要扩展的关系代数和统一的数据模型来在数据库上支持人工智能服务。
(3) 异构计算框架:
随着摩尔定律濒临失败, 数据库不能再依靠单处理器来提高处理能力.当今, 异构计算框架带来了新的潜力:首先, 它具备了异构的计算能力(如GPU, TPU, FPGA); 其次, 不同的协处理器能够处理不同的任务, 可以大大提高数据库的处理能力.但要支持异构计算框架, 数据库需要解决3个主要问题.
单一的系统级资源调度.AI芯片(计算密集型)擅长处理并行的张量计算, 而并不适合传统数据库的理论架构和操作(数据密集型操作).也就是说, 结构化数据分析是否可以利用AI芯片的高并行计算能力?此外, 为了支持不同的作业(AI+DB)并合理利用计算和存储资源, 数据库需要融合异构计算单元;
单一的加速器架构.传统的加速器架构只支持OLAP类型, 对于OLTP和HTAP工作负载, 为了保证系统内存和加速器的本地内存之间的数据一致性, 现有加速技术实际效率很低.数据库需要整合新的技术, 如Intel发布的CXL高效的内存访问能力、RDMA的通讯能力、可编程硬件能力, 提升数据库查询处理能力;
单一的数据模型.首先, 为了提供异构计算, 我们需要为不同的操作定义数据模型.例如:关系数据模型依赖关系代数来实现数据管理, 但不适合TPU/NPU处理模型; 张量模型适合于矩阵和迭代计算, 但不适合于关系数据处理.此外, 希望不同的计算能力协同工作.例如, 我们需要扩展关系代数来支持张量计算, 从而加速多种关系型运算(如联接、聚合等).因此需要解决关系数据模型和张量模型是否可以互相转换?是否可以互相受益?是否有统一高效的调度算法来充分发挥异构硬件的能力?
(4) AI-Native数据库:
AI-Native 数据库分为五个等级:
1、AI Advised,AI建议型数据库包括一个人工智能引擎,通过自动化建议,提供数据库的离线优化,减少数据库管理员的负担。这种外挂式人工智能引擎与数据库松耦合。
2、AI Assisted,AI辅助型数据库将AI引擎集成到数据库内核中, 提供运行时优化.AI工具(如调优模型、工作负载调度、视图推荐)可以合并到相应的数据库组件中。通过这种方式, 人工智能被集成到数据库的工作过程中,数据库内置 AI 引擎,实现在线辅助优化,提升数据库管理效率;
3、AI Enhanced,AI增强型数据库不仅用人工智能技术优化数据库设计, 而且提供基于数据库内置的AI原生服务。一方面将 AI 植入数据库内核组件、核心算法和数据结构,实现数据库自优化;
4、AI Assembled,AI自组装型数据库不仅自动地组装数据库组件来生成最适合给定场景的数据库, 而且还将不同任务调度到合适的硬件上。实现数据库自愈并最优化 AI;
5、AI Designed,在这个阶段, 数据库完全由人工智能设计, 包括设计、编码、评估、监控和维护等各个阶段.我们将人工智能技术集成到整个数据库生命周期中, 使数据库和人工智能都能获得最佳性能。通过 AI 技术实现数据库的设计、验证、开发,达到全场景智能和普惠AI的目的。
4.拓展延伸(课程思政)
讲解华为数据库GaussDB的发展历程与性能等,培养学生的民族自豪感。
华为GaussDB是一个企业级AI-Native分布式数据库。GaussDB采用MPP(Massive Parallel Processing)架构,支持行存储与列存储,提供PB(Petabyte,2的50次方字节)级别数据量的处理能力。可以为超大规模数据管理提供高性价比的通用计算平台,也可用于支撑各类数据仓库系统、BI(Business Intelligence)系统和决策支持系统,为上层应用的决策分析提供服务。
华为GaussDB将AI能力植入到数据库内核的架构和算法中,为用户提供更高性能、更高可用、更多算力支持的分布式数据库。
l GaussDB是业界首个AI-Native(人工智能原生态)数据库,首次将人工智能技术融入分布式数据库的全生命周期,实现自运维、自管理、自调优、故障自诊断和自愈。首创基于深度强化学习的自调优算法,调优性能比业界提升60%以上。
l 通过异构计算创新框架充分发挥X86、ARM、GPU、NPU多种算力优势,在权威标准测试集TPC-DS上,性能比业界提升50%,排名第一。。
l GaussDB支持本地部署、私有云、公有云等多种场景。在华为云上,GaussDB为金融、互联网、物流、教育、汽车等行业客户提供全功能、高性能的云上数据仓库服务。
GaussDB AI Framework:
GaussDB取得的成功激发了民族自豪感,证明了国家在新时代大力建设、发展人工智能的发展战略的正确性、重要性和前瞻性,学生与科研技术人员应坚定信心与路线、坚持国家发展战略,开拓进取,勇攀高峰。同时,人工智能技术与数据库技术的结合是跨界融合创新的成果,符合国家的创新发展战略要求,鼓励培养创新思维、创新精神和创新能力。另外,目前人工智能技术发展较快,而数据库发展相对较慢,以先进技术对后者进行帮扶,也体现了我国社会主义的发展理念,符合平衡发展的要求。
I.作业
思考AI4DB除了课堂介绍的部分,还有哪些地方值得展开研究。写一篇短文论述你的观点。