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?
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.
most elegant data browser app/webapp for datomic (like dbeaver is for postgres etc)
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
I like to use datomic console https://docs.datomic.com/resources/console.html
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
cc @dustingetz
We have this https://electric.hyperfiddle.net/datomic-browser.datomic-browser4!DatomicBrowser4/(datomic-browser.datomic-browser4!entity-detail,747667906901339), it's pre-private beta but let me know if you want to try it. Also, https://electric.hyperfiddle.net/dustingetz.object-browser-demo3!ObjectBrowserDemo3/(dustingetz.object-browser-demo3!clojure-all-ns)/~:dustingetz.entity-browser4%7B:search,'clojure',,:selection,clojure.core%7D – i.e, it's not coupled to Datomic