【mongoDB】架构

1.mongodb的架构

7.1核心程序。
mongod 它是核心数据库程序。
mongos :它是分片集群的控制器和查询路由器。
mongo :交互式mongoDB shell 

mongod :主守护程序。处理所有的数据请求,管理数据格式并且执行用于后台管理的操作。
当一个mongod在无任何参数的情况下运行,它会连接到默认的数据目录:c:\data\db或/data/db 
以及默认端口:27017,它会在这个端口上监听socket连接。
mongod 还有一个HTTP服务器,端口是:28017,http://localhost:28017 ,提供
与数据库有关的管理信息。

mongo shell启动后默认连接到test数据库。
这个数据库被分配到全局变量DB;
mongos 被用于mongodb分片,它充当了一种路由服务。会处理来自应用层的查询并且判断
所请求的数据位于分片集群的哪个位置。

mongodump 此工具被用作一种有效备份策略的一部分。他会创建数据库内容的一份二进制导出。
mongorestore:由mongodump工具创建的二进制数据库转储是使用mongorestore工具导入
到一个新的或现有的数据库中的。
bsondump:这个工具会将BSON文件转换成可供人们阅读的格式,比如JSON或CSV。
这个工具可被用户读取mongodump生成的二进制输出文件。

mongoimport,mongoexport:mongoimport提供了一种以json,csv或TSV格式获取数据并且将这些
数据导入到一个mongod实例中的方法。mongoexoprt提供了一种方法来将数据从mongod实例
导出成JSON,CSV,TSV格式。
mongostat,mongotop ,mongosniff :这些工具提供了与mongod实例的当前操作有关的诊断信息。

mongodb使用了分片和复制功能通过分发和复制数据来提供高可用的系统。

7.4复制。
在一个独立部署中,如果mongod不可用,那么将面临所有数据丢失的风险,这对于生产环境来说是不可
接受的。复制被用于提供针对这类数据丢失的安全保障。
将数据复制到不同的节点上,提供数据冗余和保护,同时也可以在副本上备份。

mongodb支持两种类型的复制:传统的主从复制和副本集。
7.4.1主从复制。
mongodb中,传统的主从复制是可用的,但仅推荐将其用于超过50个节点的复制。
首选的复制方法是副本集。
使用主从复制的唯一优势在于,在一个集群中并没有对从节点的数量进行限制。然而,数千个
从节点会让主节点过载。实际中最好不好超过十几个从节点。这个复制类型不会自动故障转移
并且提供了较少的冗余。


由于从节点时从主节点复制的,因此所有从节点都需要知道主节点的地址。
主节点会存留一个固定集合,这个集合存储了对数据库进行逻辑写入的顺序历史。
从节点会使用这个oplog集合来复制数据,由于这个oplog是一个固定集合,因此如果从节点
的状态远远落后于主节点的状态的话,则该从节点可能就不会同步。
从节点不同步主要有两个原因:
1.从节点关闭或停止并且稍后重启。在这段时间,oplog可能会删除需要被应用到从节点上的操作日志。
2.从节点在执行来自主节点的可用更新时很慢。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值