cube
开源语义层引擎:让 BI 工具和 AI Agent 理解业务数据语义,无需直接接触底层数据库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源语义层引擎:让 BI 工具和 AI Agent 理解业务数据语义,无需直接接触底层数据库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

想象这样一个场景:你是一家电商公司的数据分析师,想知道"上个月华北地区 30-40 岁女性用户的复购率是多少"。这个看似简单的需求,在传统数仓中可能涉及 JOIN 三张表、写 50 行 SQL、理解底层表结构——你得先花半小时搞懂数据"说的是什么语言",才能开始分析。
Cube Core 正是来解决这个问题的——它给 BI 工具和 AI 助手配备了一个"翻译官",让业务人员可以直接问业务问题,而不必懂底层数据怎么存。
Cube 诞生于 2019 年,背后的公司 Cube Dev 总部位于旧金山,2022 年拿到 A 轮融资。它的核心想法并不新鲜——语义层(Semantic Layer)的概念早在 2010 年代就有企业在内部数仓中实践。但真正让这个方向爆发的是两个催化剂:一是 AI 大模型开始接入数据分析场景,大模型需要"理解数据语义"才能正确回答问题;二是现代 BI 工具(Metabase、Apache Superset、Grafana)和嵌入式分析需求大量涌现,都需要统一的数据抽象层。
在这个背景下,"语义层"成为 2023-2024 年数据领域最热门的概念之一,Cube 也在这个窗口期内迅速积累到 2 万多星,是同类开源语义层项目中 Star 数最高的。
Cube 的架构分为三层。
第一层:Schema 定义层。开发者通过 YAML 或 JavaScript 定义数据模型,告诉 Cube"订单表里的 user_gender 字段其实代表用户的性别"、"created_at 字段需要按月聚合"。这些定义被称为"Metrics"(指标)和"Dimensions"(维度)。Schema 编译器(cubejs-schema-compiler)将这些定义转换为可执行的查询逻辑。
第二层:查询编排层(Query Orchestrator)。当用户问"复购率"时,Cube 接收这个业务语义查询,自动拆解为对多个数据源的 SQL 调用,支持跨数据源 JOIN、预聚合(Pre-Aggregation)、结果缓存。它支持连接 20+ 种数据源:PostgreSQL、BigQuery、Snowflake、Databricks、MySQL、DuckDB 等。
第三层:Rust 核心层(cube-core)。2023 年团队将核心引擎用 Rust 重写,发布了"Cube Core"——用 Rust 实现高性能查询规划和 CubeSQL(让 BI 工具通过 SQL 接口访问 Cube 的语义层)。Rust 层的 CubeStore 是一个分布式 OLAP 存储引擎,支持数据的本地缓存和预计算。
这个三层架构的精妙之处在于:数据本身不需要移动。Cube 不做 ETL,而是充当"查询路由器"——它理解业务语义,把查询路由到正确的数据库,并组合结果返回给调用方。
2024 年开始,Cube 明确转型为"AI + BI 语义层",官方博客称其为"AI 的语义层"(Semantic Layer for AI)。在 AI Agent 大行其道的今天,大模型在数据分析场景面临的核心问题是:模型知道 SQL 语法,但不知道你们公司的"活跃用户"是怎么定义的、"GMV"要排除哪些退款订单。Cube 提供了标准化的数据接口,AI Agent 可以通过 REST API 或 GraphQL 查询 Cube,让 AI 真正理解业务数据语义,而不只是执行 SQL。
项目官方甚至推出了"Conversational Analytics"(对话式分析)功能,用户可以直接用自然语言提问,Cube 内部将问题转换为 SQL 并执行。
这是一个典型的现代开源项目架构:
代码质量方面,项目采用 Yarn monorepo + Lerna 管理,TypeScript 全面覆盖,Jest 测试框架完善。由于要兼容 30+ 种数据库驱动,整体代码复杂度较高。
推荐方式:通过 Docker 快速体验,官方提供了最新的多阶段 Dockerfile,构建后运行在 4000 端口。使用 cubejs-playground 的 Web UI,可以可视化地定义 Schema、测试查询、设计图表。整个过程不需要写一行后端代码。
部署前提:需要已有数据库连接(PostgreSQL、BigQuery 等),Docker 镜像本身约 500MB,运行时建议 4GB+ RAM。
不适合的场景:如果你的团队完全不需要连接外部数仓,只想在本地做一些简单计算,直接用 DuckDB 可能更轻量。
Cube 的快速增长折射出一个更大的趋势:数据分析正在从"工程师特权"走向"业务人员 + AI 都能用"。语义层是这个转变的核心基础设施。它不仅仅是一个开源项目,更代表了一种架构理念——数据平台不必把所有数据都吞进去,而是做好"理解数据"和"路由查询"这两件事,把数据本身留在原地。
截至 2026 年,Cube GitHub 获得 2 万+ Star,在 Semantic Layer 开源项目中处于领先地位。它的成功也催生了一批跟随者,包括 Looker(Google 收购)、MetriQL(Metabase 内置)等。Cube 的下一个增长点,很大程度上取决于能否在 AI Agent 场景中占据核心位置。