Re:Cube.js: Headless Semantic Layer
by igorlukanin on Monday May 01, 2023 @03:16PM
(#35777715)
Bunch of links from the website:
- https://cube.dev/use-cases/embedded-analytics
- https://cube.dev/use-cases/semantic-layer
- https://cube.dev/use-cases/real-time-analytics
So how does this compare to am embedded analytics service like SiSense, Looker? Is this sort of in between?
My understanding is that it's essentially Looker minus the dashboarding. What you would define via LookML is essentially the "semantic layer" that this is address. DBT is attempting to do similar work: https://www.getdbt.com/product/semantic-layer/
Re:Cube.js: Headless Semantic Layer
by igorlukanin on Monday May 01, 2023 @05:09PM
(#35779198)
"Looker minus dashboarding plus APIs (SQL/REST/GraphQL) and, subjectively, better aggregate awareness (AKA "pre-aggregations" in Cube).
That makes a lot of sense to me, and I see why it would be hard to coalesce all of that functionality into one or two sentences that would make sense to a more general, non-data, tech audience.
1. Embedded analytics — you have your data somewhere (data warehouse, database, etc.) and you'd like to embed it into a data app. Cube would provide connectivity to data sources, data modeling to define the metrics, caching to make your analytics fast, and APIs and SDKs to deliver them to the data app. E.g., if you decided to add a chart to your front-end app, fetching the data from the API would be as easy as sending a JSON query to Cube.
2. Semantic layer for the internal BI — you have your data somewhere and you'd like to provide access to insights based on that data to business users. Cube would provide connectivity to data sources, data modeling to define the metrics, access control to make sure only ones who need access to metrics have it, caching to make sure every dashboard loads instantly, and APIs to deliver the data to BI tools, notebooks, etc. E.g., if you want to create some dashboards in Superset, Metabase, Tableau, or Power BI, you'd just need to connect Cube's SQL API as if it was a regular database and start creating charts/dashboards.