• MongDB之shard_主从,副本集,分片的理解


    MongoDb在用于生产环境的三种模式,master/slaves(主从模式);replcation副本集;auto shard 分片模式

       在早期的系统设计中,主从模式是比较流行的,将读写分离,在不同的DB上操作,可以有效降低数据库的压力,而且还能实现数据的备份,但是在master节点故障的时候,不能及时的自动的切换到slaves节点,需要手动干预,这个是硬伤

       目前在Mongodb的官方说法中已经不推荐使用master/slave/模式,推荐使用副本集模式,应为该模式不但实现了主从模式的读写分离,而且有自己的一套选举机制,能通过自己的算法,选举出当前最优的节点作为活跃节点,一旦活跃节点宕机,选举出来的新的节点将成为活跃节点对外提供服务,其他节点则继续作为复制节点,当原先的活跃节点恢复,会自动作为非活跃节点(备份节点)存在。

     这种模式的最大优点在于Mongodb的自动选举活跃节点的机制,不需要手动干预便可以实现活跃与非活跃的切换,但是它由于数据没有shard,每个节点都是一个完成的备份,则不能使用MongoDb的分布式计算功能,当然,也可以通过程序自己来实现(成本很高),所以就有了Auto shard模式

       利用Mongo的分片,可以将数据自动的分解成多个块,存储在不同的节点上,每个被差分的块都有三个副本集,这样是为了数据备份和恢复,而且数据分片以后,可以利用多台廉价的存储和CPU的计算构建一个水平可扩展的计算架构,这就是我们的分布式计算

       目前在单台Mongodb上做MapReduce,速度还是比较慢的,但是如果数据分散在多台机器上,利用多太机器建立一个计算集群,计算速度估计会线性增长。

  • 相关阅读:
    host 文件位置
    Django 前后端分离开发配置 跨域
    pycharm 关闭单词拼写检查(Typo: In word 'cacheable' )
    Python : argument name should be lowercase 警告处理解决方法
    pycharm 变量名 (Shadows built-in name 'id' )问题
    三体
    12.URL下载网络资源
    11.UDP多线程在线咨询
    10.UDP实现聊天
    9.UDP
  • 原文地址:https://www.cnblogs.com/Easonlou/p/6604971.html
Copyright © 2020-2023  润新知