This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-08-16
Channels
- # announcements (25)
- # babashka (15)
- # beginners (14)
- # calva (60)
- # circleci (1)
- # clerk (1)
- # clj-kondo (13)
- # cljdoc (7)
- # clojure (45)
- # clojure-austin (1)
- # clojure-bay-area (1)
- # clojure-brasil (4)
- # clojure-dev (9)
- # clojure-europe (24)
- # clojure-norway (105)
- # clojure-uk (2)
- # clojurescript (6)
- # conjure (1)
- # core-typed (4)
- # cursive (4)
- # datalevin (1)
- # datomic (25)
- # emacs (31)
- # fulcro (3)
- # humbleui (10)
- # hyperfiddle (19)
- # jobs (2)
- # luminus (3)
- # malli (13)
- # nbb (5)
- # off-topic (16)
- # polylith (2)
- # portal (7)
- # releases (2)
- # shadow-cljs (5)
- # sql (8)
Are we able to materialize datomis's history prefix into a state and prune data? Kind of like event replay in an event sourcing system
I am super happy to share that we have released Datomic local! See our blog post here: https://blog.datomic.com/2023/08/datomic-local-is-released.html
Please let us know if the FAQ is missing anything or if I failed to update the old name "dev-local" anywhere in the docs.
Nice! Is this actually a rename of the filesystem backed dev-local or is there a bigger change?
@U083D6HK9 a rename of dev-local to facilitate apache 2.0 and redistribution. There are more plans in the works but we had to get this step done to get to the next thing 🙂
Does this also means we’re allowed to peak into the jar and potentially redistribute its sources?
Ah. The blog post specifies the binary is apache2 licensed, so maybe it’s a no. Not sure how to interpret apache 2 wrt to reverse engineering/decomp
Any plans to make an embeddable Datomic pro with dev storage protocol?
I think this would be worth sharing in #announcements too. This is really great news, especially for projects like #hyperfiddle which have defaulted to Datomic for its reliability at scale and community support. (The starter project uses Datomic, but starting with Datomic Local should make it even easier to get started).
@UGJE0MM0W local is backed by a filesystem, but it has https://docs.datomic.com/cloud/datomic-local.html#limits. That being said, no current plans to make Datomic pro more embeddable, but it is also under apache 2.0. Just designed as a distributed database with multiple processes.
Thank you so much for doing this. I’m giving a presentation next week on some Datomic superpowers and the release to Central makes it much easier for people to noodle with demo code
@UGJE0MM0W one more thought. If you are wanting pro because of peer api. There may be future work to provide that api. But client api only for now.
Yes the peer api is what I (and others I think) want
I also have posted the traditional forum post: https://forum.datomic.com/t/datomic-local-now-available/2309
Hi guys, I'm trying to run a query to count entities, but when I try to make a second bind for example, my query fails due to a timeout. If I increase the timeout, the CPU sometimes hits 100% and the server returns with Service Unavailable after some time. I'm running it in a Datomic Cloud instance hosted on AWS in an i3.large instance. Is there any configuration I should do that could help me with this problems?
(time (d/q {:query '{:find [(count ?a)]
:in [$]
:where [[?a :note-attribute/value "949"]]}
:args [(get-db)]}))
"Elapsed time: 1786.356667 msecs"
=> [[390007]]
[7:07 PM] (time (d/q {:query '{:find [(count ?a)]
:in [$]
:where [[?a :note-attribute/value "949"]
[?a :note-attribute/name "tenant-id"]
]}
:args [(get-db)]}))
Execution error (ExceptionInfo) at datomic.client.api.async/ares (async.clj:58).
processing clause: [?a :note-attribute/name "tenant-id"], message: java.util.concurrent.TimeoutException: Query canceled: timeout elapsed
Should Datomic throw if I try to transact a new entity that refers another entity that doesn't exist?
For example, I have in my schema :permission/user
which has :db/valueType :db.type/ref
. If I do
(d/transact [[:db/add "new-perm" :permission/user 123912911]])
Knowing that 123912911
doesn't exist, the transaction still works 😕If you have a lookup ref which, if it is resolveable, means the entity “exists”, use that in your transaction and you’ll get an error if it fails to resolve