2023年,ChatGPT-4的横空出世把AI推到了前所未有的高度,这也使得与AI相关的一切都得到了长足的发展,近期出现的DeepSeek也给全球的AI及其相关产业带去了一次巨大的震撼。那么,AI究竟能为数据库的应用做出哪些贡献呢?
知识库与官方文档
这其实不仅是AI的事情,特别是对于国产数据库厂商来说,这是一个需要积累的地方,对比与传统应用较多的数据库,比如Oracle(包含MOS)、MySQL和PG有海量的网上案例可以用作知识库的素材,国产数据库在应用案例、实践反馈、故障分析都相对较少,因此难以快速为AI构建知识库积累素材。
这种现象原因可归为两方面,一方面是起步晚发展变化快,文档难以定型;另一方面是大多数文档都是研发人员写的,内容比较晦涩且部分的表达不是那么好。这种情况下就可以使用AI对文档进行改写,同时还可以让AI接入内部研发体系,直接根据产品研发情况对文档进行优化更新。
同时文档也是AI构建知识库的基础材料,打好地基以后,其实就是需要扩展数据库的应用场景,一方面是打磨产品,另一方面也能快速扩展知识库的素材。
AIOps for DB
在数据库领域AI的主要应用就是监控运维,它可以实时的对数据库的运行状态、运行指标、日志流转、应用反馈、容量等方面进行监控,并根据运行场景与相关数据提供出更加精准、动态且细粒度的告警、优化等方面的反馈。相较于传统监控运维,AI可以根据自有知识库及人工预设实现故障预警与故障自愈;AI还能对数据库运行的相关能耗进行监控,可以更加充分的利用硬件资源实现降低碳排放;AI也可以对数据库使用周期以及容量进行预测,提前做好扩缩容准备;依托于AI与机器学习还能实现超参调优等。
语句审核
这里就不仅限于关系型数据库的SQL语句,因为SQL语句相对规整,仅使用规则匹配就能实现审核需求。而众多NoSQL数据库则不一样了,首先不同的数据库有不同的语句,有些可以使用REST API操作数据的数据库,则对应语句相对宽松,一点小小的书写错误可能带来灾难性的数据操作。通过AI对NoSQL数据库语句进行审核,可以很好的规避人工不易排查出来的问题。另一方面,AI可以接入数据库,对数据库中的表设计、索引以及模型逻辑进行分析,在语句审核时还可以与数据库对应信息进行关联,在判断语句本身是否存在书写问题的基础上判断其业务实现情况,评估出性能表现并给出对应调优建议。
NL2SQL
NL(Natural Language,自然语言)转换为SQL,不仅仅是简单的将一般人类书写的需求通过AI转换成SQL语句(或其他语句)然后到数据库中执行得到结果,这样的结果往往是不可读的,仍需要附加处理;NL2SQL还应该根据输入内容或文本及其需求,AI在转换语句并执行结果的基础上进一步生成可读文本、图表等,在数据库输出结果的基础上给出经处理过直接可用的结论。
数据库迁移
在数据库国产化浪潮中,数据库的迁移作为其中重要的步骤会原来越多。数据库迁移主要包含两大部分:
1、数据迁移
:不同的数据库存在数据存储的差异,包括但不限于数据类型种类与兼容度的差异,同数据类型名称差异、精度差异等,表的命名、宽度限制差异等,集中式与分布式数据库表设计的差异……通过AI对这些差异进行检查,并给出资源评估、迁移方案与操作建议的效率和成效会远高于人工。同时还可以尝试把迁移的方法评估与执行、数据比对、异常处理等方面的工作交给AI,针对源库与目标库的特性及数据特点完成相关工作。
2、语句适配与应用改造
:这部分才是数据库迁移的难点,首先不同数据库的语句是有差异的,是需要进行一定程度的改写的;从实际情况来看即便有极高兼容性的情况下也很难实现在语句不改写的情况下实现相同甚至接近的性能表现;一旦涉及集中式数据库向分布式数据库的转变的语句改写,还要和数据迁移进行关联;存储过程、触发器、索引、视图等的迁移改造等等。通过AI对源库语句进行抓取与学习(如果可以,对应用代码进行扫描效果会更佳),结合数据迁移去适配目标库的特性,对语句提出改写建议甚至可以提出应用代码变更建议,最后还可以协助完成测试工作,提升效率与成效。
大数据
我认为AI对大数据的作用远大于OLTP类业务,特别是数据库HTAP能力的提升,以前一些使用大数据实现的业务场景已可以使用业务数据库实现。另一方面OLTP业务产生的数据库本身就是大数据的数据来源,AI可以针对数据构成、数据流转、数据价值进行分析,根据数据变化规律在抓取数据的过程中直接完成筛选与计算,在提升大数据运算效率的同时,也可以降低大数据存储的数据量,减少网络传输与存储的资源消耗压力。使用AI优化大数据场景下的数据排布也能进一步提升大数据的利用效率。将一些关键数据进行向量化,还可以扩展数据在AI上的应用场景。
原创 尹海文 ITPUB