Fork me on GitHub

Having created a CloudFormation template that produces an ElasticSearch cluster, isolated in its own VPC and exposed via an endpoint service, hooked up to CodeDeploy for configuration updates, I have a newfound respect for the people who put Datomic Cloud together. Making AWS hook things up programmatically for you is like arguing contract details with a bureaucrat from a national telecom.

👍 2

We use terraform, it's head and shoulders above cloud formation for this kind of stiff


@U380J7PAQ Interesting, I'll have to look into it.

Oleh K.16:01:07

I don't understand how I can upload my current datomic database to the cloud, can anybody tell me?

Oleh K.16:01:11

restore-db function doesn't recognize the cloud type url


The on-prem storage is not compatible with cloud's.


We don’t currently have tooling for migrating between On-Prem and Cloud

Oleh K.16:01:18

thanks for clarification


That might be obvious to some people here but it was not for me until this morning so I thought I would share. The top paragraph at is a bit misleading because you can assert facts about entities that are not "already in the database". The facts get added even if the :db/id does not exist or the entity was retracted. That might not be a problem with one peer but with multiple peers you can end up in situations where an entity gets retracted by one peer and updated by another right after. I'm guessing that's a good argument to use lookup refs instead of :db/ids in transactions. Otherwise you would have to check that the entity id already exists in a tx function every time you want to assert new facts. Did I miss something?


I agree that this is a reason to use lookup refs: if you intend the transaction to succeed only when the entity to which the facts refers can be found in the database already. I think it’s worth taking care in the language to note that Datomic does not have a separate notion of modeling entity existence — just whether or not there are facts about the entity.


@bkamphaus I think it's worth clarifying this in the docs and not mention things like "an existing id for an entity that's already in the database"


there is a sort of "entity existence" check in datomic. The "t" is a db-wide counter incremented for each tempid (those that don't resolve to an entity id). if an entity id's "t" bits exceed the db's current t, datomic may say the entity doesn't exist


What are people doing wrt development of Datomic Cloud/ions on Windows? We’ve got a partner where one of the developers uses Windows.


@me1740 you can use :db.fn/cas to detect a concurrent modification and fail a transaction