мне нужно встроить систему аналитики (отчетности, построения диаграмм и графиков) в мое приложение Django. В идеальном мире я мог бы просто запросить свою БД Postgres и получить нужные мне данные, но когда объем данных в БД резко возрастет, я столкнусь с узкими местами в производительности и другими проблемами, такими как ад индексации.
Мне интересно, можете ли вы указать мне правильное направление для реализации этого:
Я стараюсь избежать двух вещей:
Это еще один сценарий, с которым я не работал и пытаюсь понять самый быстрый и лучший способ его реализовать.
Надеюсь, я достаточно многословен. Если нет, я с радостью объясню подробнее.
Всем спасибо.
Покопавшись в сети и применив имеющиеся у меня знания, я пришел к следующему решению:
Используйте Postgres для хранения реляционных данных. При каждой операции CRUD вызывайте аналитический код для выполнения вычислений с данными и сохранения данных в базе данных NoSQL, такой как Redis / CouchDB.
Глядя на это хорошее сравнение БД NoSQL (http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis), я думаю, что Redis или CouchDB вполне подходят. Ориентирован на аналитику.
Я мог хранить вычисленную аналитику в Redis / CouchDB и постепенно обновлять их при изменении моих исходных данных.
Это хорошее решение?