2017-02-22 2 views
0

Я создаю приложение с Mongo, Express и Node.js. Приложение настраивает модели/описания боевых машин для настольных военных игр (борьба с миниатюрами).Какая стратегия хранения и поиска данных более эффективна в этом сценарии?

Каждое транспортное средство имеет несколько свойств, таких как тип кузова, источник питания и т. Д. Есть около полутора десятков таких свойств. Параметры, доступные для каждого объекта, в большинстве случаев составляют менее десятка. Хотя некоторые из параметров будут иметь несколько точек данных (стоимость, вес, размер, имя и т. Д.), Описания этих параметров не будут меняться часто, если вообще. Кроме того, хотя возможно добавление новых опций, это будет нечастым.

Иными словами, большая часть данных будет статичной.

Данные пользователя (какие транспортные средства пользователь разработал и т. Д.) И описания транспортных средств будут храниться в базе данных монго, поскольку они могут изменяться и часто расширяться.

Однако, было бы более целесообразно включить часть этой другой информации в качестве констант в программировании API? Список значений для позиций компонентов - это простой массив (верхний, нижний, передний, задний, левый правый), так что это легко сделать. Но как насчет типа тела, где есть 13 вариантов, каждый из которых имеет 6 свойств (имя, тип, стоимость, вес и т. Д.). Является ли более эффективным, чтобы просто поместить что-то подобное в файл JSON, полученный при необходимости? Или разместить его в базе данных?

Опять же, данные (в значительной степени) статичны, поэтому техническое обслуживание не является серьезной проблемой. Использование памяти и, возможно, пропускная способность сети.

В случае файла JSON API (или пользовательский интерфейс в зависимости от сценария) необходимо будет использовать функции фильтрации, которые я пишу, чтобы выбрать соответствующие записи, хотя итерация по массиву из 13 элементов не кажется это интенсивное. Между тем, если я сохраню его в Монго, я буду только смотреть на данные, которые уже были отфильтрованы. Будет ли вызов Mongo быстрее и/или менее ресурсоемким, чем открытие простого текстового файла?

Есть ли грубый порог для этого? Есть более 2 дюжин оружия, некоторые из которых имеют вариации.

Итак, мне лучше просто сделать файл JSON или поместить его в коллекцию Mongo? или это не имеет значения, и, возможно, я фокусирую это как способ отложить получение кода?

ответ

0

Постарайтесь взглянуть на него с maintainability и extensibility.

  • Вам нужно будет повторно развернуть, чтобы вносить изменения?
  • Сколько сетевых вызовов вы сделаете в любом случае?
  • Будет ли «hardcoding» некоторые значения заставлять ваш поток запутываться?
  • Как обмениваться данными между хостами, это проблема?

Мне кажется, вы должны хранить свои данные в каком-то хранилище данных (mongo).

Смежные вопросы