Как повысить производительность запросов к контейнеру больших временных рядов в облаке GridDB?Python

Программы на Python
Ответить
Anonymous
 Как повысить производительность запросов к контейнеру больших временных рядов в облаке GridDB?

Сообщение Anonymous »

Я использую GridDB Cloud (уровень бесплатного пользования) с Python для хранения данных IoT временных рядов.

В настоящее время мой контейнер содержит около 10 миллионов строк, и его число продолжает расти ежедневно.
Схема:

Код: Выделить всё

device_id STRING,
created_at TIMESTAMP,
temperature DOUBLE,
humidity DOUBLE
Мне часто приходится запускать подобные запросы, чтобы получить данные за один день для определенного устройства:

Код: Выделить всё

SELECT *
FROM sensor_data
WHERE device_id = 'A123'
AND created_at BETWEEN TIMESTAMP('2025-09-25T00:00:00Z')
AND TIMESTAMP('2025-09-26T00:00:00Z');
Однако сейчас этот запрос занимает около 3–5 секунд на одно устройство, и я обеспокоен тем, что по мере роста набора данных он будет замедляться.
Что я пробовал:
  • Разделение данных на несколько контейнеров (по одному в день) → все равно медленно при запросе за несколько дней
  • Использование временных рядов контейнер с ROWKEY на созданном_at
  • Извлечение всех строк в Python и локальная фильтрация → слишком неэффективно для миллионов строк


Подробнее здесь: https://stackoverflow.com/questions/798 ... iddb-cloud
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»