LoginSignup
10
8

More than 5 years have passed since last update.

mongodb3.0のwiredtiger storage engineを試す

Last updated at Posted at 2015-07-12

mongodb3でドキュメントの圧縮が可能になる

mongoは、私の好きなプロダクトの一つだ。ただひとつ困ったことがあって、あれもこれもと入れていくと、ディスクサイズが増えがちだということだ。

mongodbは3から今までのストレージエンジンmmapv1と併用して、WiredTigerというストレージエンジンを選べるようになった。

こちらの記事によると

ドキュメントロックになり、書き込み性能7〜10倍UP
ドキュメント圧縮が選べるようになり、最大80%圧縮

とのこと。私の場合、スクレイプしたデータの保存場所に、mongoを使うことが多いので、ドキュメントの圧縮が効くというのはすごく魅力的だ。ドキュメントを圧縮出来るので、昔ながらのHDDではなく(小容量だが速度が早い)SSDに保存も可能になった。

ubuntuにmongodb3を入れる

ubuntu14.04にmongodbを入れた。入れ方はこちらの記事を参考。

Install MongoDB on Ubuntu

特に迷うことなくmongodbが入る。変更点は、/etc/mongodb.confから/etc/mongod.confに名前が変わる。yaml表記が可能になるの2点だ。

mongodb3で圧縮を有効にしたconf

圧縮方式はsnappyにした。こちらの記事で速度と圧縮率でバランスがとれていると感じたからだ。

confファイルは次のようにした。こちらの記事を参考にした。


storage:
    dbPath: "/var/lib/mongodb/wt"
    engine: "wiredTiger"
    wiredTiger:
        collectionConfig:
            blockCompressor: "snappy"
        engineConfig:
            cacheSizeGB: 1
            statisticsLogDelaySecs: 5
            journalCompressor: "snappy"
            directoryForIndexes: true
systemLog:
   destination: file
   path: "/var/log/mongodb/mongodb_wt.log"
   logAppend: true
storage:
   journal:
      enabled: true
net:
   bindIp: 127.0.0.1
   port: 27017

mongodb如何にwtディレクトリを掘ってデータを格納する。wtの所有者はmongodbにしておくと良い。

効果測定

mongodb2で250GB程度のコレクションを、読み込んでみてどの程度圧縮されるか検証した。

mmapv1

従来のmmapv1は251GBあった。

ubuntu@xxx/var/lib/mongodb$ du -h
3.1G    ./journal
251G    .

wiredtiger

wiredtigerでは、約53GBだった。大体1/5になり、当初書かれていた様に80%削減出来た。

ubuntu@xxxxxxxxx:/var/lib/mongodb/wt$ du -h
201M    ./journal
48G     ./collection
4.0K    ./_tmp
4.7G    ./index
53G     .

読み込み速度

圧縮した分、速度低下が起こるかと思ったが、ざっと触ってみたところ、速度低下はなかった。

webサイトのスクレイパー向き

個人的によくwebサイトのスクレイピングをするが、そのような用途ではすぐディスクサイズが圧迫される。webサイトは多種多様な形式のため、あまりカラム型で圧縮も難しい。wiredtigerは手軽に容量を1/5に圧縮できるので、そのような用途では良いかもしれない。、

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8