Является ли MongoDB подходящим вариантом (с $graphlookup
) для хранения и вычисления больших графиков?Вот некоторая информация о данных:
- N: 100 миллионов + узлы
- Скорость роста: 150k + / день
- Каждый узел может быть подключен к десяткам тысячдругие узлы, возможно, больше.Многие из них будут подключены только к нескольким.
- Каждый день вновь добавленные узлы будут немедленно подключаться к указанному количеству узлов.
- Данный узел может подключаться к другому узлу во многихразличные пути.Например, если два узла имеют один и тот же телефон, они считаются подключенными, а также если у них одинаковый адрес электронной почты.
Нам необходимо иметь возможность создавать сети по запросу, учитываяначальный запрос (может быть документ _id
, может начинаться с набора значений).Сети также должны быть переключаемыми по типу ребра, который может быть комбинацией одного, или многих, или всех возможных типов ребер.Там будут десятки типов ребер.
У меня есть представление о том, как я могу сохранить это - сохраняя каждое ребро в отдельной коллекции.Но, учитывая, что для каждого узла я буду генерировать потенциально десятки тысяч ребер, это не кажется очень масштабируемым.
В идеале, я действительно хотел бы решить эту проблему в MongoDB вместо того, чтобы вводитьграф БД.Какие-либо предложения?Спасибо!