mongodb主从复制
sql server能够做到读写分离,双机热备份和集群部署,当然mongodb也能做到,实际应用中我们不希望数据库采用单点部署,
如果碰到数据库宕机或者被毁灭性破坏那是很糟糕的。
1)主从复制
2)从上面的图形中我们可以分析出这种架构有如下的好处:
<1> 数据备份。
<2> 数据恢复。
<3> 读写分离。
主从复制步骤:
1)把mongodb文件夹放在D盘和E盘,模拟放在多服务器上。
2)第二步:启动D盘上的mongodb,把该数据库指定为主数据库,其实命令很简单:>mongodb --dbpath='XXX' --master,
端口还是默认的27017.
可以看到主数据库已经开始监听和接受从数据的同步请求了。下面看看从数据库:
3)同样的方式启动E盘上的mongodb,指定该数据库为从属数据库,命令也很简单,当然我们要换一个端口,比如:9999。
source 表示主数据库的地址。
下面看看主数据跟从数据的数据:
从数据库数据:
再看看在主数据删除后,从数据库的数据对比:
从数据库数据:
可以看到主从数据库已经开始工作了。下面是同步的原理:
从属数据库每10s就向主数据库同步数据,同步依据也就是寻找主数据库的”OpLog“日志,可以在图中红色区域内发现”sync_pullOpLog“字样。
接下来我们要做的就是测试,发现无论是新增加还是删除,两者都同步了。
个人觉得,mongodb的主从复制最大的优点就是可以为读写分离提供条件,还有就是数据库的迁移也很方便。