🧠Second Brain
Search
Cube Store
The cache layer of Cube. Previously, they used Redis. Read more on RW Replacing Redis With Cube Store - Cube Blog.
Cube Store is the purpose-built pre-aggregation storage for Cube.js, utilizing a distributed query engine architecture. Each Cube Store cluster is completely written in Rust.
# How They’ve Done It
From
Introducing Cube Store: High concurrency and sub-second latency for any database - Cube Blog
Cube Store was designed with performance in mind. It’s written entirely in Rust to leverage low-level optimizations, effectively making Rust the top language by lines of code in Cube.js codebase. Cube Store allows for almost unlimited horizontal scalability by increasing the number of worker nodes. It stores pre-aggregated data in Apache Parquet format, chosen for its efficiency and performance.
Cube Store is based on well-known open-source building blocks. Together with Parquet, Cube Store uses Apache Arrow for its efficient in-memory data structures and DataFusion as a query execution framework.
Cube Store has been used in Cube Cloud for more than six months. A few select early access users have been exposed to Cube Store in Cube Cloud and experienced substantial performance improvements thanks to Cube Store.
- One or many router nodes handle incoming connections, manage database metadata, build query plans, and orchestrate their execution.
- Multiple worker nodes ingest warmed-up data and execute queries in parallel.
- Local or cloud-based blob storage keeps pre-aggregated data in a columnar format.
See the interesting blog on Zotero and Read more in the docs: Deployment Overview | Cube Docs.
You can find platform-specific guides for:
See also Cube and source code. Read more on How you win by using Cube Store: Part 1 - Cube Blog.
Origin:
References:
Created 2022-09-30