Fork me on GitHub
Steven Deobald20:09:04

Not sure if anyone in here was paying attention to #crux previously, but if you weren't you'll be happy to know we've renamed The Database Formerly Known As Crux to something far saner (and google-worthy):

🙌 5

Is anyone using xtdb in production? Or even in their own toy projects? I've not used Datomic or XTDB yet and wanted to understand what exactly they bring to the table

Steven Deobald01:12:06

@U051S5XR3 Yeah, quite a few folks. You can see some example domains at but it's safe to say there's a spectrum of use cases the leans toward finance/risk/blockchain stuff, infosec/metadata stuff, and audits/compliance stuff — in that order. The heavier use cases tend to lean on the immutable data features. Secondarily, people seem interested in the bitemporal queries. We do have some users making use of graph queries, but I'd say that's in the minority. XT differs from Datomic in a few ways. We actively support non-Clojure client libraries (and the list is likely to grow very soon) and our revenue from production users is definitely split between people using Clojure vs. other JVM languages. XT has a query planner, which Datomic does not. Datomic only has transaction time ("system time" in SQL:2011) as a first-class concept. XT has transaction time as well as valid time ("application time" in SQL:2011 terms) as first-class concepts. XT is record based (see while Datomic is EAV-triple-based. XT currently has Datalog as a first-class query language and SQL as a second-class query language, but we're investing heavily in SQL research and it's entirely possible those two might swap roles in XT 2.x. Datomic has a very strict schema, making it a bit difficult to get started with (in my experience... but I haven't used Datomic in nearly a decade). XT is schema-on-read, so you can basically just shove any old Clojure map in there and get going.

Steven Deobald01:12:54

@U051S5XR3 We'll be publishing a "Partner Brief" soon which will detail more of this, if you're interested. Happy to ping you. Also happy to get on a call if you wanted me to walk you through XT a bit and explain the differences between the current release (1.20.x) and upcoming 2.x releases. I'm <tel:+919845064156|+91 98450 64156> for Signal/Telegram/WhatsApp, <tel:+13066717179|+1 (306) 671-7179> for old-timey phone calls, and <mailto:[email protected]|[email protected]> if you want to chat with me + more of the team.


Thank you for such a detailed response @Steven Deobald ! I'm looking into xtdb out of personal curiosity (more than immediate requirement), but I'd love to fit it to a use-case and use it in production (database tech in Clojure is so exciting!). I'll read through the links you've shared and ask doubts / more questions

👍 1