MongoDB… NoSQL… Для решения одной задачи я решил попробовать нереляционную базу данных. В 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.
А дальше – собственно программирование.


Pingback: Ольга