News for hackers. Stuff that matters.
Re:Eva – A distributed entity-attribute-value database in Cl... by jwr on Friday June 28, 2019 @01:51PM (#20306980)
I don't think Magento used it right.

I used EAV in an application and it was fine (I used Datascript on the client-side, with server-side data being stored in a JSON document database, RethinkDB). I did run into some annoying issues with the lack of nil value handling. I'd say writing queries was difficult, but not significantly more difficult than in any other language, if you care about performance and want to know what the query actually does.

Overall, I felt there was a good mapping between my domain model and EAV.

I eventually dropped this solution in favor of Clojure data structures: if you have an in-memory (in-browser) database anyway, why keep the data in Datascript, if you can simply keep it as ClojureScript data structures?

Re:Eva – A distributed entity-attribute-value database in Cl... by gouggoug on Friday June 28, 2019 @04:00PM (#20308287)
As I mentioned here: https://news.ycombinator.com/item?id=20308175 , I think Magento did use it right, but EAV is impractical on a relational database not designed for EAV. This fact, however, doesn't show itself until you've reached a certain (arguably low by today's standards) scale.
Re:Eva – A distributed entity-attribute-value database in Cl... by dimovich on Saturday June 29, 2019 @04:56PM (#20314729)
I also started with Datascript both on frontend and backend, but ended up using instead its core data structure - persistent-sorted-set [1], which works really well if all you need is indexing.

[1] https://github.com/tonsky/persistent-sorted-set