Fork me on GitHub

@stopachka all Datomic licenses are perpetual, meaning they will always work on versions of Datomic on-prem released prior to their expiration. Starter is intended for customers wanting to try out Datomic, after the 1 year the expected path is to move on to a PRO license to continue getting upgrades + support + HA etc. If you aren't ready after one year, you can continue using your Starter license, but you will not be able to "renew" and get new versions released after your starter licenses expiration. > can have multiple boxes of datomic running, etc I want to clarify that a Datomic license supports a single Datomic system which is the Transactor (pair for HA of active/standby), and all associated peers. Datomic is a distributed system so all of these processes can be (and should be) on different machines.

❤️ 3

Awesome, thank you @U1QJACBUM !


Hey all, could anybody point me to a good repo on Github with an easily-grokked implementation of Datomic on-prem? I'm finding that getting over the hump of integrating the library and getting a hello-world thing going is pretty challenging.


I had the same problem when I was trying to build a website with clojure and datomic. This helped me a lot.


Ah, this is great, thank you! This reminds me a little bit of the "Immutable Stack" series:


I'll take another look at it, thanks @lanejo01! I did enjoy the lecture series, maybe I just have to be patient and pick the repo apart a bit.

Joe Lane16:04:39

If you have specific questions / problems you're hitting I'm happy to help answer those too 🙂


In that case, maybe you could explain this to me: what's the difference between datomic.api and datomic.client.api? In hello_world.clj in the Day of Datomic repo for example, they DON'T use datomic.client.api: But in the official on-prem docs, they do: I was wondering if this might be a cloud vs. on-prem thing.

Joe Lane17:04:10

Sure thing! So in datomic cloud and dev-local, the only way to interact with datomic is via some form of the "Client API". On-prem is unique because it supports a version of the "Client API" and, additionally, has what's known as the "Peer Api", a separate way to interact with datomic.

Joe Lane17:04:48

• datomic.api -> Peer API • datomic.client.api -> Client API


Gotcha, that's helpful! > If you are trying Datomic for the first time, we recommend that you begin with a client library. Sounds like I should focus my efforts on getting up and running with the client library :thumbsup:

Joe Lane17:04:04

Are you only looking at on-prem? We have a cloud offering that is simpler operationally that may fit your needs better (depending on your needs, of course 🙂 )


I think I'd like to stick with on-prem for now to cut down on the complication (and expense) of using a cloud DB, but if and when I scale up to that level I'll come knocking 😛

Joe Lane17:04:39

Fair enough, but just so you're aware, on-prem licenses are paid upfront (once you're out of starter) while cloud is pay-as-you-go and can be cheaper in some circumstances. I'd hate for you to build out a bunch of stuff and then realize you wanted cloud instead.

Joe Lane17:04:18

Have fun! I'm around if you have anymore questions!


Indeed! I appreciate the help. I'm still in early days with it all, but Datalog is blowing my mind. I feel like for the first time in my life I can actually write a database query. My MO since I first started doing software has been more or less SELECT * FROM SOME_TABLE and proceed to aggregate/filter/whatever with backend JS or Clojure. This was a huge help for me: . It's a fantastic introduction to Datalog, and also a really good example of a real-world, relatable, and small-scale Datomic DB + schema.


Possibly worth considering as another option is no expense and same client api.