9
MongoDB の journaling のののののののの 2012/05 Id:sawanobly (HiganWorks LLC)

MongoDB journal casebook

Embed Size (px)

DESCRIPTION

役割別のMongoDB Journalオプション有効度合い

Citation preview

Page 1: MongoDB journal casebook

MongoDBの journaling役割別おすすめ度

2012/05Id:sawanobly (HiganWorks LLC)

Page 2: MongoDB journal casebook

内容についてのお断り• この資料は独自に調査した結果や運用構築の経験をまとめたものです。

• この資料を元に何かした際の影響については責任を負いかねます。

Page 3: MongoDB journal casebook

Mongodbの Journalとは• 先行書き込みログ、無効化可能( Transaction logとか ZFSの ZILみたいなもの)

• MongoDBのプロセスが不正終了した際– Journalなし :Lockを消して整合性確認のリペア必須– Journalあり :自動でロールフォワードし起動

• 安全な分、パフォーマンスに影響する、 OFFのほうが速いが最近『標準で有効』になった

• Journalを有効にしたら良いケース、別にいらないと思うケースをまとめる

Page 4: MongoDB journal casebook

ConfigServer: 100%

• Shardingのキモ、絶対 Journalしましょう• Configが 3つあっても、 1つかけると、Mongosが起動しない※–稼働中のものまで落ちはしない–※(2.0.5)で一応起動するようにはなった

Page 5: MongoDB journal casebook

単独のMongodb: 75%

• 有効にすると運用が楽• しかし Disk容量と I/Oに結構影響する• 不正終了時にリペアする余裕があるなら

Journal不要• ドキュメント数に応じてリペア時間は増えるので、多い場合は Journalしておくのも無難。

Page 6: MongoDB journal casebook

RepliacaSets:30%

• 全データノード※が同時に落ちるという環境でない限り、 Journalするよりパフォーマンスの低下を避けるという判断でよい※ Arbiter含めて 3つ以上のノード

• 運用の楽さだけをとるなら Jounal有効もあり

Page 7: MongoDB journal casebook

Arbiter:5%

• データを持つわけでも無いので不要• 不正終了時は一丁前に Lock => 起動しないという挙動をするので、それが煩わしいという場合は Diskを 3GB消費して Journalしよう。

Page 8: MongoDB journal casebook

MongoRouter(mongos):0%

• データを持たないので Journalしようがありません。

Page 9: MongoDB journal casebook

おわり