データミックはいつ使えばいいのですか?
2023-10-31 04:38:01
質問
データベースサービス「Datomic」に興味があるのですが、私が携わっているプロジェクトのニーズに合っているかどうかわかりません。Datomic はいつが良い選択で、いつが避けるべき選択なのでしょうか?
どのように解決するのですか?
Datomicを本番で使っていないことを前提に、お答えします。
利点
- データログ・クエリーは強力で(非再帰的SQLよりも)、表現力が豊かです。
- クエリはClojureのデータ構造で書くことができ、データ構造でクエリを可能にする多くのSQLライブラリのような弱いDSLではありません。
- イミュータブルなので、Clojure/他の言語でもイミュータブルが与える利点を得られます。 a. これはまた、構造体を保存している間、データベース内のすべての過去の事実を保存することができます-これは、監査とamp; moreのために非常に便利です。
不利な点
- Datalog は同等の SQL よりも遅くなります (同等の SQL ステートメントが記述できると仮定して)。
- たくさん書いている場合、単一のトランザクタが圧倒されることを心配する必要があるかもしれません。これはほとんどの場合ありそうもないことですが、考えるべきことです (一種のシャードを行うことができ、おそらく自分自身を救うことができますが、これはたとえば株価ティック データを保存するための DB ではありません)。
- ライセンスと価格から、ホスティングされたインスタンスを使用するのは困難です:Heroku の Postgres や MongoHQ の Mongo のようなものを使用する代わりに、自分でこれを管理する必要があります。
デメリットに3つ挙げていますが、デメリットがあっても使えないわけではない状況の方が、メリットが上回ると思います。価格は、おそらくほとんどの小規模なプロジェクトで使用されることを妨げるものです (1 年間の無料トライアルが長持ちすることを期待する場合)。
参照:これ 短い投稿 をご覧ください。
表現力(例:Datalog)と不変性は素晴らしいものです。その点ではDatomicを使うのはとても楽しいですし、ちょっと使っただけで強力だとわかります。
関連
-
[解決済み] MySQLデータベースの名前を素早く変更する(スキーマ名を変更する)方法は?
-
[解決済み] AndroidでSQLiteを使用する際に、並行処理の問題を回避するにはどうすればよいですか?
-
[解決済み] PHPでデータベースのパスワードを保護するには?
-
[解決済み] データベースのカラムに区切りリストを格納することは、本当に悪いことなのか?
-
[解決済み] 1対1の関係はどのようなときに使うべきですか?
-
[解決済み] Neo4jでデータベースを削除/作成する方法は?
-
[解決済み] テーブルのネーミング。アンダースコアとキャメルケース、名前空間?単数形と複数形?
-
データベースは内部でどのように動いているのですか?[クローズド]
-
PGError: ERROR: リレーションに対するパーミッションが拒否されました (Heroku 使用時)
-
PostgreSQLのパスワードのデータ型は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] マスター・マスターとマスター・スレーブ、どちらのデータベース・アーキテクチャが良いのか?
-
[解決済み] データベースに郵便番号を格納する必要があります。カラムの大きさはどのくらいにすればよいでしょうか?
-
[解決済み] データベースとファイルシステムストレージ
-
[解決済み] データベースに登録する電子メールアドレスの最適な長さは?
-
[解決済み] データベースからdjangoのモデルを生成することは可能か?
-
[解決済み] SQL Developerで新しい接続を追加する際にOracle TNSの名前が表示されない
-
[解決済み] 営業時間のデータベースへの格納
-
[解決済み] キーの取り外し方法を教えてください。
-
[解決済み] マイクロサービスパターンでデータ非正規化はどのように機能するか?
-
pg_restore error: role XXX does not exist