MongoDB
目次
概要
MongoDB 2.0.x に関してメモしています。
公式サイト
関連サイト
インストール
設定
チュートリアル
管理ツール
ポート
MongoDBのサーバがport指定しない場合にバインドするポートは以下
- Standalone mongod : 27017
- mongos : 27017
- shard server (mongod --shardsvr) : 27018
- config server (mongod --configsvr) : 27019
- web stats page for mongod : add 1000 to port number (28017, by default)
ユーザの作成
Security and Authentication -MongoDB
# 管理テーブルに接続
use admin
# ユーザ確認
db.system.users.find()
# ユーザ作成
db.addUser('root', 'password')
# パスワードを更新する場合も新規作成と同じ
db.addUser('root', 'password')
# 作成ユーザの削除
db.removeUser( username )
各サーバにパスワードを求めるようにします。起動オプションの場合は keyFile オプションを付与します。
--keyFile /path/to/keyFile
keyFile は以下のように作成します。パーミッションは 600 とかにしておかないとだめ。
echo -e "key Strings" > /path/to/keyFile
文字列は 6文字以上でスペースを含めて 1KB 以下にします。通常 Base64 した文字を入れます。利用される場合は空白は無視されます。
起動オプションに
-v
を付与すると利用のログがでます。
Replica Set や Shardig をしている場合は、全サーバに同じキーファイルを設定しないとログインできません。
また addUser してない データベースには直接ログインできなくなります。ログインした後に use は可能。
# 接続
mongo admin -u root -p password
ジャーナリング
2.0.x ではデフォルトでジャナリングが ON になっている。その分ディスク容量を消費するので注意。
起動
- thattommyhall.com » Running --repair on MongoDB via Upstart
- MongoDB Upstart file (/etc/init/mongodb.conf) --- Gist
- Mongodb ShardのためにUpstart起動スクリプト | Sawanoblog 3G
バックアップ
大量データ
ライブラリ
ドライバ
- PyMongo 2.1.1 Documentation --- PyMongo v2.1.1 documentation
- fiorix/mongo-async-python-driver · GitHub
ラッパ
- MongoEngine- namlook/mongokit · GitHub
- Welcome to Ming's documentation! --- Ming 0.2 documentation
- Welcome to MongoAlchemy's documentation! --- MongoAlchemy v0.8 documentation
- Mongothon
その他
- algernon/mojology · GitHub:mongodb にためた syslog を見る
- kchodorow/sleepy.mongoose · GitHub
Replica Set
Sharding
- Sharding を使いこなすための5つのTips - @doryokujin ブログ:勉強会はうちに帰っても勉強会
- MongoDBのShardingを試してみた。その1 - matsuou1の日記
- MongoDBのShardingを試してみた。その3 障害発生時の挙動について - matsuou1の日記
- リンギオ - MongoDB で Sharding する
- 素で運用中のMongodbをShardにするステップ | SawanoBlog 2G
- MongoDBのSharding機能で遊ぶ - hachiのブログ
設定方法
- Linux(CentOS)にMongoDB2.0.0を構築 ReplicaSets+Sharding - 飛ばない豚は、ただの豚だ。
- ドキュメント指向データベース「MongoDB」|サイバーエージェント 公式エンジニアブログ
ログのローテート
http://www.evanhoffman.com/evan/2011/07/21/mongodb-logrotate-script/
SIGUSR1
利用方法
- MongoDBを試してみた | Ryuzee.com
- Eliot's Ramblings / Streaming Twitter into MongoDB
- MongoDBのMapReduce機能を使ってみた - nokunoの日記
- fluent + mongodb + node.js でwebアクセスの準リアルタイム解析 | Day After Neet
- 事例:とある写真共有アプリでのMongoDB
利用例
ログ解析
Twitter 解析
- Twitter Streaming APIをMongoDBに保存して遊んでみる | FIRN.JP
- Twitter StreamingのデータをMongoDBに突っ込む - nokunoの日記
- penguinco/yats-socialgraph-dump - GitHub
- さくらのVPS+MongoDBでTwitterクライアントランキングを作ってみた | cloudrop
Python
- FlaskでmongoDBを使うチュートリアルをやってみた & チュートリアル和訳 (かなり雑ですが) - source
- Interactive Data Visualization with D3.js, DC.js, Python, and MongoDB // Adil Moujahid // Data Analytics and more
