2017-02-22 9 views
0

Mongo、Express、Node.jsでアプリを作成しています。アプリは、卓上戦争ゲーム(ミニチュア戦闘)の戦闘車両のモデル/説明をカスタマイズします。このシナリオでは、どのデータ保管および検索戦略がより効果的ですか?

各車両には、車種、動力源などのいくつかの特性があります。そのような特性は約半数です。ほとんどの場合、各プロパティで使用できるオプションは1ダース以下です。いくつかのオプションにはいくつかのデータポイント(コスト、重量、サイズ、名前など)がありますが、これらのオプションの説明は変更されません。さらに、新しいオプションが追加される可能性はありますが、これはあまりありません。

つまり、ほとんどのデータは静的になります。

ユーザーデータ(ユーザーが設計した車両など)および車両の説明は、変更可能で頻繁に展開されるため、mongoデータベースに格納されます。

しかし、この他の情報の一部をAPIプログラミングの定数として入れるのは意味がありますか?コンポーネントの位置の値のリストは簡単な配列(上、下、前、後ろ、左下)で簡単に作成できます。しかし、13種類のオプションがあり、それぞれが6つのプロパティ(名前、タイプ、コスト、重量など)を持つBody Typeはどうでしょうか。必要に応じて取得したJSONファイルに、このようなものを置くのがより効果的ですか?それとも、データベースに入れるのですか?

また、データは静的であるため、メンテナンスは大きな問題ではありません。メモリ使用量、場合によってはネットワーク帯域幅があります。

JSONファイルの場合、API(またはシナリオに応じてUI)は、13エントリの配列を反復処理するようには見えませんが、適用可能なレコードを選択するために書き込む関数を使用する必要がありますその集中的。一方、私がMongoに保管すると、私はすでにフィルタリングされたデータだけを見ています。プレーンテキストファイルを開くよりも、Mongoの方が速く、リソースの消費量が少なくなるでしょうか?

このための基準はありますか? 2ダース以上の武器があり、その中にはバリエーションがあります。

JSONファイルを作成したり、Mongoコレクションに入れたほうがいいですか?それとも問題ではないのでしょうか?おそらく、私はコードを書くのを遅らせる方法としてこれを重視していますか?

答えて

0

maintainabilityextensibilityの視点から試してみてください。

  • 変更するには再デプロイする必要がありますか?
  • とにかくいくつのネットワーク通話を行いますか?
  • いくつかの値を「ハードコード」すると、フローが絡まってしまうのですか?
  • ホスト間でデータを共有するのはどうですか?

データストア(mongo)にデータを保存する必要があります。

関連する問題