2011-06-27 8 views
2

私は純粋なnode.js Webアプリケーションを開発できるかどうかを知りたいと思います。私の理解から、node.jsはi/oに優れているので、node.jsのデータベースも良いはずです。 1つは存在しますか?特にRAMに保存され、ディスクに保存されることがあります。依存関係のない純粋なnode.jsのデータベースを推奨しますか?

+1

悪い考えがあります。あまりにも多くのホイールを発明し直す。既存のデータベースを使用します。簡単なストレージが必要な場合は、オブジェクトをJSONとしてファイルに書き込んでください。 – Raynos

答えて

9

まず、私はredisまたはmongodbをインストールする際に問題は見られません。何の努力もせずに行うことができます。

  • ministore:指定した間隔で保存するように、このようなデータベースの数があると述べた

  • alfred:ファイルへのインデックスがメモリ内に保持されるため、読み取りは高速です。
  • nStore:また、すべてのドキュメントのインデックスとディスク上の正確な位置は、ドキュメントの高速読み込みのためにメモリに格納されます。
  • jsonds:Jsondsは、設定された頻度でディスクに書き込まれる単なるJSONオブジェクトである 'データストア'です。
  • node-tiny
  • nedb
  • node-dirty
  • chaos
  • supermarket
  • :MongoDBの互換APIと組み込み純粋なJSデータベース。

また、これらの製品のほとんどは非常に若く、まだ製造に使用されていないはずです。


node-sqlite3を使用してデータをディスクに保存することもできます。

2

ramにのみ存在するNode内のデータベースを使用するには、データを格納するためにjavascriptのオブジェクトと配列を使用するだけです。 SQLを再クエリするクエリでより強力なものが必要な場合は、おそらく純粋なjavascriptオブジェクトがベスト・アイデアではありません。また、このアイディアを使用すると、設定した間隔でJSON.stringifyを使用してデータをディスクにフラッシュすることで永続化することができます。

+0

そして、これからどのようにClient-Server Databaseを作成できますか? – TiansHUo

+1

私は、Webアプリにその中にデータがあると思っていました。別のノードサーバーを使用してデータベースとして使用するノードWebアプリケーションを構築しようとすると、これは簡単に複雑になり、基本的にホイールの再組み込みになります。私は、Webアプリケーション内のデータを扱い、異なるサーバーを持たないことをお勧めします。たとえば、ロードバランシングのためにスタンドアロンのデータベースサーバーが必要な場合は、実際のデータベースを使用するのが理想的でしょう(Redisのようなものかもしれません)。最終的には、開発時間が短縮され、より安全で容易に拡張できます。 – StevenGilligan

関連する問題