Fork me on GitHub
#datomic
<
2020-08-05
>
thumbnail08:08:35

Hi, I'm trying to pull an entity and pull 1 attribute of it's recursive parents. '[:node/name, :node/bunch-of-attrs, :node/other-attr, {:node/parent ...}] works, but pulls all attrs every parent. i want to limit that to just name . Any way to achieve that?

favila12:08:04

Don’t know for sure but try this [,,, {:node/parent [:node/name {:node/parent ...}]}]

thumbnail12:08:54

That worked! Thanks.

wsbfg13:08:26

Does anyone know of a good comparison between the various on-prem datomic stores? We're thinking about a new project based on datomic and I was wondering if there exists a discussion of the pros and cons? I think our options would be (1) Postgres (2) Cassandra (3) Some other SQL (4) datomic cloud with the caveat that we're running in google cloud so would require data to cross clouds which may be an issue for dataomic (I can't find an opinion on this either).

favila14:08:50

on-prem vs cloud is the big difference. Within on-prem, I think you should just use whatever storage you are most familiar with

favila14:08:39

datomic on-prem uses storage as a key-value store for smallish (<60kb) binary blobs. I doubt any of the options have a clear advantage

favila14:08:26

and you’ll run anything serious with memcached or valcache

zilti15:08:05

If you are on Google Cloud you can use their managed PostgreSQL as a backend for Datomic

favila15:08:51

I can confirm the managed mysql also works fine (with some schema tweaks: https://gist.github.com/favila/ecdcd6c4269ff2bd1bb3)

wsbfg15:08:25

Thanks all - we do make use of managed postgres at the moment which would make it an obvious choice. Although google does require occasional downtime for updates which is a shame. Sounds like the choice of data store isn't critical then. That's good to know.

ghadi16:08:04

I wouldn't do cross cloud AWS <> GCP without evaluating ingress/egress costs, or latency

wsbfg10:08:19

Yeah that's the big question with that approach. Although we could potentially host our read clients inside AWS meaning that only the writes would originate in GCP which seems likely to work for our usecase. Not ideal to have to run a service away from our others but we need to weigh that up against running a database. Usually running services is easier than databases!

robert-stuttaford14:08:33

just to forewarn that datomic cloud is a totally different system to on-prem, you'll architect differently and use completely different libraries

arohner20:08:33

How do you architect differently?

wsbfg15:08:40

That's interesting - I'd not really appreciated that. I've found a good link on on-prem vs cloud. Thanks!

kschltz17:08:45

Hi there, does datomic cloud have any restrictions regarding AWS regions?

marshall17:08:34

Yes, Datomic Cloud is only available in certain regions the current list is:

onetom17:08:54

the hong kong region would be a welcome addition to that list. i have the gut feeling that it supports all the required aws features already.

marciol18:08:12

Anyone here is doing serious business with Datomic Cloud without the 24x7 support? The contracted support can be pretty expensive and I notice this is a matter of risk management. We run an application from 9 months and we had problems only when we needed a hands-on help to carry a major migration. It’d be nice to heard about other experiences.

dregre18:08:27

Hi folks — Any tips on how to best approach writing tests for Datomic rules? My app makes extensive use of rules and I would like to button up the testing. Much obliged.

onetom17:08:00

im also just about to explore this topic in our current project. what's your current approach?

dregre19:08:30

My approach has been to use an in-memory database loaded with the right schema and mock data (fixtures) and then run queries against them — but I wonder if there’s a better approach.

dregre19:08:17

I’m also interested in finding a query profiler or explainer, if anyone’s come across any.