datomic

robert-stuttaford 2025-04-04T08:41:45.044849Z

is there any performance gain in ordering :db/tupleAttrs such that the most queried stuff is at the beginning of the list, or does it not matter?

➕ 1
Joe Lane 2025-04-04T14:55:06.052429Z

tuples are essentially multi-valued (e.g. multi-column in RDBMS parlance) user-space indexes, so, the performance gain is semantic w.r.t. relational algebra. If you have 100k pet owners and 1m pets and you're trying to query pets-by-owner you wouldn't want to scan all pets sorted by pet-name to find the owner (e.g. [pet/id pet/owner] ) You would instead want [pet/owner pet/id (or a ref to a pet)] so you can slurp the index. You want the opposite if you want to query owner-by-pets, where you're given a pet/id and want to find it's owner. This is a super simplified example and they are both mostly covered by the regular indexes.

vc 2025-04-04T16:41:00.548279Z

most elegant data browser app/webapp for datomic (like dbeaver is for postgres etc)

souenzzo 2025-04-04T19:31:13.745079Z

Use any #clojure tool that you want just (tap> (d/q '[] ...)) and browse the db https://clojure.org/news/2023/04/28/introducing-morse or #reveal or any other tap> protocol browser

Darlei Soares 2025-04-04T19:59:46.858819Z

I like to use datomic console https://docs.datomic.com/resources/console.html

Leaf Garland 2025-04-05T01:43:30.240659Z

Agree with repl and tap viewer for most things, but we also have a tool based on ideas from Datomic’s rest tool that sees a lot of use. It’s 2 ring routes (entities & datoms) and a couple of pages of clj/hiccup, great for support and devs. https://docs.datomic.com/reference/rest.html

braai engineer 2025-04-05T09:04:58.683069Z

cc @dustingetz