Serving each tenant from dedicated pre-aggregation schema

Hi all,

I recently found Cube.js, what is a great answer/solution to a gap in the Analytics community. I am very enthusiastic!

During my journey, I found that in the Analytics workloads of our company, we need to serve clients with their data. And with Cube.js, we will be able to do it through the API and/or GraphQL.

What we aim to do is to have a schema per tenant on the pre-aggregation Store. However, when using Cube Cloud, I am not completely aware how to control/achieve the creation of a schema per tenant in the pre-aggregation store. Any ideas?

By the way, the source of truth would be BigQuery and Mysql is the preferred option to store pre-aggregations per tenant.

Thanks a lot

Just found that configuring queryRewrite and preAggregationsSchema will do the job:

Hi @Abdel :raised_hand_with_fingers_splayed: and thanks for reaching out!
Do you have any specific reasons to store preaggs in Mysql? Actually, I would recommend using Cube Store which is specifically designed for that but your DB should also work. It would be interesting to know more about your use case.

Hi @Ivan_Vdovin,

Thank you for your reply.
I know that is the recommended approach, but we’re not allowed to save our data outside our GCP project.

I assume this Cube Store is some service that runs and is operated outside the clients’ cloud environment?

@Ivan_Vdovin if we could run/deploy this Cloud Store in our cloud, so the data stays in our GCP project, it would work just fine.

Can you let me know if that will work?

Hi @Abdel and sorry for the delay. Cube Store is the purpose-built pre-aggregations storage for Cube and it’s an important part of it. You can set it up wherever you need it. You can find more details here:
https://cube.dev/docs/deployment/overview#cube-store