News for hackers. Stuff that matters.
Re:Datomic Is Now Free by endisneigh on Thursday April 27, 2023 @09:48AM (#35728072)
The price is certainly right, but has anyone used this in production? What was your experience like?
Re:Datomic Is Now Free by jackrusher on Thursday April 27, 2023 @09:52AM (#35728108)
Yes, it's used by many companies in production. There's a partial list here:

https://www.datomic.com/customers.html

Re:Datomic Is Now Free by endisneigh on Thursday April 27, 2023 @09:56AM (#35728162)
to be honest the testimonials are terrible.

> “Datomic added to DynamoDB was the only option that didn’t force us to sacrifice features or add the expense of developer time. Without it, we would have had to push back a lot more, as the features would have been too difficult.”

(https://www.datomic.com/the-brigades-story.html)

like, what? effectively useless information.

some of the other testimonials mention keeping revision history, which is neat, but why Datomic vs. others? it's pretty easy to keep revision history with other databases too.

Re:Datomic Is Now Free by simtel20 on Thursday April 27, 2023 @10:24AM (#35728577)
It's not simply revision history, it's a complete record of everything with time, without re-architecting your data or app. IIRC datomic structures your data so that all transactions and state have a time dimension so you can go forward or back in time trivially (no special query, no temporal sql, etc.)
Re:Datomic Is Now Free by motogpjimbo on Thursday April 27, 2023 @10:48AM (#35728978)
What happens when you have a legal obligation to delete or anonymise data for some reason?
Re:Datomic Is Now Free by fulafel on Thursday April 27, 2023 @10:52AM (#35729034)
There's https://docs.datomic.com/pro/reference/excision.html - but like in other data models you also might choose to not store sensitive infromation like PII in cleartext in the main DB at all. At least in earlier versions excision wasn't supported in the Datomic Cloud version.
Re:Datomic Is Now Free by lebski88 on Thursday April 27, 2023 @11:04AM (#35729223)
Excision still isn't supported for cloud, it is / was on their plan but there was never any movement in that direction.
Re:Datomic Is Now Free by fulafel on Monday May 01, 2023 @06:14AM (#35770888)
I wonder if this is related to lack of guarantees about actual data erasure on delete in the backing storage. A lot of users probably don't take this into account when building on top of cloud storage servies.
Re:Datomic Is Now Free by Timshel on Thursday April 27, 2023 @10:02AM (#35728234)
Not a good look when four out of the six companies behind the "customer stories" do not exist anymore (or at least their website is dead ...)
Re:Datomic Is Now Free by adamfeldman on Thursday April 27, 2023 @09:51AM (#35728097)
Re:Datomic Is Now Free by dagw on Thursday April 27, 2023 @11:22AM (#35729497)
Worth keeping in mind that Nubank owns the company that makes Datomic, so that might colour their opinion. On the flip side they probably wouldn't have bought the company if they thought their product was crap.
Re:Datomic Is Now Free by Scarbutt on Thursday April 27, 2023 @11:40AM (#35729736)
My guess is they bought the company because they were already too invested in Datomic.
Re:Datomic Is Now Free by hoffs on Thursday April 27, 2023 @04:20PM (#35733988)
Also helps them to tune it for their use cases where other users have to rely on closed sourceness of it
Re:Datomic Is Now Free by raybb on Thursday April 27, 2023 @10:21AM (#35728525)
I haven't used it but I guess Nubank uses it. https://www.youtube.com/watch?v=qIdrT6r77gA
Re:Datomic Is Now Free by xmlblog on Thursday April 27, 2023 @10:27AM (#35728636)
Netflix, Facebook (Meta), Nubank, and many others.
Re:Datomic Is Now Free by 1letterunixname on Thursday April 27, 2023 @08:21PM (#35736136)
I couldn't find a single reference in any codebase to "[^te]datomic" at one of those MAANGs mentioned.
Re:Datomic Is Now Free by Naomarik on Thursday April 27, 2023 @10:43AM (#35728905)
https://sayartii.com/ is using Datomic stored on postgres that I have set up on Linode. That was all done back in 2020 and haven't needed to touch it. Site now gets ~180M monthly reqs and I store an enormous amount of analytic data on Datomic (was supposed to be temporary) so users can see impressions/clicks per day for each advertisement. I'm surprised it's still working.

Development experience is extremely nice using clojure. I've used it for two other projects and has been very reliable. My latest project didn't really need any of its features compared to a traditional rdbms but I opted for it anyways so I don't have to write sql.

Re:Datomic Is Now Free by mardifoufs on Thursday April 27, 2023 @04:26PM (#35734050)
Was it expensive to run? Now that it is free, I guess that's less of a concern!
Re:Datomic Is Now Free by ddellacosta on Thursday April 27, 2023 @11:02AM (#35729191)
My personal experience was using Datomic backed by DynamoDB, at the second Clojure company I worked at. In particular I remember feeling like it was hard to anticipate and understand its performance characteristics in particular, and how indices can be leveraged effectively. Maybe if we had chosen Postgres as a backing store that would have been better? I dunno.

Using it was pretty nice at the scale of a small startup with a motivated team, but scaling it up organizationally-speaking was a challenge due to Datalog's relative idiosyncrasy and poor tooling around the database itself. This was compounded by the parallel challenge of keeping a Clojure codebase from going spaghetti-shaped, which happens in that language when teams scale without a lot of "convention and discipline"--it may be easier to manage otherwise. All of that said, this was years ago so maybe things have changed.

At this point I'd choose either PostgreSQL or SQLite for any project I'm getting started with, as they are both rock-solid, full-featured projects with great tooling and widespread adoption. If things need to scale a basic PostgreSQL setup can usually handle a lot until you need to move to e.g. RDS or whatever, and I'm probably biased but I think SQL is not really that much worse than Datalog for common use-cases. Datalog is nice though, don't get me wrong.

EDIT: one point I forgot to make: the killer feature of being an immutable data store that lets you go back in time is in fact super cool, and it's probably exactly what some organizations need, but it is also costly, and I suspect the number of organizations who really need that functionality is pretty small. The place I was at certainly didn't, which is probably part of the reason for the friction I experienced.

Re:Datomic Is Now Free by xmlblog on Thursday April 27, 2023 @11:26AM (#35729541)
Newer releases have improved significantly in this area. It's now possible to understand perf implications with the addition of io-stats[1] and query-stats[2].

[1] https://docs.datomic.com/pro/api/io-stats.html [2] https://docs.datomic.com/pro/api/query-stats.html

Re:Datomic Is Now Free by hlship on Thursday April 27, 2023 @01:53PM (#35732018)
Although it is true that "time traveling" queries are relatively rare for production needs, the basic architecture supports things that many applications really need:

- It is possible to make queries against the database PLUS additional data not yet added, that is, "what if" queries

- Having a stable database-as-value is really useful for paginating results; you don't have to worry about new values being inserted into your results during execution, the way you do with traditional databases no longer how long (minutes, hours, even days) you take to traverse the data

- Reified transactions makes it possible to store extra data with each transaction, trivially, such as who made the update and why

- Immutability is amazing for caching at all layers