Cube is the Semantic Layer for building data apps. It helps data engineers and application developers access data from modern data stores, organize it into consistent definitions, and deliver it to every application.
Cube was designed to work with all SQL-enabled data sources, including cloud data warehouses like Snowflake or Google BigQuery, query engines like Presto or Amazon Athena, and application databases like Postgres. Cube has a built-in caching engine to provide sub-second latency and high concurrency for API requests.
With Cube, you can build a data model, manage access control and caching, and expose your data to every application via REST, GraphQL, and SQL APIs. Cube is headless, API-first, and decoupled from visualizations. You can use any charting library to build custom UI, or connect existing dashboarding and reporting tools to Cube.
If you are building a data application—such as a business intelligence tool or a customer-facing analytics feature—you’ll probably face the following problems:
- SQL code organization. Sooner or later, modeling even a dozen metrics with a dozen dimensions using pure SQL queries becomes a maintenance nightmare, which leads to building a modeling framework.
- Performance. Most of the time and effort in modern analytics software development is spent providing adequate time to insight. In a world where every company’s data is big data, writing just SQL queries to get insight isn’t enough anymore.
- Access Control. It is important to secure and govern access to data for all downstream data consuming applications.
Cube has the necessary infrastructure and features to implement efficient data modeling, access control, and performance optimizations so that every application can access consistent data via REST, SQL, and GraphQL APIs. Achieve insights from raw data within minutes, and get an API with sub-second response times on up to a trillion data points.
Cube acts as a data access layer, translating API requests into SQL, managing caching, queuing, and database connection.
Cube accepts queries via REST, GraphQL or SQL interfaces. Based on the data model and an incoming query, Cube generates a SQL query and executes it in your database. Cube fully manages query orchestration, database connections, as well as caching and access control layers. The result is then sent back to the client.
Cube Cloud offers a managed Cube service with extra features for reliability and performance. It enhances Cube with features that substantially improve reliability, performance, and security:
Performance: Cube Store in-memory caching, Cube Store autoscaling, autoscaling for multi-tenancy.
Security: Cube Store encryption at rest, SQL API connection via SSL, secured access to Cube Playground, security audits and updates to Docker images.
Reliability: Cube Store replication for high availability, distributed file storage failovers and consistency checking.
Integrations: Optimized Databricks driver, optimized Elasticsearch driver, support for Azure blob storage in Cube Store, and integration with monitoring solutions.
Cube Cloud is available as managed service and through "bring your own cloud" model. Please contact us if you'd like to install Cube Cloud within your AWS, GCP, or Azure account.
Did you find this page useful?