Fork me on GitHub
#datomic
<
2018-10-04
>
stask08:10:53

hi, is there a limitation for number of databases in single datomic cloud system?

4
steveb8n08:10:12

I'd also like to know this limit.

stuarthalloway20:10:47

@U11FG9Z7Z and @U0510KXTU there is no fixed limit, but the thought (and testing) is around a fairly small number

stuarthalloway20:10:09

i.e. database per customer would be a problem for most customer bases

stuarthalloway20:10:54

Where would the limit (if there was one) impact a design decision?

steveb8n00:10:11

I considered 1 per customer but avoided it after thinking it through. For me this was just for interests sake so no effects on my design

stask10:10:53

I’m thinking about having a database per customer (each customer has multiple users, so i’m talking about up to a thousand databases per system). It will simplify things like moving customer data between systems (for example when moving a customer from US region to EU region) or removing customer’s data from the system.

steveb8n22:10:52

Agreed. 1 per customer makes org delete easier. I'm betting that there will be a better excision solution (in cloud) in future to address this. If delete could be done easily, would you still choose 1 db per customer? I'm curious

stask11:10:26

It would be still simpler to have db per customer for moving between systems.

khardenstine13:10:14

Is on-prem ok with java9+? I finally got around to updating my dev environment from jdk8 to 11 and im getting netty illegal reflection warnings with datomic free on startup

donaldball13:10:23

If you scroll up, you’ll see that a couple of us have discovered a substantive problem with standard datomic peers in jdk10 running at least against a dev mode transactor. I have yet to confirm the problem against a production transactor, or to reduce the problem to a simple test case, alas.

khardenstine14:10:42

Ooph thats disheartening. Thanks

donaldball14:10:00

It’s worth noting that we could be outliers and Cognitect is committed to on-prem moving forward, so you may want to have a conversation with their sales or support folk!

johnj23:10:08

Curious, how do you know Cognitect is commited to on-prem?

kenny16:10:01

Is there a way to pass datomic.ion.dev/push and datomic.ion.dev/deploy the ion-config map as a data structure and not have them implicitly read it in from a classpath location?

stuarthalloway20:10:32

@U083D6HK9 no -- the config map becomes part of the deployed artifact, so reproducibility would take a hit if was in a command

kenny20:10:40

We generate the ion-config.edn dynamically based on our system configuration so the Ion config is not checked into version control. Not sure how reproducibility takes a hit.

dfcarpenter18:10:31

I'm just starting out with datomic local dev and trying to connect with a client in the repl. When I try to setup the connection I get the error CompilerException clojure.lang.ExceptionInfo: Datomic Client Exception {:cognitect.anomalies/category :cognitect.anomalies/incorrect, :datomic.client/http-result and i'm not sure why. I have the transactor running, I created a database, and I have the peer server running as well

dfcarpenter20:10:54

Realized I made a mistake when starting the peer. All good now.

dfcarpenter20:10:47

Can anyone point me to open source clojure codebases which use dataomic. Im struggling to learn good schema design approaches

eoliphant21:10:49

Hi, I'm trying to optimize a query I have. It's relatively straightforward, I have a tree-structure and a recursive rule that says for a given node, I'll match on a parent of a given type. Works fine, returns in around 30ms for a single one. I'm using a collection binding for the node id, and the response time appears to be more or less linear, which is not a big deal for a few of them, but I just ran into a test case where it needs to match ~1000 and it's taking about a minute to complete. any ideas/suggestions on speeding this up?

pvillegas1201:10:40

You can change your data shape to a flat parent child mapping (repeats data obviously) for querying

4
eraserhd08:10:00

Not sure whether this applies to you, but I had tree structured data where I queried whether two nodes were in the same tree. Rephrasing it to whether two nodes have the same root made it much better.

eraserhd08:10:57

Also, I have some super complicated queries running all together in under 18ms. They jump to 30ms when Datomic can’t cache the compiled query. This happens when (not= (hash query) (hash (read-string (pr-str query)))).

4
eraserhd08:10:26

(Regular expressions are the usual culprit.)

eoliphant14:10:09

Figured it out. One of my dev's had gotten a bit too modular with his rules lol. I rewrote it more simply, and it's 20x faster and no longer displays that linearity

👍 4