Settings

Theme

Show HN: Strata – an expressive semantic layer that can say no to your LLM

strata.do

25 points by ajoski9 · 19 comments · 2 min read

Reader

Hello HN, I'm Ajo and I built Strata.

I spent 4 years at Netflix solving self service for non-technical business users. I think I cracked it with my unique approach to semantic layer design. The key challenge is balancing expressiveness with ease of use for our non technical colleagues. It just so happens that focus made it work pretty well with LLMs too.

Strata is a full stack solution. It includes a semantic layer, dashboards, subscriptions, and google sheets exports. All of it can be done view agent conversation or via MCP.

Some key concepts and features: - Names are strict. Only one thing called Revenue can exist in a project. If revenue is mapped to multiple tables, the query grain plus speed will decide table. - Strict naming conventions lends itself to enabling Automatic data blending acrros fact domains. - Partition and Aggregate aware semantic routing. This allows you to load a portion of your data into a faster compute engine like Druid or ClickHose, while keeping full history in trino or something cheaper. The query engine will choose the faster tier if the query can be resolved there. - Complex measures: out of the box support for snapshot, LOD (include/exclude), Compound, and Auto leveling compound measures. - On top of the semantic layer users can create custom calculations that span fact domains. - Another interesting feature is the ability to create cohorts and apply as filter to an entire query or single measure within a query.

We are deliberately not building a semantic layer that your BI tools connect to. I think that is a dead end. We have apis, and mcp for anything custom you want to build on top.

Try it free on docker: https://strata.do/try/

Docs here to get you going: https://strata.do/docs/

This is an early beta version. It is NOT open source. However, the free tier includes up to 25 users. You should be able to run it entirely on your machine with docker.

I would love to hear your feedback. Especially, those working with Looker and Cube.

Thanks for reading!

5 threads
ajoski9OP

hey everyone, we just launched a live demo site: https://demo.strata.do

So you don't have to setup docker if you just want to try the product directly. Thanks!

efromvt

I’m a big fan of the strict naming as an abstraction above tables and reuse as blend key approach, it also greatly simplifies aggregate resolution like you have. (Landed on the same abstraction level when building a semantic model personally).

Lots of 404s on the docs pages - might be worth an audit of links?

  • ajoski9OP

    Thanks for the heads up. I do have a specific question on your implementation. We were thinking about launching a semantic layer as a service api. You post your model and we give you fast query generation. You can then use this in your own tools. Benefits are a fast expressive semantic layer, model hosted, and your actual data stays behind your firewall. What do you think of this?

    • efromvt

      I think a service that simplifies things enough can get people to pay for it, but semantic layer is tough because you often also do want to encode sensitive information, you need to minimize latency, and it’s in the critical path of a bunch of other stuff. You’d need to differentiate quite a bit vs a local hosted option with more flexibility. That’s why semantic layer vendors are often semantic layer ++ ; you want to hook into an ecosystem to get sticky. Doesn’t mean it won’t work!

irasigman

How do you weight the value of semantic layers when all of the labs are chasing shell usage benchmarks like TerminalBench?

Aside from the enterprise stuff like consistent metrics I’m not convinced semantic layers improve agent performance. Case in point is Snowflake Analyst has been routing 90%+ of queries to traditional SQL as opposed to their own semantic SQL dialect.

A semantic layer is a concept from 2018 in the BI world. Metadata is one thing but semantic layer implies an abstraction from physical data with lossy translations.

  • ajoski9OP

    Great question. Semantic layer has been around before I was even in the industry. Probably late 90's. Innovation on this layer has gone backwards actually. Simpler and less capable (Looker vs Strategy for example).

    It does however improve on agent performance in one important way: rejects plausible queries that are invalid. Agents writing sql are more likely to be inventive in unexpected ways. Business users won't know the difference. It is definitely not useful for developers/data engineers anymore. But quite a good tool as part of analytics harness for business users.

    The one issue with Snowflake semantic dialect is the lack of expressiveness. Agents have to route to sql for many common scenarios. What do you think?

chrisweekly

> "Not a fit? That is fair. If all you want is another query tool for SQL-fluent analysts, Strata is not it. We are built to take powerful self-service to everyone else, the people who could never write the query in the first place."

Every product should include this kind of disclaimer. Clarity on what it's NOT is often more immediately illuminating than (usually more verbose) descriptions of what it IS.

Anyway, this looks like it could be useful - though I'd find it much more compelling if it were OSS.

lubujackson

[flagged]

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection