1、AI时代的变革者:面向机器的接口语言(MOQL),吕海波 PG ACED,CONTENTS,AI时代的变革者,-面向机器的接口语言(MOQL),/01,强大的SQL语言,4,强大的SQL语言,5,Text2SQL 从自然语言生成SQL,强大的SQL语言,6,Text2SQL 从自然语言生成SQL,强大的SQL语言,7,高消耗的SQL语言,强大的SQL语言,8,高消耗的SQL语言数据读、写:31.88%的消耗其他、SQL:68.22%(其中SQL占30%以上)SQL与数据处理消耗资源相当,强大的SQL语言,9,MOQL:SQL执行过程应用端写SQL数据库得到SQL由SQL生成Plan执行Plan
2、,强大的SQL语言,10,MOQL:执行过程应用端:Text To Plan数据库得到SQLPLAN由SQL生成Plan执行PlanSQL是为了方便应用开发人员快速检索、操控数据。AI 可以更好的让应用开发人员掌握数据库。为什么不用 AI 代替 SQL,由AI直接生成更便于数据库执行的“结构”(暂定为Plan)。,强大的SQL语言,11,MOQL:分阶段实现基于开源Text2SQL模型,改造为Text2Plan阶段1:整合开源Text2SQL模型,添加Plan生成功能阶段2:改造开源Text2SQL模型,去除SQL阶段3:优化开源Text2Plan模型,AI对数据库研发的变革,-用DS分析AI
3、对数据库内核开发的影响,/02,AI对数据库研发的变革,13,AI对数据库研发的变革,14,AI对数据库研发的变革,15,AI对数据库研发的变革,16,注:以上测试,SQL执行期间,没有观察到任何磁盘I/O,数据都被缓存在内存当中示例数据库静置一段时间后,查询性能可提升百倍左右(DML 10%的行后,性能又将大幅下降),AI对数据库研发的变革,17,共计 317 个线程,线程数太多。,AI对数据库研发的变革,18,总结如下:上下文切换开销内存消耗锁与同步开销,AI对数据库研发的变革,19,每个 Core CPU使用率并不高,虽有317个线程,但多数都在sleep,这种情况下只执行一条几十M数据
4、的表扫描,上下文切换的开销,不足以导致近20倍的差异。Deepseek的回答,并没有触及问题本质。,AI对数据库研发的变革,线程化的工作模式,新颖的开发理念:阶段化SQL执行过程分解为各个“阶段”数据库所有操作分解为“阶段”资源池化每个阶段,对应完成其相关工作的模块(也就是线程)同一阶段所有线程构成“资源池”,AI对数据库研发的变革,pq_getbyte secure_read WaitEventSetWait epoll_wait,exec_simple_query或exec_bind_messageexec_execute_message,可见性判断事务处理,I/O:调用系统调用,等待I/
5、O结束,传统的开发理念:一个进/线程从头到尾完成SQL所有工作,AI对数据库研发的变革,22,新、老开发模式的对比,Deepseek给出的回答非常好,个人感觉,至少超过80%的开发者。,AI对数据库研发的变革,23,对通过线程,实现多阶段、资源池化的开发的优、缺点,都总结的十分到位。,大型系统软件开发,Deepseek更偏向“多阶段、资源池化+多线程”这种开发模式。,AI对数据库研发的变革,24,缺乏量化信息:延迟更高,高多少?缓存利用率较差,差多少?,AI对数据库研发的变革,25,不同线程的数据同步延迟本质是CPU同步延迟:线程1在Core n修改一个内存变量在Core m的线程2,多久后能
6、看到修改后的数据,AI对数据库研发的变革,26,不同线程的数据同步延迟本质是CPU同步延迟:线程1在Core n修改一个内存变量在Core m的线程2,多久后能看到修改后的数据,AI对数据库研发的变革,27,不同线程的数据同步延迟本质是CPU同步延迟:线程1在Core n修改一个内存变量在Core m的线程2,多久后能看到修改后的数据,AI对数据库研发的变革,28,不同线程的数据同步延迟数据在不同模块中时的延迟(以3GHz主频为例):L1,45个周期,1.331.67 纳秒L