2010年04月11日13:34 NoSQL MongoDBのレプリケーションが簡単すぎる… ちょっと MongoDB のレプリケーションを試してみたのでメモ。びっくりするくらい簡単です。レプリケーションを試すため、mongod を master 用、slave 用でそれぞれ立ち上げましょう! まず master 用のサーバを立ち上げます。えいっ。 ※ host, port を指定していないため、localhost で、port は 27017 が使われます。 mongod --master --dbpath /var/tmp/master そのあと slave 用のサーバを立ち上げます。そいやっ。これで終わり!! mongod --slave --port 27018 --source localhost --dbpath /var/tmp/slave slave では --source
追記: 最新情報はこちらです。 MongoDBが流行ってきてる風なので、これだけ読んでおけばMongoDBの雰囲気がわかるだろうってところを、日本語訳が終わっているところから集めてみた。 なるべく順に読めるように並べたつもりだけど、前後してるところもあると思うので、とりあえず読み進めるのをお勧め。 まず、何はなくとも、 コレクション (Collections) 次にコレクションを触るためのシェル。MongoDBのシェルというのは、RDBMSでいうとSQLを直接叩くところで、PostgreSQLのpsqlコマンド, MySQLのmysqlコマンドみたいなもの。 実際にMongoDBを使って開発する場合、直接MongoDBを操作するよりも、各言語(PHPとかRubyとかJavaとか)のマッパー経由で使うことが多いとは思う。しかし、SQLを知らないとO/Rマッパーを使いこなすのが難しいように、シ
はじめに ここ最近、NoSQLというキーワードが注目を集めています。 リレーショナルデータベースは、一般的にスケールアウト(サーバの台数を増やして性能向上を図る手法)が難しく、特に大規模サービスにおいてパフォーマンス上のボトルネックとなりえます。また、タグやグラフ構造のようなデータは関係モデルに馴染みにくいため、それらを扱う際にはアプリケーションコードもぎこちないものになりがちです。 これらの問題を背景に、何にでもリレーショナルデータベースを使うのではなく、用途に応じてKVSなど他のデータストアを選択する流れが広まりつつあります。このムーブメントがNoSQL(Not Only SQL)と呼ばれているものです。 今回は、NoSQLなデータベースの1つであるMongoDBをご紹介します。 MongoDBとは MongoDBは高いパフォーマンスとスケーラビリティを特徴とするドキュメント指向型デー
ドキュメント指向なKVSってことと、字面が似ていると言うことぐらいしか比較する意味がなさそうなCouchDBとMongoDBだけど、ここ2,3ヶ月で両方をそれなりに突っ込んで見てきたので比較してみた。実装面やパフォーマンス、ということよりはどちらかというと(私が感じる)思想的なものや、ユーザ側からの視点での比較。 共通するところ これはもう簡単に、 ドキュメント指向データベース - RDBMSのようなカラムと言ったものを持たずにスキーマレスで好きな情報を入れられる Javascript/JSONを使用 - データ自体もJSONというJavascript由来のフォーマットで持ち(MongoDBはJSONを元にしたBSONというものだが)、データベースのアクセスにはJavascriptを使用する スケールアウトするように考えられている NoSQLな流行 CouchDBの特徴 機能を限定している
なんだか、「MongoDB強制終了したら二度と起動しなくなった。もう使わない!」的なのを今日二ヶ所で見かけて、せつなくなったので今後ググられて目に止まることを願って書いておく。っていうか、ログぐらい見ようよ! まず、正常に終了処理をしなかった場合、そのままでは、MongoDBは次回に起動しません。仕様です。ドキュメント的には、Durability and Repair (日本語) がそれにあたる。 このときログファイルを見ると、こんな感じになってるはず。 ************** old lock file: /var/db/mongodb/mongod.lock. probably means unclean shutdown reccomend removing file and running --repair see: http://dochub.mongodb.org/co
8ヶ月間、MongoDBをプロダクションで使っている人のブログ記事が面白かったので、興味深いところだけまとめてみた。 原文はこちら 。 8ヶ月間使ってデータベースの規模は、Collections (tables): 17,810Indexes: 43,175Documents (rows): 664,158,090 master/slaveのマニュアルでのフェイルオーバ環境で運用してきた。masterは72GBのRAMslaveは別のデータセンタ ディスク的にきつくなってきたので、手動でShardingをし4つのDB(Master 2つ / Slave 2つ)に分けることにした。 namespaceの限界があるので、データを3つのMongoDB( これは物理的なサーバではなくてMongoDBのデータベースの単位)に分割している。現在のnamespaceの数は、 db.system.name
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く