简介
Data Dive 是 DBAI 节点(TDSQL Boundless AI Node)提供的智能数据查询与洞察套件,面向跨库取数、运营分析与自动化报表场景。Data Dive 将数据查询、自然语言理解、趋势解读与可视化渲染整合为统一的服务能力,帮助用户在不编写复杂胶水代码的前提下,完成多源数据的关联查询与业务洞察输出。
Data Dive 不替换现有的 MySQL、PostgreSQL、MongoDB、Redis 实例,而是在其之上提供具备查询、推理与可视化能力的统一智能入口。
核心功能与优势
Data Dive 对外提供以下四项核心能力:
跨源关联查询:支持在同一条 SQL 语句中关联 MySQL、PostgreSQL、MongoDB、Redis 等多种数据源,实现跨库数据的统一查询与聚合计算;
自然语言转 SQL:将用户的自然语言问题转换为带 Schema 校验的可执行 SQL,支持复杂查询意图的理解与多源数据范围的自动匹配;
智能洞察:基于查询结果自动完成趋势分析、Top-N 排名、异常点识别与归因总结,以结构化格式(JSON / HTML)输出,可供 Agent 或后端系统直接消费;
可视化渲染:将查询结果与洞察结论一键生成可交互、可分享的可视化报表页面,支持嵌入前端、邮件或协作平台展示。
基于以上能力,Data Dive 具备以下功能优势:
数据零搬迁,原地查询:不引入额外 ETL 流程,不下沉至数仓。DBAI 节点通过适配层将各数据源挂载为本地表,原始数据保留在源库,物理隔离与权限边界始终不被打破;
统一 SQL 方言,多源一体:MongoDB 文档、Redis 键值、COS 上的 Parquet 文件均被映射为可查询的标准对象,关系型、文档型、键值型与文件型数据源通过一套 SQL 方言统一访问;
AI 与 SQL 同层执行:
ai_sql()、ai_query()、ai_insight() 作为内建函数提供,自然语言解析、跨库执行与洞察生成在同一执行计划中完成,避免跨进程调用与数据搬运开销;下推优化,高效执行:过滤条件尽可能下推至源库执行,仅返回必要数据。跨源 JOIN 在节点内基于列存与向量化引擎完成,吞吐表现优于自行编写脚本拼接。
Data Dive 功能使用
接入数据源
DBAI 节点提供三种数据源接入方式,支持云上实例与自建实例的统一纳管。接入完成后,所有数据源在统一命名空间下可见。
自然语言接入
通过
prompt() 函数将接入意图、实例信息与账号密码一并提交至节点,由节点解析并完成接入:SELECT prompt('把广州地域的实例 cynosdbmysql-ins-fi6ah3js 接入到 AI 节点,命名为 shop,用户名 reader,密码 ***');
地域 + 实例 ID(推荐)
使用云资源标识与账号密码进行接入,网络打通由平台托管:
ATTACH DATABASE mysql_shopFROM 'cynosdbmysql-xxxxxxxx@ap-guangzhou'USER 'reader' PASSWORD '***';ATTACH DATABASE pg_crmFROM 'postgres-xxxxxxxx@ap-guangzhou'USER 'reader' PASSWORD '***';ATTACH DATABASE mongo_logsFROM 'cmgo-xxxxxxxx@ap-guangzhou'USER 'reader' PASSWORD '***';ATTACH DATABASE redis_cacheFROM 'crs-xxxxxxxx@ap-guangzhou'PASSWORD '***';
标准 IP / Port(自建 / 跨账号)
使用标准连接信息,适用于自建实例、混合云或跨账号纳管:
ATTACH 'host=xxx port=xx user=xx password=xxxxx database=xx'AS mysql_shop (TYPE MYSQL);ATTACH 'host=xxx port=xx dbname=xx user=xx password=xxxxx'AS pg_crm (TYPE POSTGRES);ATTACH 'host=xxx port=xx user=xx password=xxxxx'AS mongo_logs (TYPE MONGO);ATTACH 'host=xxx port=xx user=xx password=xxxxx'AS redis_cache (TYPE REDIS);
对象存储(COS / S3)
对象存储无需
ATTACH,可直接以路径方式访问;私有桶需配置访问密钥:CREATE SECRET cos_secret (TYPE S3,KEY_ID 'xxxx',SECRET 'xxxx',REGION 'ap-guangzhou',ENDPOINT 'xxxx.ap-guangzhou.tencentcos.cn');SELECT * FROM 's3://bucket/sales/2026/*.parquet';
接入完成后,执行
SHOW ALL TABLES; 即可在统一命名空间下查看所有已接入数据源的表。跨库查询
接入数据源后,可通过标准 SQL 语法在同一条语句中关联多种数据库,实现跨源联邦查询。
以下示例展示了一次典型的四源关联查询:从 PostgreSQL 中获取2026-05-01后注册的用户信息,关联 MySQL 中的订单统计、Redis 中的实时会话状态以及 MongoDB 中的登录日志,最终按订单数量降序返回前100条结果。
SELECT u.uid,u.name,o.order_cnt,c.session AS live_session,l.last_login_ipFROM pg_crm.crm.users uJOIN mysql_shop.test_ai.orders oON o.uid = u.uidLEFT JOIN redis_cache.session cON c.uid = u.uidLEFT JOIN mongo_logs.logs.user_log lON l.uid = u.uidWHERE u.create_time > '2026-05-01'ORDER BY o.order_cnt DESCLIMIT 100;-- 返回:-- +------+------+-----------+-------------------+---------------+-- | uid | name | order_cnt | live_session | last_login_ip |-- +------+------+-----------+-------------------+---------------+-- | 1003 | 王五 | 23 | sess_m3n4o5p6q7r8 | 172.16.0.88 |-- | 1008 | 郑十 | 18 | sess_t5u6v7w8x9y0 | 172.20.0.100 |-- | 1001 | 张三 | 15 | sess_a1b2c3d4e5f6 | 192.168.1.100 |-- | 1005 | 孙七 | 12 | sess_j9k0l1m2n3o4 | 10.10.10.5 |-- | 1002 | 李四 | 8 | sess_x7y8z9w0v1u2 | 10.0.0.55 |-- +------+------+-----------+-------------------+---------------+
自然语言查询
无需手写 SQL,用户可直接以自然语言发起数据查询。系统支持两种调用方式:
生成 SQL(不执行):
SELECT ai_sql('订单金额最高的前 3 名用户是谁?列出姓名、城市和订单金额',schemas => ['pg_crm', 'mysql_shop']) AS generated_sql;-- 返回:-- +-------------------------------------------------------------+-- | generated_sql |-- +-------------------------------------------------------------+-- | SELECT u.name, u.city, o.amount |-- | FROM pg_crm.crm.users u |-- | JOIN mysql_shop.test_ai.orders o ON o.uid = u.uid |-- | ORDER BY o.amount DESC |-- | LIMIT 3 |-- +-------------------------------------------------------------+
生成并执行:
SELECT ai_query('订单金额最高的前 3 名用户是谁?列出姓名、城市和订单金额');-- 返回:-- +------+------+--------+-- | name | city | amount |-- +------+------+--------+-- | 王五 | 深圳 | 5600.00|-- | 郑十 | 南京 | 4200.00|-- | 孙七 | 杭州 | 3100.00|-- +------+------+--------+
生成报表
通过
ai_insight() 函数,系统可基于查询结果自动生成包含分析结论与可视化图表的报表。输出格式支持 HTML 与 JSON 两种模式,其中 HTML 格式适用于直接分享与嵌入前端页面展示,JSON 格式则便于程序解析与下游系统对接:HTML 报表输出:
SELECT ai_insight('最近两周订单量 Top 5 的用户是谁?他们的消费趋势如何?用折线图展示',format => 'html') AS report;-- 返回:-- +----------------------------------------------------------------------+-- | report |-- +----------------------------------------------------------------------+-- | https://xxxx.cos.ap-guangzhou.myqcloud.com/reports/top_users.html |-- +----------------------------------------------------------------------+
节点内部依次完成:意图解析 → SQL 生成 → 跨源执行 → 统计与趋势归因 → HTML 渲染,返回可分享的报表访问地址。
结构化 JSON 输出:
SELECT ai_insight('过去 30 天活跃用户的异常掉点',format => 'json');-- 返回:-- {-- "metric": "DAU",-- "trend": "down",-- "anomalies": [{"date":"2026-05-12","drop":0.18,"reason":"..."}],-- "summary": "..."-- }
与上层应用集成
Data Dive 支持通过多种方式与上层业务系统集成:
Agent / Chat:通过 MCP 或 HTTP 调用
ai_insight,将返回的 HTML / JSON 渲染至对话界面;BI / 控制台:将生成的 SQL 落到看板,按定时任务刷新;
后端服务:通过 SDK(Go / Python / Node)发起查询,以 JSON 格式处理返回结果。
实践教程
1. 善用 ATTACH + VIEW:将常用的跨库查询口径固化为视图,业务方仅需访问视图层,降低使用门槛;
2. 保持下推友好:在
WHERE 条件中优先使用源库索引列,避免 SELECT *,以充分利用下推优化;3. 遵循最小权限原则:接入数据源时使用只读账号,并按需限制可见库表范围;
4. 为自然语言查询提供上下文:通过
schemas => 参数限定查询范围,可显著提升 SQL 生成的准确率。