問題タブ [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.
datomic - Datomic に関する質問
簡単な質問。
1) トランザクションを実行すると、そのトランザクションの結果が返されたときに、すべてのピアが更新されますか? それとも、他のピアは最終的にトランザクションの変更を反映しますか?
2) ピアはどのように状態を更新しますか? 私が理解していることから、ピアはストレージに直接アクセスでき、独自のキャッシュです。だから、彼らはあなたが求めているものを持っていないとき、私は彼らがそれを倉庫から取り出すだけだと思います. ピアは、自分の情報が古くなっていることをどのように知ることができますか?
3) ストレージ/バックエンドの選択はどの程度重要ですか? MySQL などの db はサーバー/クライアント関係に最適化されているため、Datomic に最適化されたストレージ ソリューションを作成することはできないでしょうか? それとも、それだけの価値はありませんか?
clojure - このスキーマの Datomic land でより慣用的なオプションは何ですか?
Datomic のより慣用的なスキーマについて質問があります。
User
と のエンティティがあるPost
としましょうTopic
。
Post
Topic
、User
およびその他Post
(返信)に属することができます。さて、私は、
a) s の:posts
単なるリストである属性を作成し、多数のsPost
への参照を必要とするすべてのエンティティにそれを挿入しますか?Post
また
b) aが User への参照である属性を持ち、おそらくaまたは another のいずれかを参照できる属性をPost
持つように、より明示的な関係を確立しますか?:post/author
:post/belongs-to
Topic
Post
観察: bを実行すると、より意味的な関係が得られるようです。私は例えば を行うことができます(:post/_author user-entity)
, これは彼らの関係の性質をより説明しています(なぜなら, aが を持っている(:posts user-entity)
とはどういう意味ですか? それらはs のお気に入りの ですか, 作成された ですか?)User
:posts
User
Post
Post
bのもう 1 つの副作用はPost
、他のエンティティを変更せずに新しいものを作成できることです。を実行する場合、 を作成し、それを の属性にPost
挿入する必要があり、1 回ではなく 2 回の操作が必要になります。:posts
User
しかし、私はそれを行うより慣用的な方法かもしれないと感じています。たとえば、属性を介して参照するのではなく、参照:posts
する場合、属性のリストが時間の経過とともにどのように変化したかを確認する方が簡単だと思われます。User
:posts
Post
User
:post/author
何が望ましいでしょうか、またその理由は何ですか?
clojure - Clojure: Caribou フレームワークで Datomic を実行する
開発サーバーと本番サーバーの両方で、Caribou フレームワークで Datomic を実行するには何をする必要がありますか?
言い換えれば、カリブーをハッキングしてそれを実現するにはどうすればよいでしょうか?
それが理にかなっていることを願っています!ありがとうございます!
scala - Datomisca でのクエリ ルールの結合
Scala ラッパーDatomiscaを使用して 2 つのルールを呼び出すDatomicクエリを作成しようとしています。
2 つの個別のクエリを組み合わせるにはどうすればよいですか?
私のコードは次のようになります。
これにより、「キーを解決できません」というエラーが表示されますrule1
)。1つだけで試してみました%
が、コンパイルされません(型の不一致)。
への呼び出しでそれらを 1 つの文字列に結合したくありません。これはQuery.rules
、ルールのさまざまな組み合わせを使用するためにそれらを繰り返す必要があることを意味します (たとえば、1 つのクエリで両方を使用し、別のクエリで rule1 のみを使用)。
はマクロであるためQuery.rules
、リテラル文字列値を使用する必要があります。そうしないと、コンパイルされません。
datomic - コロン接頭辞付きのデータ属性
データ属性に関する 2 つのクエリがあります。1. 属性名 (文字列) がわかっている場合、その属性がスキーマに既に定義されているかどうかを確認するにはどうすればよいですか? 2. datomic での実験に基づいて、datomic はコロン プレフィックスを含む属性とコロン プレフィックスを含まない属性を同じように扱うことがわかります。つまり、"foo" と ":foo" という名前の属性を作成すると、それらはまったく同じものになります。これは本当ですか?これは制限ですか?
私はgroovyでdatomicを使用しています。以下は、属性を作成するために使用されるコードです。名前とともに、他のパラメーターが入力されます。
そして、属性の存在を確認するために使用するクエリは
属性名に「foo」、属性名に「attributeFor」メソッド「:foo」を指定して「createAttribute」を呼び出すと、結果が得られます。つまり、"foo" と ":foo" は同じように扱われます。コロンのプレフィックスを含む名前の属性を作成してクエリするにはどうすればよいですか?
database - いつ Datomic を使用する必要がありますか?
私はデータベース サービス Datomic に興味を持っていますが、それが私が取り組んでいるプロジェクトのニーズに合っているかどうかはわかりません。Datomic が適切な選択となるのはいつで、どのような場合に避けるべきですか?