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

  • 相关阅读:
    PL/SQL Developer使用技巧、快捷键(转发)
    Java 获取随机日期
    jsonArray和Java List对象互转,日期处理
    ExtJs grid单选,多选
    ExtJs 下拉单联动,次级下拉框查询模式
    ExtJs 日期相加,Grid表格列可编辑
    转:Java阳历转农历
    转:Java 计算2个时间相差多少年,多少个月,多少天的几种方式
    钥匙计数之一
    LianLianKan
  • 原文地址:https://www.cnblogs.com/z-test/p/9430532.html
Copyright © 2011-2022 走看看