PowerData

编者荐语:

明晚7:30,都来听PowerData 苏奕嘉同学的直播

以下文章来源于Apache Doris 补习班 ,作者苏奕嘉

[

Apache Doris 补习班 .

Apache Doris Active Contributor 和 SelectDB SA 来做的不定时更新,主打 Apache Doris 系列学习文章和相关信息、原理解析或者新特性使用教程,争取 All In 原创,欢迎投稿~

](#)

引言

经过半个月的晚睡早起,终于将 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 库内,不依赖任何三方库,请给予创建库表的权限,或手动完成元数据库表创建后,赋予该库表读写改权限和其他库表的读权限。

NL2SQL

Apache Doris 作为一款实时数据分析仓库,应用最为广泛的即为 AdHoc 和各类报表展示以及业财分析场景,在降低使用门槛这件事上,Apache Doris 已经高度兼容了 MySQL 语法协议,并支持 SQL99 的标准语法,但是即使如此,对于非技术的同学而言,使用成本还是非常高的。

基于这一现象,市面上也涌现了大量的 NL2SQL(Text2SQL)的解决方案(Vanna 等开源组件),包括 ChatBI 等智能可视化报表等方案,但是从准确度、执行效果、组件适配度等各方面而言,都还是没有特别亮眼的效果。

正是因为如此,Doris MCP Server 从设计之初,就深度考虑了这一普适性诉求,从整体技术实现方案上进行了多处改良,并尽可能降低预训练门槛,希望在"零训练"状态下,依旧保持及格甚至优秀的表现。

综上,Doris MCP Server NL2SQL 在以下方面已有较好的实现:

  • • 支持预训练集拓展检索
  • • 支持无标注库表字段业务分析
  • • 支持多DB跨库检索(非跨组件检索)
  • • 支持检索内容自动加入训练集(越用响应越快、检索越准确)
  • • 支持正则自定义库表先后检索排序
  • • 支持多类型LLM(深度适配 Deepseek)
  • • 支持Prompt拓展词自定义
  • • ……
  • • 联邦跨源检索查询
  • • 多行业预制分析模板切换
  • • 多源文件内容检索增强业务理解能力
  • • 自适应 Doris 权限管控体系
  • • ……

SQL 自动优化分析

在业务开发过程中,最头疼的就是 SQL 写的不够优雅,或者 SQL 无法执行导致排障花费很多时间,同时有时候对前人留下的 SQL 完全不懂是什么含义,需要花费大量的时间重新梳理思路来学习和改造。

本功能可实现三块能力:

  • • SQL 自动优化(使用Profile、Explain等信息进行自动优化,或给出优化建议)
  • • 错误 SQL 改写(未能成功执行的 SQL 尽可能根据业务实现目的改写为可成功执行的 SQL)
  • • SQL 解析和业务解释

该能力将会深度整合 Doris 引擎的特性,通过智能分析 SQL 执行计划、查询性能特征和数据分布特点,提供定制化的优化建议。系统会考虑表的分区分桶策略、索引使用情况、JOIN操作优化、数据倾斜处理等多维度因素,生成针对性的改进方案。

对于复杂查询,系统将自动识别潜在的性能瓶颈,如全表扫描、低效的连接操作、不必要的排序等,并给出明确的优化路径。同时,针对 Doris 特有的查询加速技术,如前缀索引、物化视图、预聚合等,系统也会提供合理的应用建议,确保 SQL 能够充分发挥 Doris 的性能优势。

此外,系统还将提供交互式的优化过程,使用户能够理解每一步优化的原理和预期效果,从而在实践中积累查询优化的经验和知识。

集群诊断(待开发)

在 Doris 集群使用和运维阶段,最担心的是集群在很多同学共同开发的情况下,执行了很长时间以后,已经有了很多问题,但由于对 Doris 运行原理和适用场景的不熟悉,无法有效完成排查。

本功能将实现:

  • • 集群运行状态诊断(输出PDF报告)
  • • 异常宕机状态诊断

这一部份能力,将极大的降低 Doris 集群的运维门槛和故障排查成本。通过智能化的诊断机制,系统能够自动收集并分析关键指标,识别潜在风险,提供专业级的诊断报告和修复建议。

智能 ETL(待开发)

数据提取、转换和加载(ETL)是数据仓库建设中最繁琐且耗时的环节,传统ETL开发需要数据工程师手动编写大量代码,维护复杂的调度流程,并处理各种数据异常情况。随着业务复杂度提升和数据源多样化,ETL开发和维护的成本呈指数级增长。

Apache Doris MCP Server 计划推出的智能ETL功能,将彻底革新传统ETL开发模式,通过AI赋能实现"低代码甚至零代码"的ETL流程构建。该功能将覆盖数据集成全生命周期,包括:

  • • 自然语言定义ETL:用户只需用自然语言描述业务需求,系统自动设计并生成完整ETL流程,包括数据源连接配置、转换逻辑和目标表设计。
  • • 智能数据映射:自动分析源数据结构和目标模型,推导出最优的字段映射关系,处理字段类型转换、命名规范化等问题。
  • • 自适应转换逻辑:根据数据特征和业务规则,自动构建数据清洗、转换和聚合逻辑,支持复杂的条件处理和业务规则实现。
  • • 异常数据智能处理:自动识别并处理异常数据,如缺失值、离群值和不一致数据,提供多种处理策略并解释处理逻辑。
  • • 自动调优与监控:持续监控ETL作业性能,自动优化资源配置和执行计划,确保数据加载的效率和稳定性。

数据智能治理(待开发)

随着企业数据规模的爆发式增长,数据治理已成为确保数据资产价值最大化的关键环节。然而,传统的数据治理方法往往需要大量人工干预,流程繁琐,难以跟上数据增长的步伐,导致数据质量参差不齐、元数据管理混乱、数据安全隐患频出。

Apache Doris MCP Server 的数据智能治理模块将融合AI技术与数据管理最佳实践,打造全方位、自动化的数据治理解决方案,主要包括:

  • • 智能元数据管理:自动发现并提取数据资产的元数据信息,推断数据语义,构建业务术语与技术元数据的映射关系,形成完整的数据字典和知识图谱。
  • • 自动化数据质量监控:基于机器学习的异常检测算法,自动识别数据质量问题,如完整性、准确性、一致性等方面的异常,并提供根因分析。
  • • 智能数据分级分类:根据数据敏感度、业务价值和使用频率等维度,自动对数据进行分级分类,为后续的数据安全策略和生命周期管理提供基础。
  • • 合规风险智能识别:结合最新的法规要求和行业标准,自动识别数据处理过程中的合规风险点,提供针对性的合规建议。
  • • 数据价值评估:基于数据使用模式、查询频次和业务影响,对数据资产进行价值评估,帮助企业识别高价值数据并优化资源分配。

Apache Doris MCP Client 介绍

Apache Doris MCP Client 是与 MCP Server 配套的客户端组件,提供了丰富的接口和便捷的交互方式,帮助用户充分利用 MCP Server 的各项功能。客户端采用前后端分离的架构,前端基于 Vue.js 构建用户友好的交互界面,后端提供稳定的 API 服务。

客户端核心特性

  1. 1. 现代化交互界面:基于 Vue.js 和 Element Plus 构建的直观界面,支持响应式设计,适配各种设备屏幕。
  2. 2. 多语言支持:内置中英文双语支持,通过 i18n 国际化框架实现,便于后续扩展更多语言。
  3. 3. 实时响应机制:采用流式处理技术,在处理耗时查询时提供即时反馈,展示阶段进度。
  4. 4. 安全连接管理:提供连接状态监控和自动重连功能。
  5. 5. 可视化展示:内置多种图表和表格组件,自动将查询结果转化为直观的可视化表达。

使用场景

MCP Client 适用于多种场景:

  • • 数据分析师:通过自然语言快速完成数据探索和分析,无需手写复杂SQL。
  • • 业务人员:使用熟悉的自然语言描述业务需求,获取相关数据洞察。
  • • 数据库管理员:利用SQL优化和集群诊断功能,维护系统健康运行。
  • • 开发人员:节省SQL编写和调试时间,提高开发效率。

快速开始

配置项修改

  • • 数据库信息配置
  • • 层级匹配开关
  • • 选择每个阶段的 LLM 模型供应商和模型类型
  • • 配置 LLM 的 URL、AK

服务端启动

服务端为 Python 程序,已做高度封装,执行根目录下 start_server.sh 脚本即可完成环境

bash start_server.sh

客户端启动

当前可以直接以 dev 开发模式启动

  1. 1. 通过 npm 构建项目

    cd client npm build dev

  2. 2. 启动项目

    npm run dev

NL2SQL 测试

<iframe class="video_iframe rich_pages" data-src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&amp;action=mpvideo&amp;auto=0&amp;vid=wxv_3921612034479030282" data-mpvid="wxv_3921612034479030282" data-vidtype="2" data-cover="http%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCTs9IbbY3YpKktticfrppHWdfQ8qHuAInsv59V8KfmZeibibmE9ZwLRwFOs0x4Bq3fLFGSekOsMCibNHxYVfa5Ojfw%2F0%3Fwx_fmt%3Djpeg"></iframe>

未来展望

随着 Apache Doris MCP Server 的不断发展,我们规划了一系列前瞻性的功能与优化方向:

技术增强

  1. 1. 多模态理解增强:整合图像、音频等多模态数据分析能力,实现更全面的数据解读。用户可以直接上传图表、截图等内容进行分析,系统能够理解图像中的数据并转化为相应查询。
  2. 2. 主动学习机制:引入用户反馈循环,系统从每次交互中学习并提升,针对特定业务场景持续优化模型效果。
  3. 3. 低资源环境适配:优化系统在边缘设备和资源受限环境下的表现,降低部署门槛,扩大应用范围。
  4. 4. 实时协同分析:支持多用户同时分析同一数据集,共享见解与分析过程,促进团队协作。
  5. 5. 模糊描述优化:对语义不明确的查询,给出多套查询内容引导,使其正确描述问题,避免语义歧义。

业务场景拓展

  1. 1. 行业特化解决方案:针对金融、零售、制造等垂直领域,预置行业知识模型和分析模板,提供深度定制的分析能力。
  2. 2. 数据质量与治理融合:集成数据质量检测和数据治理功能,在分析过程中自动发现并提示潜在的数据问题。
  3. 3. 预测性分析增强:结合自主学习模型,在描述性分析基础上提供预测性分析,帮助用户洞察未来趋势。
  4. 4. 知识图谱构建:自动从数据分析过程中提取业务实体和关系,构建领域知识图谱,增强语义理解能力。

生态系统建设

  1. 1. 跨平台集成:提供与主流BI工具、数据科学平台和开发环境的无缝集成能力,成为数据生态的智能枢纽。
  2. 2. 联邦身份认证:支持企业级身份认证和授权系统对接,满足大型企业的安全合规需求。
  3. 3. 云原生部署优化:深度适配Kubernetes等云原生环境,提供弹性扩展、故障自愈等高可用特性。

尾声

熟悉的朋友都知道这半个月的不容易,除本职工作外,剩余时间得设计和Coding,不过好在熬出头了。

同时上面的那些规划,也都是认真考虑过的,通过这些规划,Apache Doris MCP Server 将不断突破传统数据分析的边界,创造更直观、更智能、更高效的数据交互体验,助力用户从数据到洞察的全过程,真正实现"让数据会说话"的愿景。

同时,Apache Doris MCP Server & Client 我们也已经在筹备开源贡献出来了,我们诚邀社区力量共同参与,一起构建下一代智能数据分析平台。


PowerData
1 声望6 粉丝

PowerData社区官方思否账号