Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Is a "semantic layer" nothing more than a fancy name for a SQL VIEW in a NoSQL?


No, it's more than that.

Semantic Layer is about decomposing views into dimensions and aggregates, then letting downstream apps/users compose their own views on top without having to redefine/re-calculate business level metrics.

This makes data analyis more flexible than sql views which are hardcoded on particular groupings.


It's a lot more. A SQL VIEW is just a saved query, where a semantic layer defines the shared meaning of the data, and helps enforce consistent metrics, joins, and logic across tools. You'd be surprised at how many ways "active customer" can be represented as SQL.


Doesn't a view do that?

  create view active_cx as select * from customer join audit_events using(...) join ... where -- active condition

  -- use active_cx wherever

  select ... from orders join active_cx using(...) where ts > start_of_month() group by active_cx.id


It sounds like "semantic layer" == views/queries created automatically and on the fly.


Kind of annoying the article writes "What is [a semantic layer] anyway?" twice but never defines it directly.


OP here - I wrote extensively about, that's why I linked to existing article rather than explaining once more, and focusing on the why and how to build one. See also comment above: https://news.ycombinator.com/reply?id=44960004&goto=item%3Fi...


I looked for such a link in TFA, and it wasn't obvious.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: