不管是什么数据库都会考虑数据的备份复制,故障切换等。当一些数据库服务器读写比高时,我们还要考虑实现这些数据库服务器的负载均衡等功能。我们就来看看MongoDB是怎么实现这些功能。
Backup/Restore
1、在创建MongoDB服务的时候,通过--dbpath指定目录就是存放mongdb数据库文件目录,我们可以通过复制这些文件实现数据库的冷备,但是这种方式不太安全。
因此在冷备前,要关闭服务器,如下所示:
>use admin
>db.shutdownServer()
或者可以通过fsync方式使MongoDB将数据写入缓存中,然后再复制备份
>use admin
>db.runCommand({"fsync":1,"lock":1})
这个时候我往test.foo插入了一条数据f:6 ,在执行db.foo.find()后,并没有查到这条记录,说明记录没有直接写入数据库,而是被缓冲