zoukankan      html  css  js  c++  java
  • Mongodb 分片原理

    1.主从mongodb 模式 类似,MySQL的主从配置  参照:https://blog.csdn.net/liusong0605/article/details/11551699

    mongoDB有一个主要特性就是复制,有多种复制形式,其中,主从复制是比较常用的一种。

          主从复制的工作原理:首先要有两个或更多的服务器,其中一个是主节点,负责处理客户端的请求,其他的都是从节点,负责映射主节点的数据。主节点记录在其上执行的所有操作,从节点定期轮询主节点获得的这些操作,然后执行这些操作。由于从节点和主节点执行了相同的操作,从节点就能保持与主节点的数据同步。

          简单概括就是:主节点完成数据写入操作,从节点完成数据复制、为读取提供数据。这样实现的好处:1.实现读写分离、降低了主节点的压力。2.做了数据备份,增强了安全性。 还有一个缺点:主节点宕机,系统不可用。

          搭建mongodb主从复制比较简单:

          主节点:bin>mongod --dbpath=主节点的数据库路径  --port=27017 --master

          从节点:bin>mongod --dbpath=从节点的数据库路径  --port=27007 --slave --source=主节点ip:主节点端口号

          主节点的数据库安装在mongodbdb中:

    2. 自动分片模式 :https://blog.csdn.net/liusong0605/article/details/11556311

    分片,是指将数据拆分,将其分散到不同的机器上。这样的好处就是,不需要功能强大的大型计算机也可以存储更多的数据,处理更大的负载。
          mongoDB的分片,是将collection的数据进行分割,然后将不同的部分分别存储到不同的机器上。当collection所占空间过大时,我们需要增加一台新的机器,分片会自动将collection的数据分发到新的机器上。
         

          mongoDB分片的原理:

          

           mongos:客户端只需要对mongos进行操作就行了,至于如何进行分片,不需要客户端参与,由mongos和config来完成。

           mongod:一个普通的数据库实例,如果不分片的话,我们直接连接的就是mongod。

        

            实例演示:

           首先准备四个mongodb服务器,F:mongos     F:mongodb1    F:mongodb2   F:mongodbConfig

  • 相关阅读:
    Find the Smallest K Elements in an Array
    Count of Smaller Number
    Number of Inversion Couple
    Delete False Elements
    Sort Array
    Tree Diameter
    Segment Tree Implementation
    Java Programming Mock Tests
    zz Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
    Algorithm about SubArrays & SubStrings
  • 原文地址:https://www.cnblogs.com/z-test/p/9430532.html
Copyright © 2011-2022 走看看