深入剖析 MongoDB 架构
?
近日,软件工程师Ricky Ho的在?他的博客里发表了一篇关于MongoDB架构(?MongoDB Architecture)的博文,虽然这是一个听起来感觉很宽泛的话题,但是作者在文章中确实对MongoDB由内至外的架构进行了剖析。本文截取了其文章中的几张重点架构示意图进行简要描述。?
1、MongoDB数据文件内部结构?
?
2、在MongoDB中实现事务?
众所周知,?MongoDB只支持对单行记录的原子性修改,并不支持对多行数据的原子操作。但是通过上图中的不可思议的操作步骤,实际上你也可以自己实现该事务。?其步骤如下:?
其实上面的步骤并不罕见,在支持事务的DBMS中,其事务原子性提交的保证大多都与上面类似。而事务记录的tran那条记录,就类似于这些DBMS中的redolog。?
3、MongoDB数据同步?
本流程可简要描述如下:?
4、分片机制?
?
5、服务器角色?
前面讲了分片的机制,下面是具体在分片时几种节点的角色:?