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

  • 相关阅读:
    ansible部署apache
    yum换源,rpm包下载,源码包安装
    zabbix 监控apache
    分块大法 -- 优雅的暴力
    [每日一题]:建立联系 -- 最小生成树
    [每日一题]:P1016 旅行家的预算 -- 反悔贪心
    [每日一题]:[NOIP2010]关押罪犯 -- 并查集
    Python基础: 元组的基本使用
    Python基础: 列表的基本使用
    Python基础:分支、循环、函数
  • 原文地址:https://www.cnblogs.com/z-test/p/9430532.html
Copyright © 2011-2022 走看看