Как оптимизировать MongoDB для поиска запросов на миллиард документов? - PullRequest
0 голосов
/ 22 февраля 2019

Вот моя коллекция, в которой содержится более 1 миллиарда документов, и каждый документ имеет размер 2 КБ

sample document
{
    "sensor" : "temperature",
    "timestamp" : ISODate("2018-02-22T01:55:00Z"),
    ... some more key values
}

У меня есть индекс по ключевым датчикам и отметке времени индивидуально Поиск запроса

db.collection.find({"sensor":"temperature", "timestamp":{"$gte":ISODate("2018-02-22T00:00:00Z"), 
                                          "$lt":ISODate("2018-02-23T00:00:00Z")}})

Но для ответа требуется более 20-30 минут, что неприемлемо для моего заявления.Итак, как лучше оптимизировать этот запрос, чтобы он выполнялся менее чем за 30 секунд (потому что mongoose будет возвращать ошибку тайм-аута, если запрос занимает более 30 секунд).Есть ли решение для оптимизации запроса, кроме шардинга?

...