From MongoDB v1.8.2 To v2.0.2

23
From MongoDB v1.8.2 To v2.0.2 第3回 CAグループ合同勉強会 瀬賀 直樹(@nsega) GCREST, Inc.

description

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

Transcript of From MongoDB v1.8.2 To v2.0.2

Page 1: From MongoDB v1.8.2 To v2.0.2

From MongoDB v1.8.2To v2.0.2

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

瀬賀 直樹(@nsega)

GCREST, Inc.

Page 2: From MongoDB v1.8.2 To v2.0.2

MongoDBのメジャーバージョン

アップ方法おしえます

Page 3: From MongoDB v1.8.2 To v2.0.2

MongoDBv2系では・・・

Page 4: From MongoDB v1.8.2 To v2.0.2

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

Page 5: From MongoDB v1.8.2 To v2.0.2

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

やるしかない!!

Index performance up!

usage memory down!

concurency improvement!

auto sharding

auto failover

Like!

いいね!

Page 6: From MongoDB v1.8.2 To v2.0.2

対象サーバ構成 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台構成>

Page 7: From MongoDB v1.8.2 To v2.0.2

今回実行した手順

Page 8: From MongoDB v1.8.2 To v2.0.2

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

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

mongo⑤ 関連プロセス起動

Page 9: From MongoDB v1.8.2 To v2.0.2

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

Page 10: From MongoDB v1.8.2 To v2.0.2

①-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

Page 11: From MongoDB v1.8.2 To v2.0.2

①-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

Page 12: From MongoDB v1.8.2 To v2.0.2

①-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

Page 13: From MongoDB v1.8.2 To v2.0.2

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落とす

Page 14: From MongoDB v1.8.2 To v2.0.2

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落とす

Page 15: From MongoDB v1.8.2 To v2.0.2

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

Page 16: From MongoDB v1.8.2 To v2.0.2

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

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

Page 17: From MongoDB v1.8.2 To v2.0.2

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

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

Page 18: From MongoDB v1.8.2 To v2.0.2

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

Page 19: From MongoDB v1.8.2 To v2.0.2

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

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

Page 20: From MongoDB v1.8.2 To v2.0.2

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

Page 21: From MongoDB v1.8.2 To v2.0.2

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

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

Page 22: From MongoDB v1.8.2 To v2.0.2

まとめ

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

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

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

Page 23: From MongoDB v1.8.2 To v2.0.2

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