You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs-new/pages/product/introduction.mdx
+39-31Lines changed: 39 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,32 +6,40 @@ redirect_from:
6
6
7
7
# Introduction
8
8
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
+
<InfoBoxheading="Key Components of the Semantic Layer">
12
10
13
-
Your business data becomes consistent, accurate, easy to access, and, most importantly, trusted.
14
-
Once trusted, the use of data accelerates throughout your organization, delivering better experiences
11
+
Join our [next webinar on August 16 at 9am PST](https://event.on24.com/wcc/r/4303994/246D3B84D2FC1E29AA0038EDAEC0C2B7?partnerref=docs)
12
+
to gain insights into Cube’s semantic layer. Explore its key components and
13
+
find out how it enhances your modern data stack.
14
+
15
+
</InfoBox>
16
+
17
+
Cube is a universal semantic layer that makes it easy to connect data silos, create consistent metrics, and make them accessible
18
+
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,
19
+
consistent definitions, and deliver it to every downstream tool via its APIs.
20
+
21
+
Your business data becomes consistent, accurate, easy to access, and, most importantly, trusted.
22
+
Once trusted, the use of data accelerates throughout your organization, delivering better experiences
15
23
to your customers and driving intelligence back into the business.
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.
27
+
With Cube, you can build a data model, manage access control and caching, and expose your data to every application
28
+
via REST, GraphQL, and SQL APIs. With these APIs, you can use any charting library to build custom UI,
29
+
connect existing dashboarding and reporting tools, and build AI agents with frameworks like Langchain.
22
30
23
31
24
32
## Code-first
25
33
26
-
Throughout the evolution of software engineering, numerous tools and methodologies have been developed to effectively handle codebases of all sizes.
27
-
These include [version control systems](https://git-scm.com/) for seamless collaboration and code reviews,
34
+
Throughout the evolution of software engineering, numerous tools and methodologies have been developed to effectively handle codebases of all sizes.
35
+
These include [version control systems](https://git-scm.com/) for seamless collaboration and code reviews,
28
36
infrastructure for testing and documentation, as well as [established patterns](https://en.wikipedia.org/wiki/Design_Patterns) and
29
37
best practices to structure codebases for reusability and maintainability.
30
38
31
-
At Cube, we firmly believe that the future of data engineering lies in the application of these proven practices and tools to data management.
39
+
At Cube, we firmly believe that the future of data engineering lies in the application of these proven practices and tools to data management.
32
40
By doing so, we can facilitate collaboration at scale and create high-quality data products that are easily maintainable.
33
41
34
-
The foundation of this approach lies in adopting a code-first workflow.
42
+
The foundation of this approach lies in adopting a code-first workflow.
35
43
That's why everything within Cube, from configurations to data models, is meticulously managed through code.
36
44
37
45
@@ -43,11 +51,11 @@ We believe that a complete, universal semantic layer should have the following f
43
51
44
52
**Data modeling framework is a foundational piece of the universal semantic layer.** It helps data teams to centralize data models upstream from
45
53
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.
54
+
([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
55
48
56
**Cube data model is code-first.** Data teams define data models with YAML or Javascript code.
49
-
The codebase is commonly managed with a version control system. Cube enables git flow for
50
-
changes to data model and managing multiple isolated environments per project.
57
+
The codebase is commonly managed with a version control system. Cube enables git flow for
58
+
changes to data model and managing multiple isolated environments per project.
51
59
52
60
**Cube data model is dataset-centric.** It is inspired by and expands upon dimensional modeling.
53
61
Cube provides a practical framework for implementing dataset-centric data modeling.
@@ -57,54 +65,54 @@ When building a data model in Cube, you work with two dataset-centric objects: *
57
65
you define all the calculations within the measures and dimensions of these entities.
58
66
Additionally, you define relationships between cubes, such as "an order has many line items" or "a user may place multiple orders."
59
67
60
-
**Views** sit on top of a data graph of cubes and create a facade of your entire data model,
68
+
**Views** sit on top of a data graph of cubes and create a facade of your entire data model,
61
69
with which data consumers can interact. You can think of views as the final data products for your
62
-
data consumers - BI users, data apps, AI agents, etc. When building views, you select measures and dimensions
70
+
data consumers - BI users, data apps, AI agents, etc. When building views, you select measures and dimensions
63
71
from different connected cubes and present them as a single dataset to BI or data apps.
64
72
65
73
### Access Control
66
74
67
75
**One of the benefits of semantic layer is the active security layer.**
68
-
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.
76
+
Semantic layer provides a comprehensive real-time understanding and governance of your data.
77
+
When all your data consumption tools access data through the semantic layer, it becomes an ideal place to enforce access control policies.
70
78
71
-
Cube provides infrastructure to define different access control policies and patterns,
79
+
Cube provides infrastructure to define different access control policies and patterns,
72
80
including row-level and column-level security, data masking and more. Being a code-first,
73
81
Cube enables data teams to **define access control policies with Python or Javascript.**
74
-
They can range from simple row-level access rules to completely custom data models per tenants backed by different data sources.
82
+
They can range from simple row-level access rules to completely custom data models per tenants backed by different data sources.
75
83
76
84
### Caching
77
85
78
-
The semantic layer can serve as a buffer to the data sources, protecting the cloud data warehouses from unnecessary and redundant load.
86
+
The semantic layer can serve as a buffer to the data sources, protecting the cloud data warehouses from unnecessary and redundant load.
79
87
Caching optimizes performance and can reduce the cloud data warehouse cost.
80
88
81
-
Cube implements caching through the **aggregate awareness framework called pre-aggregations.**
82
-
Data teams can define pre-aggregates in the data model as rollup tables, including measures and dimensions.
89
+
Cube implements caching through the **aggregate awareness framework called pre-aggregations.**
90
+
Data teams can define pre-aggregates in the data model as rollup tables, including measures and dimensions.
83
91
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, Cube’s purpose-built caching engine backed by distributed file storage, such as S3.
92
+
and storing results in Cube Store, Cube’s purpose-built caching engine backed by distributed file storage, such as S3.
85
93
Pre-aggregations can be refreshed on schedule or as a part of the workflow orchestration DAG.
86
94
87
95
When you send a query to Cube, it will use aggregate awareness to see if an existing and fresh pre-aggregate is
88
96
available to serve that query. It can significantly speed up queries and reduce the load and cost of cloud data warehouses.
89
97
90
98
### APIs
91
99
92
-
One of the key requirements of the semantic layer is **interoperability with data consumption tools**: BIs, embedded analytics, and AI agents.
93
-
The universal semantic layer cannot require one-off integration with every tool, framework, or library.
94
-
It is not feasible to support the ever-growing number of data consumption tools in a one-to-one model.
100
+
One of the key requirements of the semantic layer is **interoperability with data consumption tools**: BIs, embedded analytics, and AI agents.
101
+
The universal semantic layer cannot require one-off integration with every tool, framework, or library.
102
+
It is not feasible to support the ever-growing number of data consumption tools in a one-to-one model.
95
103
96
104
Rather than inventing its own communication language or protocol, **the semantic layer must adhere to existing protocols and
97
105
API standards** to ensure universal interoperability.
98
106
99
107
Cube embraces and implements the three most commonly used protocols and API standards: **REST, GraphQL, and SQL.**
100
108
101
-
**REST and GraphQL** are commonly used in software development as a communication layer between the backend server and the frontend visualization layer.
109
+
**REST and GraphQL** are commonly used in software development as a communication layer between the backend server and the frontend visualization layer.
102
110
103
111
**SQL** is universally adopted across all the tools in the data stack. Every BI and visualization tool can query a SQL data source.
104
112
That makes SQL an obvious choice for a communication layer to ensure interoperability. Cube implements Postgres SQL and extends
105
-
it to support data modeling in the semantic layer. Cube adds the notion of **measure** to SQL spec, a special type that knows how to
113
+
it to support data modeling in the semantic layer. Cube adds the notion of **measure** to SQL spec, a special type that knows how to
106
114
evaluate itself based on the definition in the data model. Every BI and visualization tool that can connect to Postgres or Refshift can connect to Cube.
107
115
108
116
Finally, Cube exposes **robust meta API for data model introspection.** It is vital to achieve interoperability because
109
117
it enables other tools to inspect the data model definitions and take actions, e.g. provide context to the AI agents querying the semantic
110
-
layer or create the necessary mappings in a BI tool to data model objects.
118
+
layer or create the necessary mappings in a BI tool to data model objects.
0 commit comments