Уже на протяжении долгого времени использую в своих проектах базы данных, а в частности MongoDB. У меня есть свой способ по взаимодействию с этой базой данных который будет работать всегда без сбоев, даже если документов будет миллионы а запросов в секунду более тысячи (Но, для этого потребуется очень большая локальная память на котором запущен проект). Этот способ для меня хоть сколько бы я его не использовал считается очень глупым, ведь я просто взаимодействию с обычными словарями на питоне и отправляю со временем запросы в монгу об обновлениях.
Так вот, подскажите пожалуйста как в питоне правильно реализовать взаимодействие с монгой на прямую не боясь того, что со времене запросов в секунду может стать очень много и всё полетит. А может для таких задач подойдёт какая-то другая БД, но тогда какая? И да, хотелось бы чтобы это было бесплатно ну или в крайнем случае не совсем дорого. (Просто я знаю тарифы на БД)
Иерокопус Таманский, потому что в моём случае, все коллекции при запуске кода выгружаются в соответствующие словари и все данные которые были загружены крутятся внутри всей программы. Так же данные в словарях изменяются по ходу дела и через какое-то время все словари снова выгружается в коллекции. Такой подход требует слишком уж много свободной памяти при наличии огромного кол-ва документов в коллекциях....
все коллекции при запуске кода выгружаются в соответствующие словари и все данные которые были загружены крутятся внутри всей программы. Так же данные в словарях изменяются по ходу дела и через какое-то время все словари снова выгружается в коллекции.
Из этого комментария неясно с какой целью данные выгружаются в словари.
Надо создать другой вопрос с нормальным описанием проблемы и объяснением почему был такой выбор.
Иерокопус Таманский, чтобы избежать нагрузки в случае большого количества запросов в секунду. В этом и весь вопрос, как можно решить это по нормальному?
Что то вы не в ту степь пошли. Запрос отдает то что у него попросили ВНЕЗАПНО!
В любом учебнике написано не делайте
select * from largetable;
Так что ваша задача выбирать только нужные данные, нужные только сейчас ну и понимать зачем это вам.
Тогда придет маленький набор данных.
Дальше индексы, они традиционно позволяют убыстрить запросы но замедляют вставку.
Джойны или их аналог, тормозят базу. Денормализуйте ее к черту.