datomic

mkvlr 2025-07-10T08:27:52.502119Z

when submitting a transaction with datomic pro, does a vector? not preserve its type on the transactor? I thought I remember a doc page about this but not finding it now. What checks should I be using for checking something is a lookup ref on the transactor? Does (and (seqable? current-value) (= 2 (count current-value)) (keyword? (first current-value))) look ok?

mkvlr 2025-07-10T08:42:11.481409Z

ah right, it’s in https://docs.datomic.com/transactions/transaction-functions.html#writing > Transaction data is serialized with Fressian. Transaction functions should not rely on, or presume, Clojure collection capabilities since collections deserialized by Fressian are guaranteed only Java interfaces.

robert-stuttaford 2025-07-10T09:27:24.824579Z

am i correct that excision is meant to strip out all historical values as well? i appear to have some historical values for an excised attribute on an entity, they are still available to (d/datoms (d/history ...) ...) , even after sync-excise on d/basis-t completes. i didn't use before or beforeT : {:db/excise ID :db.excise/attrs [:attr1 :attr2]}

Casey 2025-07-13T09:17:27.576899Z

I am actually curious about this as well. Soon I'll be having to perform an excision for legal reasons and I assumed that excision rewrites history. Is the answer not that simple?

Joe Lane 2025-07-10T14:08:23.414179Z

I've DM'ed you

Dustin Getz (Hyperfiddle) 2025-07-10T12:54:15.569669Z

Hi friends, we're slow-launching an upgraded hyperfiddle datomic browser: https://github.com/hyperfiddle/datomic-browserSupports large Datomic databases and slow queries • upgraded entity browser UX with lots of new features • custom queries - any clojure query, i.e. supports Datomic ORMs and api wrappers, etc • prod ready, httpkit and jetty adapters, compatible with your prod middleware stack for auth etc • private beta, DM for a demo

👀 4
🔥 4
robert-stuttaford 2025-07-10T13:09:42.140529Z

wow!

cch1 2025-07-11T12:14:28.483509Z

So much awesome. I'm drooling.

robert-stuttaford 2025-07-10T05:47:08.848279Z

scenario: excising PII from prod db restored to a non-prod environment. would it improve indexing performance in any manner if the transactor didn't have any connected peers while it reindexed after a large excision (hundreds of thousands of entities with ~10 datoms each)? what else could improve performance? would increasing writeConcurrency from 4 help? if so, what is a safe upperbound value to set it to? update: found index-parallelism! is 8 the maximum? would a higher number make it any faster? thanks 😄

Joe Lane 2025-07-10T14:09:17.683229Z

What storage are you reading/writing to and what is your read-concurrency and write-concurrency?

robert-stuttaford 2025-07-10T18:29:03.586189Z

AWS Aurora Postgres, and i believe we don't currently set a custom value for either of those, so it'd be the default!