Hacker News new | past | comments | ask | show | jobs | submit login

That's a good point, to be honest I'm not sure there's a particularly good answer to that beyond "it's a much better underlying model". SQL is an ugly bastardization of the relational model, whereas Datalog is a clean application of the logical model to the relational setting.

One thing that's really nice about Datalog is that it puts the focus on modelling relations between data instead of "tables" which often end up with a jumble of data and then need to be normalized to work properly. It pushes you into good structures by default, which is a really good property to have. It's also much much simpler than SQL, no need to think in terms of inner joins and outer joins and whatever else, it is all relations.

It also easily produces derived data from existing data, without needing any kind of procedural process, and is highly composable.

It's not so much that it's solving a burning problem than SQL, it's just better than SQL...

(note: the clojure syntax used in that page is much more confusing than the native Datalog syntax IMO)




Another problem with Clojure-based Datalog is performance. Yet another is you are pretty much tied to the Clojure ecosystem. And I don't really like the Clojure-fused Datalog syntax either. These pains spurred me to write my own: https://docs.cozodb.org/en/latest/ (FOSS), and so far I'm satisified with my own work.


What is the performance problem?




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

Search: