# @cubejs-backend/cubestore 中文文档

规范地址：https://npmcn.com/package/%40cubejs-backend/cubestore/

版本：1\.8\.21
npm 元数据更新时间：2026-11-09T17:54:21.066Z
中文译文更新时间：2026-11-11T04:11:38.358Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cubejs-backend/cubestore
原文对照：https://npmcn.com/package/%40cubejs-backend/cubestore/?lang=original
项目主页：https://github.com/cube-js/cube#readme
源码仓库：https://github.com/cube-js/cube

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：37.1 kB，29 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：^12\.0\.0 \|\| ^14\.0\.0 \|\| \>=16\.0\.0
- 运行依赖：3 个
- 首次发布：2021-02-19T20:38:58.491Z
- 最新版本发布：2026-11-09T17:54:20.711Z
- 近 30 天下载量：287358（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：705（近 12 个月 173 个）

## 中文简介

立方体预聚合存储层.

## 安装

```sh
npm install @cubejs-backend/cubestore
```

也可以使用：`pnpm add @cubejs-backend/cubestore`、`yarn add @cubejs-backend/cubestore`、`bun add @cubejs-backend/cubestore`

## README

[![Cube](https://i.imgur.com/zYHXm4o.png)](https://cube.dev/)

[网站](https://cube.dev/) 二. 支助 [文档](https://docs.cube.dev/) 二. 支助 [实例](https://npmcn.com/package/%40cubejs-backend/cubestore/#readme-examples) 二. 支助 [博客](https://cube.dev/blog) 二. 支助 [偷懒](https://slack.cube.dev/) 二. 支助 [微博](https://twitter.com/the_cube_dev)

[![npm version](https://badge.fury.io/js/%40cubejs-backend%2Fserver.svg)](https://badge.fury.io/js/%40cubejs-backend%2Fserver) [![GitHub Actions](https://github.com/cube-js/cube.js/workflows/Rust/badge.svg)](https://github.com/cube-js/cube.js/actions?query=workflow%3ARust+branch%3Amaster) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fcube-js%2Fcube.js.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fcube-js%2Fcube.js?ref=badge_shield)

# 立方体存储器

立方体预聚合存储层.

## 动机

在过去的一年里,我们积累了 有关各种用法的反馈 预汇总和如何储存. 我们得知有一套 关系数据库作为存储层具有显著意义的问题 业绩和功能问题.

这些问题包括:

-   业绩问题,主要股价高(1B及以上)
-   缺少超日志支持
-   大项的退化性能 `UNION ALL` 查询
-   穷 `JOIN` 各个滚动表格的业绩
-   不同数据库类型的表格/名称长度问题
-   SQL 来源和外部数据库之间的类型差异

随着时间的推移,我们意识到,如果我们试图用现有数据库来解决这些问题 引擎,我们最终会修改 这些数据库的代码库 的方式或那样.

我们决定采取另一种方式,写出我们自己实现的OLAP缓存 存储,仅用于存储和提供规模的滚动表.

## 方针

为了尽可能优化性能,我们采取了本土方法 正在使用 Rust 开发 Cube Store, 使用一系列技术,例如 RocksDB, Apache Parquet, 和箭头, 已经证明有效的解决方案 数据访问问题.

Cube Store完全开源,并以Apache 2.0许可证发布.

## 计划

我们打算开始发行 Cube Store 与 Cube,并最终制作 Cube 存储 Cube 的默认预聚合存储层 。 支助 MySQL和Postgres作为外部数据库将继续下去,但优先程度较低.

我们还将更新所有关于预汇总的文件,并包括使用情况 和Cube Store的部署指令.

## 支助的架构和平台

> 如果您的平台/ architecture 不支持, 您可以启动 Cube Store 使用多克语.

|  | `linux-gnu` | `linux-musl` | `darwin` | `win32` |
| --- | :-: | :-: | :-: | :-: |
| `x86` | 不详 | 不详 | 不详 | 不详 |
| `x86_64` | ✅ | ✅ | ✅ | ✅ |
| `arm64` | ✅ |  | \[1\] |  |

\[1\] 可以使用Rosetta 2通过 `x86_64-apple` 二进制.

## 使用量

### 与立方体

从开始 `v0.26.48`,当 `CUBEJS_DEV_MODE=true`。 。 。 . 你不需要设置任何 `CUBEJS_EXT_DB_*` 环境变量或 `externalDriverFactory` 在你体内 `cube.js` 配置文件 .

之前的版本 `v0.26.48`,您应该将您的项目升级到最新的 版本并安装 Cube Store 驱动程序 :

```bash
yarn add @cubejs-backend/cubestore-driver
```

启动后, Cube 会打印一个消息 :

`🔥 Cube Store (0.26.64) is assigned to 3030 port.`

### 与 Docker 关系

在多克容器中启动 Cube Store并绑定端口 `3030` 改为 `127.0.0.1`数字 :

```bash
docker run -d -p 3030:3030 cubejs/cubestore:edge
```

配置 Cube 以通过 `.env` 文件 :

```dotenv
CUBEJS_EXT_DB_TYPE=cubestore
CUBEJS_EXT_DB_HOST=127.0.0.1
```

### 用多克编曲

创建一个 `docker-compose.yml` 包含以下内容的文件 :

```yml
version: '2.2'
services:
  cubestore:
    image: cubejs/cubestore:edge

  cube:
    image: cubejs/cube:latest
    ports:
      - 4000:4000  # Cube API and Developer Playground
      - 3000:3000  # Dashboard app, if created
    env_file: .env
    depends_on:
      - cubestore
    links:
      - cubestore
    volumes:
      - ./schema:/cube/conf/schema
```

配置 Cube 以通过 `.env` 文件 :

```dotenv
CUBEJS_EXT_DB_TYPE=cubestore
CUBEJS_EXT_DB_HOST=cubestore
```

## 构建

```bash
docker build -t cubejs/cubestore:latest .
docker run --rm cubejs/cubestore:latest
```

## 发展

Debian 先决条件( 不完整 ) : `apt-get install lld libssl-dev pkg-config cmake`

当更改数据化或箭头时 :

检查出来 [https://github.com/cube-js/arrow-rs/tree/cube 页面存档备份,存于互联网档案馆](https://github.com/cube-js/arrow-rs/tree/cube) 财务报告和审定财务报表 [https://github.com/cube-js/arrow-datacumpation/tree/cube 互联网档案馆的存檔,存档日期2013-12-22](https://github.com/cube-js/arrow-datafusion/tree/cube) 并添加 跟随当前目录 `Cargo.toml`. (但记住: 把这个排除在公关之外!)

```

[patch.'https://github.com/cube-js/arrow-rs']
parquet = { path = "../../../arrow-rs/parquet" }
arrow = { path = "../../../arrow-rs/arrow" }

[patch.'https://github.com/cube-js/arrow-datafusion']
datafusion = { path = "../../../arrow-datafusion/datafusion" }
```

当然,你可以使用绝对路径或调整路径 选择了退出地点.

箭头数据化的解说 `.cargo/config.toml` 路径线对你也有用,但如果 您正在修改箭头.

## 许可证

立方体存储器 [Apache 2.0 许可](https://npmcn.com/package/%40cubejs-backend/cubestore/cubestore/LICENSE)。 。 。 .

## 常见问题

### @cubejs-backend/cubestore 是什么？

立方体预聚合存储层\.

### 如何安装 @cubejs-backend/cubestore？

在项目目录运行 npm install @cubejs-backend/cubestore，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 cubestore-dev，可以用 npx cubestore-dev 直接运行。

### @cubejs-backend/cubestore 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @cubejs-backend/cubestore 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @cubejs-backend/cubestore 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^12\.0\.0 \|\| ^14\.0\.0 \|\| \>=16\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @cubejs-backend/cubestore 可以商用吗？

@cubejs-backend/cubestore 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @cubejs-backend/cubestore 的下载量有多少？

根据 npm 官方下载统计，@cubejs-backend/cubestore 在 2026/10/11 – 2026/11/09 这 30 天内被下载 287,358 次，日均约 9,579 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cubejs-backend/cubestore 还在维护吗？

最新版本 1\.8\.21 发布于 2026/11/10（1 天前）；至今共发布 705 个版本，其中过去 12 个月发布了 173 个；首次发布于 2021/02/20。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

