Fork me on GitHub
#datomic
<
2020-05-15
>
lifecoder12:05:37

Hi! Is it acceptable practice to call create-database/delete-database ~10 times per day with randomized db-name for use in functional tests in Datomic Cloud? Test cluster is separate from production one. I am just worried if this won’t lead to some kind of resource leaks over time…

marshall13:05:45

as long as you’re on a recent release that should be fine @lifecoder, particularly in a separate system from prod The only thing you may need to do if you do encounter any issue is restart the compute node(s) on the system when/if you hit any issue (it is unlikely you will, there were a couple cases where it was possible on earlier versions)

jaret13:05:17

Sorry for the incoming spam we’ve got a lot to announce so here it goes:

kenny14:05:47

Is the built-ins list for https://docs.datomic.com/cloud/query/query-pull.html#xform-option extensive? No support for int/long/double? Xforms seem like they'd make ordering card many attributes nicer. Support for clojure.edn/read-string is interesting. Implies people often store edn in a Datomic string attribute. Do people do this often?

kenny14:05:03

Is qseq similar to an eduction -- passing over the data twice will recompute the result?

stuarthalloway19:05:35

passing over the data twice will rerun the query

favila14:05:02

The on-prem docs for the new features looks…off, like it was meant for cloud

favila14:05:32

I also don’t see these documented on the client api docs. https://docs.datomic.com/on-prem/clojure/index.html

favila14:05:04

or :xform on the pull grammar

favila14:05:23

sorry for all the nits. I have a use case in my mind and I don’t have time to test with code, so I was trying to infer from docs. I want to use :xform to get back d/entity behavior for idents

favila14:05:35

I’m not sure if it’s possible

marshall14:05:47

can you hard refresh?

marshall14:05:58

there was some caching strangeness

marshall14:05:42

the Peer API docs may not yet be updated; i’ll look at that asap

marshall14:05:38

@U09R86PA4 https://docs.datomic.com/on-prem/pull.html#xform yes, you’re right it’s missing in the grammar. will fix

favila14:05:34

hard refresh doesn’t seem to fix. I also notice “q” on the on-prem “query” page is also written as if it’s for the client api

favila14:05:41

(maybe it was always like that)

marshall14:05:16

not sure what you mean by “looks off like it was meant for cloud”

marshall14:05:38

yeah, the docs are generally written api agnostic or client=preferred

favila14:05:25

ok, so one by one:

favila14:05:59

https://docs.datomic.com/on-prem/query.html#qseq says “`datomic.client.ap/qseq` utilizes the same https://docs.datomic.com/on-prem/query.html#grammar.” Both are client api. Maybe by design I’m thinking now

favila14:05:04

https://docs.datomic.com/on-prem/pull.html#xform talks about resources/datomic/extensions.edn and whitelisting functions--I’m not aware of that being an on-prem thing?

marshall14:05:09

it is now 🙂

favila14:05:11

https://docs.datomic.com/on-prem/index-pull.html looks like a client api and mentions client options--maybe it is actually the same as peer

favila14:05:13

re function whitelisting: wow really? that sounds very tedious in an on-prem setting

favila14:05:01

is :reverse for index-pull more efficient in on-prem than (reverse (d/datoms …)) ?

marshall14:05:30

significantly

favila14:05:36

… can it be backported to d/datoms etc?

marshall14:05:54

potentially; not yet, but i believe it could be in the future

favila14:05:06

could the tx log also be walked in reverse?

favila14:05:10

(efficiently)

marshall14:05:28

also, possibly; I’m not sure, but i’ll pass on the question

marshall14:05:34

@U09R86PA4 Peer API docs updated

thanks3 4
favila14:05:18

I’m more excited about walking an index in reverse than index-pull’s other features. I’m not sure index-pull makes sense in on-prem otherwise

favila14:05:48

I see why it would be really important for clients though

kenny14:05:18

> Enhancement: Improve internal record keeping of active databases that could lead to spurious error messages. Does this fix https://support.cognitect.com/hc/en-us/requests/2598?

jaret17:05:55

no, I don’t think that will resolve that issue. We are still working on reproducing.

jaret13:05:57

New Cloud, on-prem, client, CLI, ion/ion-dev release ^

souenzzo17:05:24

Naming question: Why does :xform is named in this way? clojure.core/sequence for example has a xform coll signature, where xform means functions like clojure.core/cat, not clojure.core/str I mean, I know that datomic and clojure are "independent" products, but I also know that the ideas behind both are the same What does xform means?

👍 4
kenny17:05:58

I was also curious about this. I usually think of "xform" as a transducer. Datomic's xform is not a transducer, afaict.

8
mafcocinco19:05:48

random newb question: Can Datomic use Foundation DB as its durable storage?

stuarthalloway14:05:14

does Foundation DB have a JDBC driver?

mafcocinco15:05:00

Unfortunately, it does not. There is an fdb-client that is required to be installed on every box. However, we would consider writing one for FDB if that is the only criteria for plugging it into Datomic.

mafcocinco15:05:07

We (my company is http://novolabs.com) are going to be adopting Datomic for our operational DB. We use FDB for our historical data and would love to have Datomic use FDB for its durable storage as we would only need one storage solution which would greatly improve our SRE.

stuarthalloway17:05:19

Obviously we don't test against the (not yet written) driver 🙂 but anything that correctly implements the JDBC spec (particularly transaction isolation) should work fine as a Datomic storage service. On the standard license, we would be able to support you with Datomic but not with any FDB-specific issues.

mafcocinco02:05:45

Understood. Thanks for the help and I’ll let you know if/when we have a JDBC driver for FDB that is ready for general consumption.