Я использовал mongo-движок с Django, но вам нужно создать файл специально для документов Mongo, например. Mongo_models.py. В этом файле вы определяете ваши монго документы. Затем вы создаете формы, соответствующие каждому монго-документу. Каждая форма имеет метод сохранения, который вставляет или обновляет то, что хранится в Mongo. Формы Django предназначены для подключения к любому бэкэнду данных (с небольшим хитростью).
Если вы пойдете этим путем, вы можете увернуться от Django non-rel, который все еще не является частью Django 1.4. Кроме того, я считаю, что Джанго-нонрел сейчас в перерыве.
Я широко использовал CouchDB и Mongo. CouchDB имеет прекрасный интерфейс. Мой коллега работает над чем-то похожим на Монго. Карта Монго и уменьшение намного быстрее, чем CouchDB. Mongo быстрее реагирует на загрузку и получение данных. С библиотеками python для Mongo легче работать (отлично работают и pymongo, и mongo-engine)
Обязательно прочитайте рекомендации производства Mongo! Не запускайте один экземпляр на том же узле, что и Django, и не готовьтесь к жесточайшему сгоранию при пиковых нагрузках. Mondo прекрасно работает с Memcache / Redis, где можно хранить сокращенные данные для быстрого поиска.
ВНИМАНИЕ: Если у вас есть очень хорошо определенные и структурированные данные, которые можно описать в документах или моделях, не используйте Mongo. Он не предназначен для этого, и что-то вроде PostGreSQL будет работать намного лучше.
- Я использую PostGreSQL для реляционных или хорошо структурированных данных, потому что это хорошо для этого. Небольшой объем памяти и хороший отклик.
- Я использую Redis для кэширования или работы в очередях / списках памяти, потому что это очень хорошо для этого. отличная производительность, если у вас есть память, чтобы справиться с ней.
- Я использую Mongo для хранения больших документов JSON, а также для выполнения Map и сокращения их (при необходимости), потому что это очень хорошо для этого. Обязательно используйте индексацию для определенных столбцов, если вы можете ускорить поиск.
Не используйте круг, чтобы заполнить квадратное отверстие. Это не заполнит его.