MongoDBNoSQL… Для решения одной задачи я решил попробовать нереляционную базу данных. В production система будет работать на Debian, но для разработки и тестирования мне она нужна на ноутбуке. Сказано – сделано.

Для установки подобного софта я использую HomeBrew.

Обновляюсь:

$ brew update

Есть ли готовая формула для MongoDB?

$ brew search mongo
mongo	 mongodb

$ brew info mongodb
mongodb 1.4.2-x86_64

http://www.mongodb.org/

Not installed

If this is your first install, automatically load on login with:
    cp /usr/local/Cellar/mongodb/1.4.2-x86_64/org.mongodb.mongod.plist ~/Library/LaunchAgents
    launchctl load -w ~/Library/LaunchAgents/org.mongodb.mongod.plist

If this is an upgrade and you already have the org.mongodb.mongod.plist loaded:
    launchctl unload -w ~/Library/LaunchAgents/org.mongodb.mongod.plist
    cp /usr/local/Cellar/mongodb/1.4.2-x86_64/org.mongodb.mongod.plist ~/Library/LaunchAgents
    launchctl load -w ~/Library/LaunchAgents/org.mongodb.mongod.plist

Or start it manually:
    mongod run --config /usr/local/Cellar/mongodb/1.4.2-x86_64/mongod.conf

http://github.com/ctrld/homebrew/commits//Library/Formula/mongodb.rb

mongo – алиас для mongodb. 1.4.2 является последней продуктивной версией, пакет Homebrew актуален.

Устанавливаю:

$ brew install mongodb

Обеспечиваю автозагрузку и стартую:

$ cp /usr/local/Cellar/mongodb/1.4.2-x86_64/org.mongodb.mongod.plist ~/Library/LaunchAgents
$ launchctl load -w ~/Library/LaunchAgents/org.mongodb.mongod.plist

Для проверки захожу в shell:

$ mongo
MongoDB shell version: 1.4.2
url: test
connecting to: test
type "help" for help
>

Всё в порядке. Посмотреть азы работы можно в Tutorial, а для более плотного знакомства – почитать книги.

Клиентская часть

Соединяться с MongoDB я буду из Python используя модуль PyMongo.

Для установки буду использовать pip, хоть вполне можно ставить напрямую из easy_install:

$ easy_install pip
$ pip install pymongo

Описание PyMongo можно посмотреть в Tutorial. Также рекомендую взглянуть на пример записи логов Apache в MongoDB.

А дальше – собственно программирование.