Real-time Analytics

Seamlessly combine batch & streaming data.

Just like these companies:

NanohealCloud AcademyAclaimantSecurity ScorecardRamSoft

The problem:
Working with different types of data is expensive, complex, and inaccessible

Historically, consuming historical and real-time data required discrete tech stacks—which makes working both costly, difficult, and ever out of reach.

The solution:
Querying merged streaming and batch data as a unified data set

Cube seamlessly merges streaming and batch data into a single query, so you can easily work with and benefit from both—in one interface.

Why real-time analytics with Cube?

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

Use the SQL you already know.

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

Reduce complexity with Cube’s lambda architecture.

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

One interface for batch and real-time analytics.

Regardless of whether you’re working with historical or streaming data, Cube provides data to downstream applications with the same APIs: REST, GraphQL, and SQL. Cube hides the complexity of working with combined data within our data modeling layer.

  • GraphQL
  • REST
query {
cube {
orders(where: {
status: { notEquals: "completed" }
}) {
created_at {

Consistent Security + Governance

Enforce one security context across all data types.

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.


Ready to deliver mighty-performant real-time analytics?

Related Use Cases

Check out Cube’s other Use Cases

Semantic Layer

Define metrics upstream to inform every app with the same data.

Related Blog Posts

Stay up-to-date on the latest from Cube