У меня есть коллекция с 100 миллионами геодезических документов.MongoDB и использование DBRef с пространственными данными
У меня есть вторая коллекция со временными данными, связанными с каждой из других геометрий. Это будет 365 * 96 * 100 миллионов или 3,5 триллиона документов.
Вместо того, чтобы хранить 100 миллионов записей (365 * 96) раз больше, чем необходимо, я хочу сохранить их в отдельных коллекциях и сделать тип JOIN/DBRef/что бы я ни смог в MongoDB.
Прежде всего, я хочу получить список GUID из коллекции геометрии с помощью геоинтеграции. Это позволит отфильтровать его до 100 миллионов до 5000. Затем, используя эти настройки геометрии 5000, я хочу отфильтровать 3.5 триллиона документов на основе 5000 геметрис и дополнительных критериев даты, которые я указываю и агрегировал данные и находил среднее значение. У вас осталось 5000 геометрий и 5000 средних значений для указанных вами критериев даты.
Это в основном JOIN, поскольку я знаю это в SQL, возможно ли это в MongoDB, и это можно сделать оптимально, скажем, менее 10 секунд.
Уточнить: как я понимаю, для этого используется DBrefs, но я читал, что он неэффективен, и имея дело с этим большим количеством данных, это было бы не очень удобно.
DBRefs в основном устарели - это плохая идея делать объединения в вашем приложении, что вы здесь делаете. Насколько велики эти геометрии? –
Геометрия составляет около 100 байт в секунду, поэтому для них невозможно выполнить репликацию ненормализованным образом. Вместе только геометрия собирает 10 ГБ, поэтому без объединения потребуется 350400 ГБ дополнительного места. – ParoX