官术网_书友最值得收藏!

How it works...

As WiredTiger is the default storage engine for MongoDB 3.2, for this exercise, we explicitly started a MongoDB instance with MMAPv1 storage engine in step 1. In step 2, we stored the db.serverStatus() command's output in a temporary variable to inspect the output of the server's storageEngine key. This helps us see which storage engine our MongoDB instance is running on. In step 3, we switched to database mydb and ran a simple JavaScript function to add 100 documents to a collection called mycol. Next, in step 4, we created a backup directory /data/backup which is passed as a parameter to mongodump utility. We will discuss more about the mongodump utility in Chapter 6, Managing MongoDB Backups.

Once we shutdown the mongod instance, in step 5, we are now ready to start a new instance of MongoDB but this time with WiredTiger storage engine. We follow the basic practice of covering for failure and instead of removing /data/db, we create a new path for this instance (#AlwaysHaveABackupPlan). Our new MongoDB instance is empty, so in step 7 we import the aforementioned backup into the database using the mongorestore utility. As the new MongoDB instance is running WiredTiger storage engine, our backup (which is essentially BSON data) is restored and saved on disk using this storage engine. Lastly, in step 8, we simply inspect the storageEngine key on the db.serverStatus() output and confirm that we are indeed using WiredTiger.

As you can see, this is an overly simplistic example of how to convert MongoDB data from one storage engine format to another. One has to keep in mind that this operation will take a significant amount of time depending on the size of data. However, application downtime can be averted if we were to use a replica set. More on this later.

主站蜘蛛池模板: 贵德县| 通海县| 兴仁县| 景德镇市| 太康县| 昌邑市| 孝昌县| 璧山县| 汉阴县| 焦作市| 鄂托克前旗| 巴林左旗| 漳浦县| 南漳县| 察雅县| 自治县| 鹤山市| 苏尼特左旗| 莆田市| 曲麻莱县| 黑龙江省| 甘德县| 商洛市| 宁远县| 清水河县| 阜宁县| 郧西县| 河北省| 九龙城区| 临夏市| 绵阳市| 英山县| 察雅县| 临泽县| 刚察县| 炎陵县| 霍林郭勒市| 丹棱县| 囊谦县| 扶绥县| 永康市|