ClickHouse
数据源:外部 ClickHouse企业版+介绍
ClickHouse 可以作为外部数据库接入 NocoBase。接入后,NocoBase 会读取 ClickHouse 中的数据表、字段和视图,并把它们作为外部数据源中的数据表使用。
ClickHouse 更适合分析查询、日志分析、指标统计和报表展示。跟事务型数据库不同,它不适合作为 NocoBase 中频繁新增、编辑、删除业务记录的数据源。
适合使用外部 ClickHouse 的场景:
- 接入日志、埋点、指标、风控等分析型数据
- 在 NocoBase 中搭建运营看板、统计报表或查询页面
- 给业务人员提供只读查询入口, 减少直接访问数据库客户端
- 对已有 ClickHouse 数据做权限控制和可视化展示
ClickHouse 在 NocoBase 中建议按只读分析数据源使用。不要把它作为常规业务表的写入数据源,也不建议在页面中配置新增、编辑、删除类操作。
插件安装
该插件为商业插件,详细的激活方式请参考:商业插件激活指南
添加数据源
在「数据源管理」中点击「Add new」,选择 ClickHouse,然后填写连接信息。

常见连接配置如下:
ClickHouse 插件通过 MySQL 兼容协议接入。配置前先确认 ClickHouse 服务已经启用 MySQL 兼容端口,并且网络、防火墙和账号权限允许 NocoBase 访问。
接入范围
ClickHouse 页面不提供「Collections」勾选表格。接入范围主要由 Database、连接账号权限和 Table prefix 控制。
如果 ClickHouse 中表很多,建议先为 NocoBase 准备专门的 database、账号或表名前缀,只暴露当前应用需要查看和统计的表。
单个外部数据源一次最多接入 500 张数据表或视图。如果 ClickHouse 中对象很多,建议先通过 database、账号权限或 Table prefix 收窄范围。
同步和配置字段
外部 ClickHouse 的表结构由数据库侧维护。NocoBase 不会在外部 ClickHouse 中创建字段、修改字段类型或删除真实字段。
当 ClickHouse 侧表结构发生变化时,可以在数据源中执行「Sync from database」,重新读取表和字段元数据。同步会更新 NocoBase 中保存的数据表、字段、主键、唯一键和字段类型映射信息,但不会删除 ClickHouse 中的真实表或数据。
字段同步后,可以在 NocoBase 中配置字段标题、字段类型(Field type)和字段组件(Field interface)。如果需要建立 NocoBase 关系字段,也是在 NocoBase 中保存关系元数据,不会在 ClickHouse 表里自动新增真实外键字段。
字段类型映射
NocoBase 会把 ClickHouse 字段类型转换为 MySQL 兼容风格后,再映射到合适的 Field type 和 Field interface。你可以在字段配置中调整界面展示方式。
常见映射如下:
ClickHouse 中部分分析型或嵌套类型可能无法直接映射为普通业务字段。遇到不支持的字段类型时,可以先在 ClickHouse 侧创建适合展示的视图或查询表,再接入 NocoBase。
主键和记录唯一标识
ClickHouse 的排序键、分区键不一定等同于业务唯一标识。用于页面区块展示的数据表,仍然建议准备一个可以唯一定位记录的字段。
如果接入的是无唯一字段的表或视图,需要在数据表配置中手动设置「Record unique key」。没有可用唯一标识时,页面区块可能无法正确查看记录详情,也不适合配置编辑或删除操作。


