finds.dev← search

// the find

cube-js/cube

★ 20,155 · Rust · NOASSERTION · updated Jun 2026

📊 Cube Core is open-source semantic layer for AI, BI and embedded analytics

Cube Core is a headless semantic layer that sits between your data warehouse and your consumers (BI tools, apps, AI agents). You define metrics and dimensions once in YAML/JS, and Cube exposes them through SQL, REST, and GraphQL APIs. It's aimed at teams tired of defining the same 'monthly active users' calculation in five different places.

The pre-aggregation system is the real selling point — Cube materializes rollups in its own storage (CubeStore, written in Rust) and serves them at sub-second latency without you manually managing materialized views. The data model is warehouse-agnostic: same schema works against Snowflake, Postgres, BigQuery, and 20+ others without changes. The open-core model is honest — Cube Core is what runs inside the commercial product, not a crippled version, so the data model is fully portable between self-hosted and managed. Multi-tenancy via context variables is first-class; row-level security and tenant isolation are built into the query pipeline, not bolted on.

The JavaScript/YAML data model layer is a leaky abstraction — complex join scenarios regularly require dropping into raw SQL, at which point you're debugging two layers instead of one. The self-hosted operational burden is real: CubeStore (the caching layer) is a distributed system you now own, and the docs on tuning pre-aggregation refresh schedules for large datasets are thin. The 'Cube Core vs Cube' split creates confusion about which features require the paid product — the line isn't always clear from the docs until you hit it. Testing data models locally is painful; there's no good way to unit test measure logic without spinning up a full Cube instance against a real database.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →