Я собираю данные Интернета вещей в Azure cosmos DB. Я знаю, что COSOMOS DB SQL API автоматически индексируется по пути. У меня около 150 датчиков в каждом документе, и большинство запросов sql имеют
DeviceId уже является ключом раздела
Выберите c.sensorVariable From c, где c.DeviceId = 'dev1' И c.time = date1 '
{"DeviceId": 'dev1', "time": 123333, "sensor1": 20, "sensor2": 40}
Я буду получать данные различных датчиков, но все мои запросы зависят от deviceId и времени (которое находится в метке времени Unix)
Можно ли проиндексировать данные по идентификатору устройства и времени и исключить другие ключи, которые также находятся в том же пути /.
И для сбора по умолчанию
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Range",
"dataType": "String",
"precision": -1
},
{
"kind": "Spatial",
"dataType": "Point"
}
]
}
],
Он идет с этим, я чувствую, что для DataType String не следует ли иметь индексирование типа Hash, а не Range? И что это за Точность: -1
В примерах документов Azure cosmos DB я видел точность как 3 для строки, я не понял, почему?
Если у меня 100 устройств и данные размещаются на каждом втором уровне, какой тип индексации лучше?