問題タブ [datomic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
252 参照

datomic - Datomic に関する質問

簡単な質問。

1) トランザクションを実行すると、そのトランザクションの結果が返されたときに、すべてのピアが更新されますか? それとも、他のピアは最終的にトランザクションの変更を反映しますか?

2) ピアはどのように状態を更新しますか? 私が理解していることから、ピアはストレージに直接アクセスでき、独自のキャッシュです。だから、彼らはあなたが求めているものを持っていないとき、私は彼らがそれを倉庫から取り出すだけだと思います. ピアは、自分の情報が古くなっていることをどのように知ることができますか?

3) ストレージ/バックエンドの選択はどの程度重要ですか? MySQL などの db はサーバー/クライアント関係に最適化されているため、Datomic に最適化されたストレージ ソリューションを作成することはできないでしょうか? それとも、それだけの価値はありませんか?

0 投票する
2 に答える
751 参照

clojure - このスキーマの Datomic land でより慣用的なオプションは何ですか?

Datomic のより慣用的なスキーマについて質問があります。

Userと のエンティティがあるPostとしましょうTopic

PostTopicUserおよびその他Post(返信)に属することができます。さて、私は、

a) s の:posts単なるリストである属性を作成し、多数のsPostへの参照を必要とするすべてのエンティティにそれを挿入しますか?Post

また

b) aが User への参照である属性を持ち、おそらくaまたは another のいずれかを参照できる属性をPost持つように、より明示的な関係を確立しますか?:post/author:post/belongs-toTopicPost

観察: bを実行すると、より意味的な関係が得られるようです。私は例えば を行うことができます(:post/_author user-entity), これは彼らの関係の性質をより説明しています(なぜなら, aが を持っている(:posts user-entity)とはどういう意味ですか? それらはs のお気に入りの ですか, 作成された ですか?)User:postsUserPostPost

bのもう 1 つの副作用はPost、他のエンティティを変更せずに新しいものを作成できることです。を実行する場合、 を作成し、それを の属性にPost挿入する必要があり、1 回ではなく 2 回の操作が必要になります。:postsUser

しかし、私はそれを行うより慣用的な方法かもしれないと感じています。たとえば、属性を介して参照するのではなく、参照:postsする場合、属性のリストが時間の経過とともにどのように変化したかを確認する方が簡単だと思われます。User:postsPostUser:post/author

何が望ましいでしょうか、またその理由は何ですか?

0 投票する
2 に答える
441 参照

clojure - Clojure: Caribou フレームワークで Datomic を実行する

開発サーバーと本番サーバーの両方で、Caribou フレームワークで Datomic を実行するには何をする必要がありますか?

言い換えれば、カリブーをハッキングしてそれを実現するにはどうすればよいでしょうか?

それが理にかなっていることを願っています!ありがとうございます!

0 投票する
1 に答える
121 参照

scala - Datomisca でのクエリ ルールの結合

Scala ラッパーDatomiscaを使用して 2 つのルールを呼び出すDatomicクエリを作成しようとしています。

2 つの個別のクエリを組み合わせるにはどうすればよいですか?

私のコードは次のようになります。

これにより、「キーを解決できません」というエラーが表示されますrule1)。1つだけで試してみました%が、コンパイルされません(型の不一致)。

への呼び出しでそれらを 1 つの文字列に結合したくありません。これはQuery.rules、ルールのさまざまな組み合わせを使用するためにそれらを繰り返す必要があることを意味します (たとえば、1 つのクエリで両方を使用し、別のクエリで rule1 のみを使用)。

はマクロであるためQuery.rules、リテラル文字列値を使用する必要があります。そうしないと、コンパイルされません。

0 投票する
1 に答える
125 参照

datomic - コロン接頭辞付きのデータ属性

データ属性に関する 2 つのクエリがあります。1. 属性名 (文字列) がわかっている場合、その属性がスキーマに既に定義されているかどうかを確認するにはどうすればよいですか? 2. datomic での実験に基づいて、datomic はコロン プレフィックスを含む属性とコロン プレフィックスを含まない属性を同じように扱うことがわかります。つまり、"foo" と ":foo" という名前の属性を作成すると、それらはまったく同じものになります。これは本当ですか?これは制限ですか?

私はgroovyでdatomicを使用しています。以下は、属性を作成するために使用されるコードです。名前とともに、他のパラメーターが入力されます。

そして、属性の存在を確認するために使用するクエリは

属性名に「foo」、属性名に「attributeFor」メソッド「:foo」を指定して「createAttribute」を呼び出すと、結果が得られます。つまり、"foo" と ":foo" は同じように扱われます。コロンのプレフィックスを含む名前の属性を作成してクエリするにはどうすればよいですか?

0 投票する
4 に答える
21354 参照

database - いつ Datomic を使用する必要がありますか?

私はデータベース サービス Datomic に興味を持っていますが、それが私が取り組んでいるプロジェクトのニーズに合っているかどうかはわかりません。Datomic が適切な選択となるのはいつで、どのような場合に避けるべきですか?