Cube.js is an open-source analytical API platform. It is primarily used to build internal business intelligence tools or add customer-facing analytics to existing applications.
Cube.js was designed to work with serverless data warehouses and query engines like Google BigQuery and AWS Athena. A multi-stage querying approach makes it suitable for handling trillions of data points. Most modern RDBMS work with Cube.js as well and can be further tuned for performance.
For more details, see the Cube.js introduction page in our documentation.
If you are building your own business intelligence tool or customer-facing analytics most probably you'll face the following problems:
Cube.js has necessary infrastructure for every analytic application that heavily relies on its caching and pre-aggregation layer to provide several minutes raw data to insight delay and sub second API response times on a trillion of data points scale.
There're two ways to create a Cube.js application.
If you have Node.js installed, run this command and follow with the Getting Started guide.
$ npx cubejs-cli create hello-world
In case you don't have Node.js, or you'd like to run Cube.js with Docker, have a look at the Getting started with Docker guide.
If you have any questions or need help - please join our Slack community of amazing developers and contributors.
You are also welcome to join our monthly community calls where we discuss community news, Cube Dev team's plans, backlogs, use cases, etc. If you miss the call, the recordings will also be available after the meeting.
There are many ways you can contribute and help Cube.js. Here a few ones:
All sort of contributions are welcome and extremely helpful 🙌 Please refer to the contribution guide for more information.
Cube.js Client is MIT licensed.
Cube.js Backend is Apache 2.0 licensed.