Skip to content

Commit 85d86b4

Browse files
committed
docs: Update README and the introduction in the documentation to mention the evolution of OLAP
1 parent b94dce6 commit 85d86b4

File tree

2 files changed

+28
-17
lines changed

2 files changed

+28
-17
lines changed

README.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
</p>
44
<br/>
55

6-
[Website](https://cube.dev?ref=github-readme)[Getting Started](https://cube.dev/docs/getting-started?ref=github-readme)[Docs](https://cube.dev/docs?ref=github-readme)[Examples](https://cube.dev/docs/examples?ref=github-readme)[Blog](https://cube.dev/blog?ref=github-readme)[Slack](https://slack.cube.dev?ref=github-readme)[Twitter](https://twitter.com/the_cube_dev)
6+
[Website](https://cube.dev?ref=github-readme)[Getting Started](https://cube.dev/docs/getting-started?ref=github-readme)[Docs](https://cube.dev/docs?ref=github-readme)[Examples](https://cube.dev/docs/examples?ref=github-readme)[Blog](https://cube.dev/blog?ref=github-readme)[Slack](https://slack.cube.dev?ref=github-readme)[X](https://twitter.com/the_cube_dev)
77

88
[![npm version](https://badge.fury.io/js/%40cubejs-backend%2Fserver.svg)](https://badge.fury.io/js/%40cubejs-backend%2Fserver)
99
[![GitHub Actions](https://github.com/cube-js/cube/workflows/Build/badge.svg)](https://github.com/cube-js/cube/actions?query=workflow%3ABuild+branch%3Amaster)
1010
[![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)
1111

12-
__Cube is the semantic layer for building data applications.__ It helps data engineers and application developers access data from modern data stores, organize it into consistent definitions, and deliver it to every application.
12+
__Cube is the universal semantic layer for modern data applications.__ Born in the cloud era, Cube represents the next evolution of OLAP technology, helping data engineers and application developers access data from modern data stores, organize it into consistent definitions, and deliver it to every application.
1313

1414
<img
1515
src="https://ucarecdn.com/8d945f29-e9eb-4e7f-9e9e-29ae7074e195/"
@@ -27,13 +27,17 @@ For more details, see the [introduction](https://cube.dev/docs/cubejs-introducti
2727

2828
## Why Cube?
2929

30-
If you are building a data application—such as a business intelligence tool or a customer-facing analytics feature—you’ll probably face the following problems:
30+
As data infrastructure evolved from traditional relational databases to cloud data platforms, OLAP capabilities that once lived in specialized servers like SQL Server Analysis Services and Oracle Essbase were left behind. Today's organizations face several challenges:
3131

32-
1. __SQL code organization.__ Sooner or later, modeling even a dozen metrics with a dozen dimensions using pure SQL queries becomes a maintenance nightmare, which leads to building a modeling framework.
33-
2. __Performance.__ Most of the time and effort in modern analytics software development is spent providing adequate time to insight. In a world where every company’s data is big data, writing just SQL queries to get insight isn’t enough anymore.
34-
3. __Access Control.__ It is important to secure and govern access to data for all downstream data consuming applications.
32+
1. __Analytics Modeling and Multidimensionality.__ Modern cloud data platforms excel at processing large volumes of data but lack native support for multidimensional analysis and modeling. Cube brings OLAP-style analytics to these platforms, enabling consistent metric definitions and multidimensional analysis.
3533

36-
Cube has the necessary infrastructure and features to implement efficient data modeling, access control, and performance optimizations so that every application—like embedded analytics, dashboarding and reporting tools, data notebooks, and other tools—can access consistent data via REST, SQL, and GraphQL APIs.
34+
2. __Performance Optimization.__ While cloud data warehouses have improved query performance through column-oriented storage and distributed processing, they still struggle with complex analytical workloads. Cube provides intelligent caching and pre-aggregation strategies that dramatically improve query response times.
35+
36+
3. __Access Control and Governance.__ Securing and governing access to data across all consuming applications remains critical. Cube offers robust access control to ensure consistent security across your entire data ecosystem.
37+
38+
4. __API Flexibility.__ Legacy OLAP tools were limited in how they exposed data. Cube provides modern REST, GraphQL, and SQL APIs along with support for traditional MDX and DAX interfaces, making it a truly universal semantic layer.
39+
40+
Cube is the missing OLAP engine for the cloud data platform era that provides the necessary infrastructure and features to implement efficient data modeling, access control, and performance optimizations without duplicating analytics modeling, data, or security permissions across different tools.
3741

3842
![](https://raw.githubusercontent.com/cube-js/cube.js/master/docs/content/old-was-vs-cubejs-way.png)
3943

@@ -76,7 +80,7 @@ For a step-by-step guide on Docker, [see the docs](https://cube.dev/docs/getting
7680

7781
There are many ways you can contribute to Cube! Here are a few possibilities:
7882

79-
* Star this repo and follow us on [Twitter](https://twitter.com/the_cube_dev).
83+
* Star this repo and follow us on [X](https://twitter.com/the_cube_dev).
8084
* Add Cube to your stack on [Stackshare](https://stackshare.io/cube-js).
8185
* Upvote issues with 👍 reaction so we know what's the demand for particular issue to prioritize it within road map.
8286
* Create issues every time you feel something is missing or goes wrong.

docs/pages/product/introduction.mdx

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ redirect_from:
66

77
# Introduction
88

9-
Cube is a universal semantic layer that makes it easy to connect data silos, create consistent metrics, and make them accessible
10-
to any data experience your business or your customers needs. Data engineers and application developers use Cube’s developer-friendly platform to organize data from your cloud data warehouses into centralized,
11-
consistent definitions, and deliver it to every downstream tool via its APIs.
9+
Cube is a universal semantic layer that represents the next evolution of OLAP technology for the cloud data platform era. Born in the cloud, Cube bridges the gap left when traditional OLAP capabilities from legacy specialized servers were not fully translated to modern cloud data platforms.
10+
11+
As data infrastructure evolved from traditional relational databases to cloud data warehouses, the need for multidimensional analysis, consistent metrics, and performance optimization remained. Cube addresses these challenges by making it easy to connect data silos, create consistent metrics, and make them accessible to any data experience your business or your customers needs.
12+
13+
Data engineers and application developers use Cube's developer-friendly platform to organize data from your cloud data warehouses into centralized, consistent definitions, and deliver it to every downstream tool via its APIs.
1214

1315
Your business data becomes consistent, accurate, easy to access, and, most importantly, trusted.
1416
Once trusted, the use of data accelerates throughout your organization, delivering better experiences
@@ -17,8 +19,7 @@ to your customers and driving intelligence back into the business.
1719
<Diagram src="https://ucarecdn.com/8d945f29-e9eb-4e7f-9e9e-29ae7074e195/" />
1820

1921
With Cube, you can build a data model, manage access control and caching, and expose your data to every application
20-
via REST, GraphQL, and SQL APIs. With these APIs, you can use any charting library to build custom UI,
21-
connect existing dashboarding and reporting tools, and build AI agents with frameworks like LangChain.
22+
via REST, GraphQL, and SQL APIs. With these APIs, you can use any charting library to build custom UI, connect existing dashboarding and reporting tools, and build AI-powered data applications.
2223

2324

2425
## Code-first
@@ -37,13 +38,15 @@ That's why everything within Cube, from configurations to data models, is meticu
3738

3839
## Four layers of semantic layer
3940

40-
We believe that a complete, universal semantic layer should have the following four layers: data model, caching, access controls, and APIs.
41+
We believe that a complete, universal semantic layer should have the following four layers: data model, caching, access controls, and APIs. These layers address the core challenges that OLAP technology was originally designed to solve, but in a modern, cloud-native way.
4142

4243
### Data Modeling
4344

4445
**Data modeling framework is a foundational piece of the universal semantic layer.** It helps data teams to centralize data models upstream from
4546
data consumption tools, such as BIs, embedded analytics applications, or AI agents. It makes your data architecture DRY
46-
([Don’t Repeat Yourself](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)) by reducing the repetition of data modeling across multiple presentation layers.
47+
([Don't Repeat Yourself](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)) by reducing the repetition of data modeling across multiple presentation layers.
48+
49+
While modern cloud data platforms excel at processing large volumes of data, they lack native support for multidimensional analysis and modeling that traditional OLAP servers provided. Cube brings OLAP-style analytics to these platforms, enabling consistent metric definitions and multidimensional analysis.
4750

4851
**Cube data model is code-first.** Data teams define data models with YAML or JavaScript code.
4952
The codebase is commonly managed with a version control system. Cube enables git flow for
@@ -66,7 +69,7 @@ from different connected cubes and present them as a single dataset to BI or dat
6669

6770
**One of the benefits of semantic layer is the active security layer.**
6871
Semantic layer provides a comprehensive real-time understanding and governance of your data.
69-
When all your data consumption tools access data through the semantic layer, it becomes an ideal place to enforce access control policies.
72+
When all your data consumption tools access data through the semantic layer, it becomes an ideal place to enforce access control policies.
7073

7174
Cube provides infrastructure to define different access control policies and patterns,
7275
including row-level and column-level security, data masking and more. Being a code-first,
@@ -78,10 +81,12 @@ They can range from simple row-level access rules to completely custom data mode
7881
The semantic layer can serve as a buffer to the data sources, protecting the cloud data warehouses from unnecessary and redundant load.
7982
Caching optimizes performance and can reduce the cloud data warehouse cost.
8083

84+
While cloud data warehouses have improved query performance through column-oriented storage and distributed processing, they still struggle with complex analytical workloads. This is where Cube's caching layer addresses the performance challenge that traditional OLAP servers were designed to solve.
85+
8186
Cube implements caching through the **aggregate awareness framework called pre-aggregations.**
8287
Data teams can define pre-aggregates in the data model as rollup tables, including measures and dimensions.
8388
Cube builds and refreshes these pre-aggregates in the background by executing queries in your cloud data warehouse
84-
and storing results in Cube Store, Cubes purpose-built caching engine backed by distributed file storage, such as S3.
89+
and storing results in Cube Store, Cube's purpose-built caching engine backed by distributed file storage, such as S3.
8590
Pre-aggregations can be refreshed on schedule or as a part of the workflow orchestration DAG.
8691

8792
When you send a query to Cube, it will use aggregate awareness to see if an existing and fresh pre-aggregate is
@@ -93,6 +98,8 @@ One of the key requirements of the semantic layer is **interoperability with dat
9398
The universal semantic layer cannot require one-off integration with every tool, framework, or library.
9499
It is not feasible to support the ever-growing number of data consumption tools in a one-to-one model.
95100

101+
Legacy OLAP tools were limited in how they exposed data. Cube provides both modern APIs and support for traditional OLAP interfaces, making it a truly universal semantic layer.
102+
96103
Rather than inventing its own communication language or protocol, **the semantic layer must adhere to existing protocols and
97104
API standards** to ensure universal interoperability.
98105

0 commit comments

Comments
 (0)