Hacker News Comments on
Rich Hickey on Datomic Ions, September 12, 2018
Clojure/nyc
·
Youtube
·
147
HN points
·
0
HN comments
- This course is unranked · view top recommended courses
Hacker News Stories and Comments
All the comments and stories posted to Hacker News that reference this video.⬐ iceyThis is about a feature of the Datomic database called Ions, which appear to be analogous to stored procedures (e.g. running Clojure functions in the db). From reading https://docs.datomic.com/cloud/ions/ions.html, that's an oversimplification, but I didn't know what it was so figured I'd save someone a search.⬐ gw⬐ ScarbuttTransaction functions were always part of datomic, even when running it outside of AWS. I think of Ion as a tool that wraps all the complex insanity of AWS so you can write an app as closely as possible to how you'd write a traditional Clojure app meant to run on a single server. In that sense it's not even specifically about datomic... You can even choose not to use it as your database, but of course then you'll be on your own as far as scaling your db.These is really nice for some, but on the other side, I'm worried the peer is going to be considered legacy.⬐ lbjIn our experience Datomic has been quite the disappointment. Datalog is great, the rest is less so. Off the charts and unpredictable memory consumption, slow queries with no hope of optimization (we're talking 2.3seconds/100k rows) unexplainable dataloss. So many great ideas, sketchy implementation. Cant say if the Cloud version is better, we never tried.⬐ lsbThat sounds like a valuable experience report to write up and link to!⬐ ScarbuttBut they promise this new product (Datomic Cloud which is incompatible with traditional Datomic called on-premise) will solve all your performance issues because they have taken the work of doing all the AWS for you.⬐ dgellowI’m curious about the reasons someone would use Datomic. Did you just tried it out to evaluate it or did you have an actual use case for it? If you did have one, would you be okay to elaborate?⬐ bhurlow⬐ NoneOut team chose Datomic for it's graph like properties and emphasis on data locality. This is optimal for GraphQL style patterns where you'd otherwise join a million tables⬐ technionIt's extremely tied to the Clojure community. Odds are if you write the language, you'll be pointed in that direction, even if you ask for a recommended PostgreSQL library.It's something I struggled with - I can get any language over the line here but it's got to work with our existing data sets.
None⬐ NoneNone⬐ vlaaadThere are indexed attributes, isn't it a hope?⬐ moocowtrucki'd like to second and third this experience⬐ marknadalI was very excited about Datomic as well, but disappointed it wasn't Open Source.I decided to fix that + build something that combines my favorite features from Postgres, Mongo, Neo4j, Couch/Pouch, Riak, Cassandra, Redis, Rethink, Firebase, and MySQL! Lol, it has only taken me 4 years and ~ still not v1.0 yet but the Internet Archive (Top 300 site in the world!) and others are running us in production. So give it a try - it is all MIT/Zlib/Apache2 licensed ( https://github.com/amark/gun ), no crippleware "opencore", and fast (20M ops/sec for cached data, which Datomic also does, but IDK their benchmarks off the top of my head).
⬐ gargamel9Oooops, you forgot the first rule of Datomic license: Thou shall not talk about the Datomic (un)performance!⬐ ttwwmmFor the unfamiliar:> The Licensee hereby agrees, without the prior written consent of Cognitect, which may be withheld or conditioned at Cognitect’s sole discretion, it will not: [...] (j) publicly display or communicate the results of internal performance testing or other benchmarking or performance evaluation of the Software; [...]
https://www.datomic.com/on-prem-eula.html
I.e., the Oracle approach.
⬐ stingraycharlesYep, for how much they are involved in the open source community, it's fairly disappointing this is not allowed:https://www.datomic.com/on-prem-eula.html
"[The licensee will not] (j) publicly display or communicate the results of internal performance testing or other benchmarking or performance evaluation of the Software; "
I wish they wouldn't do this, it seems that they simply do not want to talk about this topic, even though the reason people usually choose Datomic is not performance but rather its abstractions -- so why the hostile attitude?
⬐ RaleyField> simply do not want to talk about this topicI wonder if there are many respectable companies that don't allow you to post benchmarks. It's almost as if they don't have any confidence in their product that they have to resort to such extraordinary measures.
⬐ None⬐ 3rdAccountNone⬐ strikingOracle, Microsoft. They're called "DeWitt clauses", after the researcher who first invoked Oracle's wrath after publishing benchmarks and finding them to be the slowest. Read on:* more about DeWitt: https://en.wikipedia.org/wiki/David_DeWitt#The_%22DeWitt_Cla...
* an overview of database licenses with such a clause today: https://stackoverflow.com/a/12116865/1376005
* an essay discussing the legality of such clauses, with links to further material on/about them: https://www.dwheeler.com/essays/dewitt-clause.html
I think they've said before that they don't want someone saying the performance sucks when it is really just a bad query or something else that isn't the databases fault...this is usually the reason why talking about performance is outlawed.⬐ dwohnitmokBut an analogous situation holds for almost all performance benchmarks of any product right? That seems to be an argument against ever making any benchmarks public.⬐ 3rdAccountI don't agree with it.