Is there any tip here for producing a canonical schema on datomic to make a DB "merkle-tree" based? Which would be good performance-ish way to transact / read data given some hash for datomic? A good library for composing with the schema? š
What does it mean to make a DB "Merkle-tree" based? What is your objective? (I know what Merkle-trees are)
I mean using Datomic as the immutable semantic log, then adding a cryptographic commitment layer over canonicalized events/datoms. Normal queries still use Datomic; Merkle roots are for audit/inclusion proofs kinda Iām trying to figure out the right direction more or less for: ⢠schema design for canonical append-only events ⢠where to store event hashes, tx roots, partition roots, entity roots ⢠how to make writes idempotent with hashes/unique attrs ⢠how to query by hash efficiently ⢠what Clojure/Datomic libraries or patterns fit canonical hashing / Merkle proofs ⢠what performance pitfalls to avoid Does that framing make sense? Is there a known good way to think about this in Datomic?
more or less, I want to understand some directions on those questions :))
Like I know some answers for those questions but I would like contributions that's why I've asked here
What are your performance requirements? Especially for writes
To you need a hash across the entire database or any hashes but each scoped to an entity
If you share why you're trying to build this we may discover additional alternatives
yeah, mostly I would think on write cost to not scale with size of transaction/event batch, not with total database size. thanks Joe
but yeah, hard problems hehe