1. ホーム
  2. database

データミックはいつ使えばいいのですか?

2023-10-31 04:38:01

質問

データベースサービス「Datomic」に興味があるのですが、私が携わっているプロジェクトのニーズに合っているかどうかわかりません。Datomic はいつが良い選択で、いつが避けるべき選択なのでしょうか?

どのように解決するのですか?

Datomicを本番で使っていないことを前提に、お答えします。

利点

  1. データログ・クエリーは強力で(非再帰的SQLよりも)、表現力が豊かです。
  2. クエリはClojureのデータ構造で書くことができ、データ構造でクエリを可能にする多くのSQLライブラリのような弱いDSLではありません。
  3. イミュータブルなので、Clojure/他の言語でもイミュータブルが与える利点を得られます。 a. これはまた、構造体を保存している間、データベース内のすべての過去の事実を保存することができます-これは、監査とamp; moreのために非常に便利です。

不利な点

  1. Datalog は同等の SQL よりも遅くなります (同等の SQL ステートメントが記述できると仮定して)。
  2. たくさん書いている場合、単一のトランザクタが圧倒されることを心配する必要があるかもしれません。これはほとんどの場合ありそうもないことですが、考えるべきことです (一種のシャードを行うことができ、おそらく自分自身を救うことができますが、これはたとえば株価ティック データを保存するための DB ではありません)。
  3. ライセンスと価格から、ホスティングされたインスタンスを使用するのは困難です:Heroku の Postgres や MongoHQ の Mongo のようなものを使用する代わりに、自分でこれを管理する必要があります。

デメリットに3つ挙げていますが、デメリットがあっても使えないわけではない状況の方が、メリットが上回ると思います。価格は、おそらくほとんどの小規模なプロジェクトで使用されることを妨げるものです (1 年間の無料トライアルが長持ちすることを期待する場合)。

参照:これ 短い投稿 をご覧ください。

表現力(例:Datalog)と不変性は素晴らしいものです。その点ではDatomicを使うのはとても楽しいですし、ちょっと使っただけで強力だとわかります。