MongoDBにおいて表題の件を調べたい。
■ 環境
- MongoDB 3.0.10/3.2.4
- Docker 1.10.3
- Mac OSX El Capitan
■ MongoDB
“3.2“系ではデフォルトのStorageEngineが”WiredTiger“になったらしい。ディスクの使用量が大幅に下がったとか。とりあえず現状の環境は”3.2“系ではないのだが、そもそもデフォルトままであるから”mmapv1“が使われていると思われるのだが確認しておきたい。
■ MongoDB 3.0系
サーバを起動。
$ docker run -d --name mongo30 mongo:3.0.10
クライアントを接続して確認してみる。`db.serverStatus()`で取得ができそうである。
$ docker run -ti --rm --link mongo30 mongo:3.0.10 /bin/bash
root@ac6193941f36:/#
root@ac6193941f36:/# mongo --host mongo30
MongoDB shell version: 3.0.10
connecting to: mongo30:27017/test
Welcome to the MongoDB shell.
>
> db.serverStatus()
{
"host" : "8130afcefb48",
"version" : "3.0.10",
"process" : "mongod",
:
"storageEngine" : {
"name" : "mmapv1"
},
:
“mmapv1“が使われていることが確認できる。
■ MongoDB 3.2系
サーバを起動。
$ docker run -d --name mongo32 mongo:3.2.4
クライアントから接続。
$ docker run -ti --rm --link mongo32 mongo:3.2.4 /bin/bash
root@82544d922a04:/#
root@82544d922a04:/# mongo --host mongo32
MongoDB shell version: 3.2.4
connecting to: mongo32:27017/test
Welcome to the MongoDB shell.
>
> db.serverStatus()
{
"host" : "fb617c1ef2bc",
"advisoryHostFQDNs" : [ ],
"version" : "3.2.4",
"process" : "mongod",
:
"storageEngine" : {
"name" : "wiredTiger",
"supportsCommittedReads" : true
},
:
“3.2“系では`db.serverStatus()`で取得できるものが随分多くなっているようだ。
以上。