Нужен совет по индексации MongoDB для слабо связанных журналов событий - PullRequest
2 голосов
/ 21 сентября 2019

Мне не удалось "работать с Google на интернет-машине".Я пытаюсь определить лучший способ индексировать коллекцию событий.Ниже представлена ​​модель, которую я представлял, с целью анализа слабо связанных событий, происходящих в течение определенного промежутка времени.

Проект будет построен с использованием spring-data-mongodb.

abstract class Event {

  String id;
  Instant evtTimstamp;
  Object miscData;
  String primaryKeyType; /* Eg. "houseId", "carId", "humanId", "streetId", "storeId" */
  @Indexed int[] primaryKeys;
  KeyType secondaryKeyType; /* Secondary indexing to associate event with two indexed objects */
  @Indexed int[] secondaryKeys;
}

class HouseEvt extends Event {
  String streetAddress;
  String dwellingType;
}

class CarEvt extends Event {
  String make;
  String model;
  String directionOfTravel;
  byte speed;
}

class StreetEvt extends Event {
  byte speedLimit;
}

class HumanEvt extends Event {
  byte age;
  boolean hadCoffee:
  boolean married;
}

class StoreEvt extends Event {
} , etc.

Несколько сценариев теоретического анализа:

  • Сколько автомобилей отправляется в магазин N ((через улицу M) в течение промежутка времени?
  • Сколько домов имеют две машины, прибывающие более одного раза в день?
  • Какие люди ездят на автомобиле X или автомобиле Y?
  • Какие людиперейти в Store Z?

Я надеюсь, что буду иметь возможность добавлять новые подклассы событий по мере необходимости.Я мог бы дать каждому подклассу свои собственные атрибуты ключа, но я не уверен, что это произойдет из-за индексации, я предполагаю, что мне нужно будет добавить новый индекс для каждого ключа нового подкласса, еслиЯ это сделал.Я думал, что моя концепция keyType может помочь в будущем модели.

MTIA!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...