Работа с большими объемами данных временных рядов в Django при сохранении Djangos ORM

Мы используем Django с его ORM в связи с базой данных PostgreSQL и хотим расширить модель данных и технологический стек для хранения огромного количества данных временных рядов (~5 million entries per day и далее).

Ближайшие вопросы, которые я нашел, были this и this, которые предлагают объединить Django с базами данных, такими как TimescaleDB или InfluxDB. Но он создает параллельные структуры со встроенным ORM Django и поэтому не кажется простым.

Как мы можем обрабатывать большие объемы данных временных рядов, сохраняя или оставаясь очень близкими к ORM Django?

Любые советы по проверенным технологическим стекам и моделям реализации приветствуются!

Ваш лучший вариант - хранить реляционные данные в Postgres, а данные временных рядов в отдельной базе данных, и объединять их при необходимости в коде.

В InfluxDB вы можете сделать это соединение с помощью скрипта Flux, передав ему SQL, который выполнит ORM Django, вместе с информацией о подключении к базе данных. Однако это вернет вам данные в формате InfluxDB, а не модели Django.

почему бы не использовать параллельно с существующим postgres timescaledb для данных временных рядов, а для последнего использовать эту интеграцию django: https://pypi.org/project/django-timescaledb/.

Использование нескольких баз данных в django возможно, также я не делал этого сам до сих пор. Посмотрите здесь, как это сделать удобным способом (перенаправить определенные модели в другую базу данных вместо стандартной postgres) Использование нескольких баз данных в django

Вернуться на верх