#django #shared-memory #in-memory-database
#django #разделяемая память #база данных в памяти
Вопрос:
Я запускаю веб-приложение с низкой задержкой, используя Django. Однако мой сервер MySQL в настоящее время является узким местом. Я хочу заменить ее полностью встроенной базой данных. Однако решения, которые я рассмотрел до сих пор, создают базу данных в памяти, локальную для определенного процесса. Я запускаю несколько процессов Django и нуждаюсь в том, чтобы база данных была разделена между ними. Существуют ли какие-либо такие базы данных, которые могут быть интегрированы с Django?
Комментарии:
1. Если это несколько процессов, то совместное использование памяти … затруднено. Как насчет Redis или memcached или что-то в этом роде …?!
2. Попробуйте улучшить часть mysql. У вас есть (обычно) огромный потенциал для улучшений. Проверьте, почему у вас медленные запросы. У вас проблемы с чтением или записью? Не могли бы вы добавить кэшированные результаты? и т.д. Попробуйте «простую» часть, прежде чем делать сложную часть
3. @deceze Redis выглядит как хороший вариант. Я изучу это.
4. @GiacomoCatenazzi Веб-приложение получает 1000 запросов в секунду, и для каждого запроса требуется чтение и запись. Кроме того, кэшированные результаты для этих запросов бесполезны. Вот почему я рассматриваю базу данных в памяти.
5. @deceze Нет ничего сложного в базе данных в памяти в общей памяти. eXtremeDB и, вероятно, другие системы баз данных в памяти предлагают это уже более десяти лет.