2012-03-01 7 views
3

私はアプリを持っており、それは変更するいくつかの単純なオブジェクトを格納する必要があり、それらを永続化できる必要があります。 mongoのようなデータベースにデータを保存し、起動時にそれを読み込むか、jsonファイルに保存するだけですか?サーバー、dbまたはjsonに単純なデータを格納していますか?

ありがとうございます。

答えて

7

どちらの方法でも動作します。あなたの状況に最も適している「それは依存している」。

の考慮事項:

  • フラットファイルが(簡単かどうか)照会可能ではありません。
  • フラットファイル(フォルダ、ファイル名など)を管理する必要があります
  • 衝突が発生する可能性はありますか?あなたは頻繁に書く&を読むつもりですか?
  • オブジェクトが一部しか残っていない場合は、mongoの過剰使用のようなデータベースですか?
  • redisのような優れたソリューションですか?

私は現在、いくつかのデータストアを含むプロジェクトに取り組んでいます。 MySQL、フラットファイル、mongoなどがあります。

フラットファイルは、あとでプルアップされるデータを格納するために本当にうまく機能します。頻繁に読み書きされないデータに適しています。

モンゴーには、複雑さを取り除くようなMongooseのようなモジュールがあります。しかし、MongooseとMongoの両方のドキュメントは、少し乾燥して混乱する可能性があります。

データの使用方法、進化の仕方、および照会が必要な場合を考えてみましょう。アプリの起動時にプルアップする必要がある場合は、フラットファイルが機能します。それがより大きなオブジェクトに成長するなら、フラットファイルは依然として解決策になります。しかし、将来的に追加のオブジェクトが発生する可能性がある場合、フラットファイルは管理しにくくなり、実際のシステムに追加するのは苦労します。

全体的に、(手動でファイルを開いて調べる以外の)任意の種類のクエリが必要な場合は、Mongooseまたは類似のデータベースに移動します。

+0

私はMongooseのようなORMが嫌いですが、私はmongoやredisのどちらかを実装すると思います。(赤字は少し複雑になり、速度は必要ありません)。ヒントをありがとう。 – fancy

0

これは、mongoがデータを変更したい場合は簡単になります。これは基本的にはjson lolのストレージエンジンです。あなたのユースケースによって異なります。これが成長すると思うなら、mongoを使うこともできます。ストレージのニーズが決して変化しない場合は、jsonファイルを使用してください。

関連する問題