跳到主要内容

数据源管理

数据源是接口访问数据库的入口。平台通过数据源驱动 SPI + 插件化实现统一接入异构数据库,并提供元数据浏览、只读查询、连接池配置与跨项目授权。

支持的数据源​

分类类型编码
SQLMySQL / Oracle / SQLServer / PostgreSQLmysql、oracle、sqlserver、postgresql
SQLTiDB / OpenGauss / OceanBasetidb、opengauss、oceanbase
SQL达梦 / Kingbase / TDSQL / StarRocksdm、kingbase8、tdsql、starrocks
NoSQL / 新型ElasticSearchelasticsearch
NoSQL / 新型TDengine / ClickHouse / DolphinDBtdengine、clickhouse、dolphindb
非关系型数据源

ElasticSearch 等数据源不支持完整标准 SQL,也不支持 if 等动态标签;平台会在驱动层做常见语法转换。表名或字段名包含 - 等特殊字符时,请使用英文双引号包裹。

数据源列表​

入口:【数据源】。

数据源管理

列表展示数据源基本信息与状态,支持:

  • 按类型筛选、按名称搜索。
  • 新建、编辑、删除。
  • 测试连接、启用/禁用。
  • 展开元数据树,浏览库、表、字段。
  • 授权给其他项目使用。

数据权限:只能看到自己创建的数据源和被授权访问的数据源。

新增数据源​

  1. 点击新建,选择数据源类型。
  2. 填写连接信息:
字段说明
数据源名称展示名称,建议包含环境或业务标识
地址 / 端口数据库主机与端口
数据库 / Schema默认库或 Schema
用户名 / 密码连接账号;密码加密存储
连接参数按数据库类型提供的额外 JDBC 参数
连接池最小空闲、最大连接、最大存活时间、保活间隔等
  1. 点击 测试连接,验证网络与凭证。
  2. 保存后平台自动发现元数据。

连接池默认值​

参数默认值
最小空闲连接0
连接最大存活时间15 分钟
连接保活探测间隔2 分钟
最大连接数留空时沿用连接池默认值;数据源停用时强制为 1
空闲连接回收 / 建立连接超时留空时沿用连接池默认值
连接数规划

接口调用会复用连接池。高并发场景请结合数据库最大连接数设置上限,避免多个数据源同时占满数据库连接。

元数据浏览​

保存成功后,左侧元数据树按「库 → 表 → 字段」三级展开:

  • 点击表名进入数据查询页,默认加载表数据。
  • 可查看表结构、字段类型与注释。
  • 可查看建表脚本,复制为 SQL 模板。
  • 可刷新元数据,感知表结构变更。

数据查询​

点击表名进入查询页,支持自定义只读 SQL:

  • 仅允许 SELECT、SHOW、DESC、DESCRIBE、EXPLAIN 开头的语句。
  • 查询结果分页展示,单次预览最多返回 100 行。
  • 支持 SQL 格式化与执行耗时展示。

详见 元数据与数据查询。

跨项目授权​

数据源可以在项目之间授权:

  1. 在数据源列表点击【授权】。
  2. 选择目标项目。
  3. 被授权项目可在接口中选择该数据源。
  4. 被授权方只能使用数据,不能查看或修改连接信息与账号密码。

限制:

  • 数据源被其他项目的接口引用时,不允许取消授权或删除。
  • 取消授权后,引用该数据源的跨项目接口需要调整。
  • 授权关系按数据源维护,不随项目删除自动清理,请先解除引用。

安全机制​

机制说明
密码加密数据源密码加密存储,接口不会回显明文
项目隔离数据源默认只在所属项目可见
只读查询元数据查询页限制为只读语句
权限校验非创建人需通过授权才能访问
连接测试保存前验证连通性,减少无效配置

删除与停用​

  • 数据源被接口引用时不能直接删除。
  • 停用数据源后,连接池最大连接数会被强制为 1,相关接口将无法正常查询。
  • 删除前请确认没有开发中或已发布接口引用该数据源。

扩展新类型​

新增数据源类型需要实现 DataSourceDriver 接口并注册为插件:

public interface DataSourceDriver {
String type();
DataSource getDataSource(DataSourceConfig config);
// ...
}

相关阅读:元数据与数据查询、SQL 模式、数据模型。