Cube.js：试试这个新的数据分析开源工具
数据分析

> 
> Cube.js 是一个开源的分析平台，可以作为数据源和应用之间的中间层。
> 
> 
> 


![](/data/attachment/album/202106/24/114907z53fpzv6szv936vj.jpg "metrics and data shown on a computer screen")


数据分析是一个时髦的领域，有许多解决方案可供选择。其中之一是 [Cube.js](https://cube.dev/)，这是一个开源的分析平台。你可以把 Cube.js 看作是你的数据源和应用之间的一个中间层。


如下图所示，Cube.js 支持无服务器数据仓库和大多数现代关系型数据库管理系统 （RDBMS）。你可以使用任何用于数据可视化的 JavaScript 前端库，而 Cube.js 将负责其他工作，包括访问控制、性能、并发性等。


![Cube.js architecture](/data/attachment/album/202106/24/114955cbqcjhccvooovvvj.png "Cube.js architecture")


### 主要优点


当我向我们的社区成员询问 Cube.js 的主要优点时，他们经常提到：


* **它的抽象层**：配置 Cube.js 后，人们说他们不再需要担心性能优化、资源管理、SQL 专业知识等问题。许多人把 Cube.js 称为 “黑盒”，因为它的抽象层帮助他们专注于理解数据，而不是实施细节。
* **易于定制**：由于 Cube.js 是可视化的，它很容易与前端框架集成，建立看起来像用户自己平台的解决方案。大多数商业平台（如 Looker、Tableau 等）需要更多的定制工作来与他们的基础设施整合。许多用户说，定制的便利性与抽象层相结合，使他们能够减少数据分析平台的开发时间。
* **社区支持**：在开始使用 Cube.js 时，人们通常会从社区成员那里得到帮助（特别是在我们的 [Slack](https://slack.cube.dev/)），许多人提到社区支持是一个关键的入门资源。


访问 [用户故事页面](https://cube.dev/blog/category/user-stories/)，阅读更多关于人们使用 Cube.js 的经验以及他们如何使用它。


### 开始使用


如果你想了解 Cube.js：


* 进入我们的 [文档页面](https://cube.dev/docs/)，点击**开始**，并按照指示在你的笔记本电脑或工作站上启动和运行 Cube.js。
* 当你进入 [Developer Playground](https://cube.dev/docs/dev-tools/dev-playground)，你将能够生成数据模式，执行查询，并建立仪表盘，以看到 Cube.js 的运行。


在你启动和运行 Cube.js 之后，这里有一些有用的资源：


* [文档](https://cube.dev/docs/)：我们把大量的精力放在我们的文档上，因为它是开源社区的重要资源。我们还在我们的文档页面和 YouTube 频道的 [入门播放列表](https://www.youtube.com/playlist?list=PLtdXl_QTQjpaXhVEefh7JCIdtYURoyWo9) 中添加了视频剪辑。
* [Discourse](https://forum.cube.dev/)：Cube.js 论坛是最近增加的，社区成员可以在这里分享他们的使用案例、技巧和窍门等，这样我们就可以建立一个社区知识库。
* [GitHub](https://github.com/cube-js/cube.js): 你可以在这里找到 Cube.js 的代码，社区成员可以通过 [问题页面](https://github.com/cube-js/cube.js/issues) 提交错误或功能请求。我们还在 GitHub 上发布了我们的 [季度路线图](https://github.com/cube-js/cube.js/projects)，以便每个人都能看到我们正在进行的工作。
* [每月社区电话会议](https://cube.dev/community-call/)：我们在每个月的第二个星期三举行电话会议，讨论社区更新，展示功能演示，并邀请社区成员分享他们的使用案例。你可以在 [社区电话会议页面](https://cube.dev/community-call/) 上找到电话会议的日程，你也可以在我们 YouTube 频道的 [社区电话会议播放列表](https://www.youtube.com/playlist?list=PLtdXl_QTQjpb1dHZCM09qKTsgvgqjSvc9) 上找到过去的电话会议录音。


就像任何好的开源项目一样，Cube.js 有许多软件贡献者。如果你想查看社区的拉取请求（PR），请搜索带有 `pr:community` 标签的 PR。如果你想寻找你可以回答的问题，请搜索带有 `good first issue` 或者 `help wanted` 标签的问题。


我希望你试试 Cube.js。如果你有任何问题，请随时在下面留言或在 [Cube.js Slack](https://slack.cube.dev/) 上找我！




---


via: <https://opensource.com/article/21/6/cubejs>


作者：[Ray Paik](https://opensource.com/users/rpaik) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
Data analytics is a trendy field with many solutions available. One of them is [Cube.js](https://cube.dev/), an open source analytical platform. You can think of Cube.js as a layer between your data sources and applications.

As the diagram below shows, Cube.js supports serverless data warehouses and most modern relational database management systems (RDBMS). You can work with any JavaScript front-end library for data visualization, and Cube.js will take care of the rest, including access control, performance, concurrency, and more.

![Cube.js architecture Cube.js architecture](https://opensource.com/sites/default/files/uploads/cubejs-architecture.png)

(©2021, Cube Dev, Inc.)

## Key benefits


When I ask our community members about Cube.js's key benefits, they frequently mention:

**Its abstraction layer:**After configuring Cube.js, people say they no longer have to worry about performance optimization, resource management, SQL expertise, etc. Many refer to Cube.js as a "black box" because its abstraction layer helps them focus on understanding the data rather than the implementation details.**Ease of customization:**Since Cube.js is visualization-agnostic, it's easy to integrate with front-end frameworks to build solutions that look like a user's own platform. Most commercial platforms (e.g., Looker, Tableau, etc.) require a lot more customization work to integrate with their infrastructure. Many users say that the ease of customization combined with the abstraction layer enables them to reduce development time for their data analytics platforms.**Community support:**When getting started with Cube.js, people usually get help from fellow community members (especially on our[Slack](https://slack.cube.dev/)), and many mention community support as a key onboarding resource.

Visit the [user stories page](https://cube.dev/blog/category/user-stories/) to read more about people's experience with Cube.js and how they use it.

## Get started

If you want to check out Cube.js:

- Go to our
[Documentation page](https://cube.dev/docs/), click on**Getting started**, and follow the instructions to get Cube.js up and running on your laptop or workstation. - Once you get to the
[developer playground](https://cube.dev/docs/dev-tools/dev-playground), you will be able to generate the data schema, execute queries, and build dashboards to see Cube.js in action.

After you get Cube.js up and running, here are some helpful resources:

[Documentation](https://cube.dev/docs/): We put a lot of focus on our documentation because it is a critical resource for open source communities. We're also adding video clips to our documentation pages and the[getting started playlist](https://www.youtube.com/playlist?list=PLtdXl_QTQjpaXhVEefh7JCIdtYURoyWo9)on our YouTube channel.[Discourse](https://forum.cube.dev/): The Cube.js forum is a recent addition where community members can share their use cases, tips & tricks, etc. so that we can build a community knowledge base.[GitHub](https://github.com/cube-js/cube.js): You'll find the Cube.js code here, and community members file bugs or feature requests via[issues](https://github.com/cube-js/cube.js/issues). We also publish our[quarterly roadmaps](https://github.com/cube-js/cube.js/projects)on GitHub so that everyone can see what we're working on.[Monthly community calls](https://cube.dev/community-call/): We have calls on the second Wednesday of each month to discuss community updates, showcase feature demos, and invite community members to share their use cases. You will find call logistics on the[community calls page](https://cube.dev/community-call/), and you can find recordings of past calls on the[community calls playlist](https://www.youtube.com/playlist?list=PLtdXl_QTQjpb1dHZCM09qKTsgvgqjSvc9)on our YouTube channel.

As with any good open source project, Cube.js has many contributors to the software. If you want to look at pull requests (PRs) from the community, search for PRs with the label `pr:community`

. If you are eager to look for issues that you can work on, search for issues with the labels `good first issue`

or `help wanted`

.

I hope you will give Cube.js a try. If you have any questions, please feel free to leave comments below or find me on the [Cube.js Slack](https://slack.cube.dev/)!

## Comments are closed.