
cubejs/cubestore官网 • 文档 • 示例 • 博客 • Slack • ***
处理高基数、高并发的预聚合数据场景。
UNION ALL 查询和跨汇总表 JOIN 操作的执行效率Cube Store 适用于需要处理大规模预聚合数据的 Cube.js 应用场景,尤其适合:
JOIN 或 UNION ALL 操作的分析场景若您的平台/架构未被直接支持,可通过 Docker 启动 Cube Store。
| 架构/平台 | linux-gnu | linux-musl | darwin | win32 |
|---|---|---|---|---|
x86 | 不支持 | 不支持 | 不支持 | 不支持 |
x86_64 | ✅ | ✅ | ✅ | ✅ |
arm64 | ✅ | ✅[1] |
[1] 可通过 Rosetta 2 借助 x86_64-apple 二进制文件启动。
CUBEJS_DEV_MODE=true),无需配置 CUBEJS_EXT_DB_* 环境变量或 cube.js 中的 externalDriverFactory。bashyarn add @cubejs-backend/cubestore-driver
Cube.js 启动后将输出以下日志,表明 Cube Store 已成功运行:
🔥 Cube Store (0.26.64) is assigned to 3030 port.
通过 Docker 容器启动 Cube Store 并绑定 3030 端口:
bashdocker run -d -p 3030:3030 cubejs/cubestore:edge
创建 docker-compose.yml 文件:
yamlversion: '2.2' services: cubestore: image: cubejs/cubestore:edge cube: image: cubejs/cube:latest ports: - 4000:4000 # Cube.js API 与开发者控制台 - 3000:3000 # 仪表盘应用(若创建) env_file: .env depends_on: - cubestore links: - cubestore volumes: - ./schema:/cube/conf/schema
在 Cube.js 应用的 .env 文件中配置 Cube Store 连接:
dotenv# 指定外部数据库类型为 Cube Store CUBEJS_EXT_DB_TYPE=cubestore # Cube Store 服务地址(Docker Compose 部署时使用服务名) CUBEJS_EXT_DB_HOST=cubestore # 可选:指定 Cube Store 端口(默认 3030) # CUBEJS_EXT_DB_PORT=3030
bash# 构建 Docker 镜像 docker build -t cubejs/cubestore:latest . # 运行镜像 docker run --rm cubejs/cubestore:latest
Debian 系统需安装以下依赖:
bashapt-get install lld libssl-dev pkg-config cmake
若需修改 Arrow 或 Datafusion 依赖,需在项目 Cargo.toml 中添加本地路径补丁(示例):
toml[patch.'[***]] parquet = { path = "../../../arrow-rs/parquet" } arrow = { path = "../../../arrow-rs/arrow" } [patch.'[***]] datafusion = { path = "../../../arrow-datafusion/datafusion" }
路径可根据本地代码 checkout 位置调整。
Cube Store 基于 Apache 2.0 许可协议 开源。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务