From MongoDB v1.8.2 To v2.0.2

Post on 28-May-2015

7.595 views 6 download

Tags:

description

3/7の第3回CAグループ合同勉強会発表資料です。MongoDB のv1.8からv2.0へのメジャーバージョンアップ方法についてです。

Transcript of From MongoDB v1.8.2 To v2.0.2

From MongoDB v1.8.2To v2.0.2

第3回 CAグループ合同勉強会

瀬賀 直樹(@nsega)

GCREST, Inc.

MongoDBのメジャーバージョン

アップ方法おしえます

MongoDBv2系では・・・

• Indexパフォーマンスの25%改善• Sharding 認証機能の追加• Replica Setsの機能改善• Journalingの強化(Disk書き込み速度UP)・・・・・etc新機能やパフォーマンス改善が盛りだくさん!!

このVerion(・∀・)イイ!!

やるしかない!!

Index performance up!

usage memory down!

concurency improvement!

auto sharding

auto failover

Like!

いいね!

対象サーバ構成 C1 mongodC1 mongodC1 mongodC1 mongodC1 mongodC1 mongod mongod①primarymongod①primary

C2 mongodC2 mongod mongod②primarymongod②primary

C3 mongodC3 mongod mongod③primarymongod③primary

Web Server

mongosmongos

1 Shard

mongod③secondary

mongod③secondary

※自動シャーディングは、オフに設定。

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod③secondary

mongod③secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod③secondary

mongod③secondary

mongod②secondary

mongod②secondary

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

MongoDB Server <6台構成>

今回実行した手順

①mongo関連プロセス終了②バックアップ③バイナリ置換(v1.8.2=>v2.02)

RepairDatabase④ コマンド(Index貼り直し)

mongo⑤ 関連プロセス起動

①mongo関連プロセス終了ープロセス落とす順番ー

①-1)mongos 落とすmongod①primarymongod①primary

mongod②primarymongod②primary

mongod③primarymongod③primary

Web Server

mongosmongos

1 Shard

mongod③secondary

mongod③secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod③secondary

mongod③secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod①arbitermongod①arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

C3 mongodC3 mongod

C1 mongodC1 mongod

C2 mongodC2 mongod

①-2)config 落とすmongod①primarymongod①primary

mongod②primarymongod②primary

mongod③primarymongod③primary

Web Server

mongosmongos

1 Shard

mongod③secondary

mongod③secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod③secondary

mongod③secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod①arbitermongod①arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

C3 mongodC3 mongod

C1 mongodC1 mongod

C2 mongodC2 mongod

①-3)arbiter落とすmongod①primarymongod①primary

mongod②primarymongod②primary

mongod③primarymongod③primary

Web Server

mongosmongos

1 Shard

mongod③secondary

mongod③secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod③secondary

mongod③secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod①arbitermongod①arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

C3 mongodC3 mongod

C1 mongodC1 mongod

C2 mongodC2 mongod

mongod①primarymongod①primary

mongod②primarymongod②primary

mongod③primarymongod③primary

Web Server

mongosmongos

1 Shard

mongod③secondary

mongod③secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod③secondary

mongod③secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod①arbitermongod①arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

C3 mongodC3 mongod

C1 mongodC1 mongod

C2 mongodC2 mongod

①-4)secondary落とす

mongod①primarymongod①primary

mongod②primarymongod②primary

mongod③primarymongod③primary

Web Server

mongosmongos

1 Shard

mongod③secondary

mongod③secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod③secondary

mongod③secondary

mongod②secondary

mongod②secondary

mongod①secondary

mongod①secondary

mongod①arbitermongod①arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

mongod③arbitermongod③arbiter

mongod②arbitermongod②arbiter

mongod①arbitermongod①arbiter

C3 mongodC3 mongod

C1 mongodC1 mongod

C2 mongodC2 mongod

①-5)primary落とす

②バックアップデータファイルをコピーするだけ

③バイナリ置換(v1.8.2=>v2.02)

シンボリックリンク mongodb作成でOK

④RepairDatabaseコマンド実行※なんでするの??

理由:Indexをv2系のものにするため。

v2系のIndex25%サイズが小さく25%処理速度が速く(※ユースケースによります)

速くなる・・・・・・と聞いたもので

(;゚∀゚)=3ハァハァ

⑤mongo関連プロセス起動ープロセス起動する順番ー

⑤mongo関連プロセス起動ー終了順と逆に上げるー

⑤-1 primary ノード⑤-2 secondary ノード⑤-3 arbiter ノード⑤-4 config ノード⑤-5 mongos ルータ

まとめ

• バージョンアップが活発なMongoDB。=> それだけ注目されているプロダクト。

• v2系の導入はメンテナンス入れた方が確実。

• Indexを貼り直した方がいい! その分のメリットあり。(Diskサイズ、メモリ使用量、レスポンス)

ご清聴ありがとうございました!!