2012年2月4日土曜日

MongoDB 環境構築(その3: ReplicaSet + Sharding)。

先日Tokyo.R第20回勉強会に参加してきた。
西新宿のNifty新社屋での開催で自宅から近かったのでちょっと見に行ったのだが思ったよりずっと面白くて今後も継続して参加する予定。外に出て人の話を聞くのは新鮮で気持ちが引き締まるし勉強のモチベーション向上に良いと思った。


今回は前回・前々回の内容を合わせた ReplicaSet + Sharding 環境の構築を行う。
例のごとく複数台のサーバを用意する余裕(お金)は無いので1台のPCの複数ポートを用いる事で擬似的な分散サーバ環境を実現。


今回の目標: Sharding を行いつつ

  • mongod11 & mongod12 & arbiter13
  • mongod21 & mongod22 & arbiter23

という2組の ReplicaSet を構成。

2012年1月28日土曜日

MongoDB 環境構築(その2: Sharding)。

前回に続き今回は MongoDB の Sharding 環境を構築してみる。
Sharding 環境を構築する事でデータを効果的に分散させて保持し、パフォーマンスの向上を狙う。MongoDB の Sharding では分割用のキーを指定する事でデータが分散して登録される。今回は下記4つの項目を持つログを登録するが、その中で Sharding 用のキーとして {ym, account_id} の2項目を用いる事とする。

登録ドキュメント形式
id ID
uid ユーザID
ymd 年月
timestamp yyyy-mm-dd hh:mm:ss


今回の目標: 3ノードによる Sharding 環境を構築し、データを分散登録する。


2012年1月23日月曜日

MongoDB 環境構築(その1: Replica Set)。

今年明けてすぐに gmail アカウントが乗っ取られるという事態になり復旧するまで google アカウントに紐づいたサービスが全て使用不可となってしまった。
セキュリティは大事だと思った。復旧後すぐに二段階認証を導入しました。


MongoDB の環境構築をする必要に迫らてしばらく MongoDB の勉強をしてみたので記録を残す事にする。
とりあえず3回くらいに分けて下記の順序で環境構築を実施してみたいと思う。
  1. Replica Set
  2. Sharding
  3. Replica Set + Sharding
今回の目標: 3台構成の Replica Set 構築

MongoDB の Replica Set は2台以上のサーバで構成される master/slave の拡張(的な理解)である。Replica Set はフェイルオーバ機能を備えており、Primary サーバが停止した事が検知されると自動的に Secondary サーバが Primary へと昇格する事で障害時にもサービスを自動的に継続し続ける事が可能となる。

フェイルオーバ機能