Just like these companies:
Historically, consuming historical and real-time data required discrete tech stacks—which makes working both costly, difficult, and ever out of reach.
Cube seamlessly merges streaming and batch data into a single query, so you can easily work with and benefit from both—in one interface.
To build an application that combines historical and real-time data, data engineers need a single, headless data access layer. As as a semantic layer, Cube provides access control, data modeling, and caching on top of streaming SQL.
Compatibility + Ease
Cube supports building a semantic layer using streaming SQL technologies like ksqlDB, Materialize, and Apache Flink. These streaming engines make it possible to process streaming data and run analysis without learning a new language or building language-unique integrations.
Consolidated Queries
Cube consumes batch data into one pre-aggregation, data from streaming SQL engines into another, then unites them during query processing—so we can return merged data. By using the lambda architecture, Cube abstracts away the complexity of consolidating different data types.
Convenience + Efficiency
query {cube {orders(where: {status: { notEquals: "completed" }}) {countstatuscreated_at {month}}}}
Consistent Security + Governance
Cube’s access control and security layers are applied to streaming data sources the same way as they are to batched data—so you can support multitenancy and enforce role- and column-based data access control with a single data model.
Fully managed hosting of your Cube apps