6

私はClojure(マルチスレッドのインタラクティブな視覚化システムを作成)でデスクトップアプリを開発することに精通しています。しかし、私はClojureを使用したWeb開発にかなり慣れていません。

サーバーでClojureを使用してロジックを処理する予定です。クライアント側の作業を処理するためのClojureScript。しかし、データベースサーバーに何を使用すればよいかわかりません。Monogodbのようなものを使用する必要がありますか?またはHadoop?または .... ?

アプリは非常にシンプルなものです。基本的なフォーラム。同時ユーザーの総数は、一度に100未満になります。私にとって重要なことの1つは、簡単にバックアップ/データの整合性を保つ機能です。毎日のバックアップを簡単に作成できること(すべてのデータを失わないこと)が非常に重要です。

ありがとう!

4

3 に答える 3

5

多くのデータベースを使用できます。データベースにJava用のAPIがある場合は、これで問題ありません。MySQLMongoDBPostgresHadoop …など。

ClojureのWebスタックの概要については、この問題に関するbrehautの記事を確認してください。

ClojureとClojureScriptをすばやく起動して実行するには、ClojureScriptOneを試してください

書きたいものを書く方法はたくさんあります。すでにClojureに精通している場合は、始めるのはそれほど難しいことではありません。

于 2012-04-14T05:17:35.610 に答える
5

自分で使用したことはありませんが、Datomic(http://datomic.com/)はClojureから来た人には最適です。

于 2012-05-22T03:48:49.367 に答える
1

Datomicは素晴らしいデータベースであり、私はそれを強くお勧めします。他のデータベースシステムとは一線を画す多くの機能があります。

  • Clojureのデータ構造と同様に、永続的です。つまり、デフォルトでは、データベースに新しいファクトを追加しても古いファクトは削除されないため、以前の時点でのデータベースの状態を照会できるため、監査機能とデバッグの支援が強化されます。 。
  • 基盤となるエンティティ属性値(EAV /トリプル)データモデル(少なくとも部分的にRDFとセマンティックWebに触発された)は非常に柔軟性があり、任意のグラフ構造を表現し、ポリモーフィズムを簡単に処理できます。
  • クエリ言語はDatalogの一種であり、SQLなどよりも厳密に表現力のあるパターンマッチングベースのクエリ言語であり、再帰クエリを実行できるため、グラフデータ/クエリの処理に特に適しています。
  • Datalogクエリに加えてpull、データベースから引き出したいドキュメントのような構造の形状を指定するGraphQLのような式を使用して、データベースからデータをより簡単に引き出すことができるapiがあります。:findこれらのクエリは、Datalogクエリの句内からでも使用できます。
  • クエリ内からClojure関数を使用できます。
  • インデックス作成システムは非常にスマートで、多かれ少なかれ自動化されており、パフォーマンスのためにSQLデータベースを調整する作業とはまったく対照的です。
  • トランザクションはクエリとは異なるAPI/関数呼び出しを通過します。つまり、OWASP(SQLインジェクション)によって識別される最大のセキュリティリスクは、Datomicでは文字通り不可能です。
  • トランザクター/リードレプリカの設計により、トランザクターに圧力をかけずに、読み取り/クエリのスケーリングが非常に簡単になります。
  • 地獄のように楽しいです。

ここで指摘する価値のあることの1つは、EAVデータモデルとデータログ/プルクエリを採用することで、Datomicは、基本的にリレーショナルでありながら、リレーショナルクエリでさらに表現力豊かでありながら、NoSQLデータベースに近い構造上の柔軟性を持つことになります。 SQLより。

それは素晴らしいです、そしてあなたは絶対にそれを試してみるべきです。それはあなたの脳を少し溶かします。良い意味で。

また、その人気が多くの成功したオープンソースプロジェクトに影響を与えていることも注目に値します。そのため、基礎となるアプローチはすぐにはどこにも行きません。

  • DataScript:メモリ内clj/cljs部分実装
  • Datahike:ディスクインデックスをクエリするDataScriptのフォーク。つまり、クエリを実行するためにすべてをメモリに保持する必要はありません。
  • Mentat:MozillaプロジェクトでDatomicに似たものを作ろうとしているMozillaプロジェクト
于 2019-01-28T20:39:26.207 に答える