经过半个月的晚睡早起,终于将 Doris MCP Server v0.1.0 和 Doris MCP Client v0.1.0 两个版本搞定了。
作为首发版本,整体实现效果是超过我预期的,里面融合了很多心血和想法,代码量也是真的高。
不过在困倦战胜我之前,我先行战胜了最难的 NL2SQL 能力,初代版本还有诸多不完善,但是从展现出的能力和效果来看,这个组件将给 Apache Doris & AI 应用场景带来直观的变化!
四月一号,也就是明天,让我们晚上见面一起探索和直播演示整个 Doris MCP 的能力!
Doris & AI 专项群以及 Doris 补习班 & AI 专项群二维码已放置公众号尾部,或可加我好友拉你入群~
一起来看看!
MCP(Model Context Protocol)协议是一个的 AI 大模型上下文拓展标准,Apache Doris 作为当下最主流的 OLAP 数据库和实时数仓,也同步推出了具备多种能力和拓展性的 Apache Doris MCP Server。
Apache Doris MCP Server 基于前沿的大语言模型技术,结合 Doris 数据库的独特优势,为用户提供了一套全面而强大的数据交互和分析工具。系统采用模块化设计,可灵活扩展,旨在打通从数据存储到数据理解的全链路,使得数据分析和使用变得更加简单高效。
请注意,本服务所有数据均存至 Doris 库内,不依赖任何三方库,请给予创建库表的权限,或手动完成元数据库表创建后,赋予该库表读写改权限和其他库表的读权限。
Apache Doris 作为一款实时数据分析仓库,应用最为广泛的即为 AdHoc 和各类报表展示以及业财分析场景,在降低使用门槛这件事上,Apache Doris 已经高度兼容了 MySQL 语法协议,并支持 SQL99 的标准语法,但是即使如此,对于非技术的同学而言,使用成本还是非常高的。
基于这一现象,市面上也涌现了大量的 NL2SQL(Text2SQL)的解决方案(Vanna 等开源组件),包括 ChatBI 等智能可视化报表等方案,但是从准确度、执行效果、组件适配度等各方面而言,都还是没有特别亮眼的效果。
正是因为如此,Doris MCP Server 从设计之初,就深度考虑了这一普适性诉求,从整体技术实现方案上进行了多处改良,并尽可能降低预训练门槛,希望在"零训练"状态下,依旧保持及格甚至优秀的表现。
综上,Doris MCP Server NL2SQL 在以下方面已有较好的实现:
未来将规划更多功能:
更多有趣的内容期待各位探索发现,当然,当前版本开发仅半个月,有诸多未来得及完善之处,如遇问题,可至 Github 提交 issue 或者 Doris AI 群、私聊讨论交流。
在业务开发过程中,最头疼的就是 SQL 写的不够优雅,或者 SQL 无法执行导致排障花费很多时间,同时有时候对前人留下的 SQL 完全不懂是什么含义,需要花费大量的时间重新梳理思路来学习和改造。
本功能可实现三块能力:
该能力将会深度整合 Doris 引擎的特性,通过智能分析 SQL 执行计划、查询性能特征和数据分布特点,提供定制化的优化建议。系统会考虑表的分区分桶策略、索引使用情况、JOIN操作优化、数据倾斜处理等多维度因素,生成针对性的改进方案。
对于复杂查询,系统将自动识别潜在的性能瓶颈,如全表扫描、低效的连接操作、不必要的排序等,并给出明确的优化路径。同时,针对 Doris 特有的查询加速技术,如前缀索引、物化视图、预聚合等,系统也会提供合理的应用建议,确保 SQL 能够充分发挥 Doris 的性能优势。
此外,系统还将提供交互式的优化过程,使用户能够理解每一步优化的原理和预期效果,从而在实践中积累查询优化的经验和知识。
在 Doris 集群使用和运维阶段,最担心的是集群在很多同学共同开发的情况下,执行了很长时间以后,已经有了很多问题,但由于对 Doris 运行原理和适用场景的不熟悉,无法有效完成排查。
本功能将实现:
这一部份能力,将极大的降低 Doris 集群的运维门槛和故障排查成本。通过智能化的诊断机制,系统能够自动收集并分析关键指标,识别潜在风险,提供专业级的诊断报告和修复建议。
数据提取、转换和加载(ETL)是数据仓库建设中最繁琐且耗时的环节,传统ETL开发需要数据工程师手动编写大量代码,维护复杂的调度流程,并处理各种数据异常情况。随着业务复杂度提升和数据源多样化,ETL开发和维护的成本呈指数级增长。
Apache Doris MCP Server 计划推出的智能ETL功能,将彻底革新传统ETL开发模式,通过AI赋能实现"低代码甚至零代码"的ETL流程构建。该功能将覆盖数据集成全生命周期,包括:
随着企业数据规模的爆发式增长,数据治理已成为确保数据资产价值最大化的关键环节。然而,传统的数据治理方法往往需要大量人工干预,流程繁琐,难以跟上数据增长的步伐,导致数据质量参差不齐、元数据管理混乱、数据安全隐患频出。
Apache Doris MCP Server 的数据智能治理模块将融合AI技术与数据管理最佳实践,打造全方位、自动化的数据治理解决方案,主要包括:
Apache Doris MCP Client 是与 MCP Server 配套的客户端组件,提供了丰富的接口和便捷的交互方式,帮助用户充分利用 MCP Server 的各项功能。客户端采用前后端分离的架构,前端基于 Vue.js 构建用户友好的交互界面,后端提供稳定的 API 服务。
MCP Client 适用于多种场景:
服务端为 Python 程序,已做高度封装,执行根目录下 start_server.sh
脚本即可完成环境
bash start_server.sh
当前可以直接以 dev 开发模式启动
cd client
npm build dev
npm run dev
,时长01:00
随着 Apache Doris MCP Server 的不断发展,我们规划了一系列前瞻性的功能与优化方向:
熟悉的朋友都知道这半个月的不容易,除本职工作外,剩余时间得设计和Coding,不过好在熬出头了。
同时上面的那些规划,也都是认真考虑过的,通过这些规划,Apache Doris MCP Server 将不断突破传统数据分析的边界,创造更直观、更智能、更高效的数据交互体验,助力用户从数据到洞察的全过程,真正实现"让数据会说话"的愿景。
本文分享自 Apache Doris 补习班 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!