This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-10-23
Channels
- # announcements (1)
- # babashka (29)
- # beginners (53)
- # berlin (1)
- # cider (14)
- # clj-kondo (18)
- # cljsrn (16)
- # clojure (141)
- # clojure-france (4)
- # clojure-italy (8)
- # clojure-norway (1)
- # clojure-uk (57)
- # core-async (7)
- # cursive (3)
- # data-science (2)
- # datomic (12)
- # duct (5)
- # fulcro (27)
- # hoplon (37)
- # immutant (1)
- # jobs (2)
- # jobs-discuss (7)
- # kaocha (2)
- # leiningen (3)
- # music (17)
- # nyc (1)
- # off-topic (22)
- # pathom (27)
- # re-frame (33)
- # reitit (23)
- # shadow-cljs (20)
- # tools-deps (15)
- # vim (29)
Hi datomic users - anyone have any tips on early stage data modelling for Datomic? I’d be interested in blog posts about 1) the early design phase of a project prior to creation or 2) tools to faciliate exploration or schema creation (like the codeq schema https://github.s3.amazonaws.com/downloads/Datomic/codeq/codeq.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAISTNZFOVBIJMK3TQ%2F20191023%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191023T131443Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&X-Amz-Signature=51d040c7b4a25ac20cb3f81026f005b3b062f211d6fe22db2d1f17bfc54a3d9f)
we usually use Omnigraffle to make those datomic schema diagrams
the techniques here though are very similar to classical ER diagrams, with the distinction that Datomic is more flexible than your typical "tables" of ERD (attributes can be common across "entities", ref types refer to other entities directly, not via PK/FK, cardinality, components, etc)
most of that stuff can just be annotated on the diagram though. from a big picture you're still drawing tables and lines
Thanks @alexmiller. Do you have any suggestions on how to think about early stage data design - e.g. trade-offs around making your data model “flatter” or not. Or in your experience as you start modeling the data, a natural degree of partitioning begins to emerge.
in general, I find modeling with Datomic usually lets you be pretty close to a logical ERD and there is no reason not to break things out the way you like. you can think more "table"-like, but also do a mixture of graph-like things (and in my experience most enterprise apps are 85% "table"y and 15% "graph"y - Datomic gives you the best of both worlds)
it's definitely good to go as far as you can in diagrams before you ever write any code or schemas - changing diagrams is a lot faster :)
just tried to run Datomic Pro 0.9.5981 locally, using client-pro 0.8.28, and I’m running into this issue: https://forum.datomic.com/t/ssl-handshake-error-when-connecting-to-peer-server-locally/1067
not running in Docker, and setting :validate-hostnames false
in the client config doesn’t do anything it seems
I’m following this guide: https://docs.datomic.com/on-prem/getting-started/connect-to-a-database.html