分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net
分片(sharding)是MongoDB用来将大型集合分割到不同服务器(或者说一个集群)上所采用的方法。Mongo的分片是全自动的,这点和MySQL是不同的。
分片的目的:
高数据量和吞吐量会对单机的性能造成很大压力,大的查询量会将单机的CPU耗尽,为了解决这个问题,有2个基本方法:垂直扩展(增加更多CPU和存储资源)和水平扩展(将数据集分布在多个服务器上,水平扩展即分片)。
Mongo分片集群:
一组复制集就是一组mongod实例掌握同一个数据集。实例可以在不同的机器上面,包含一个主导,接收客户端所有的写操作。其他的都是副本实例,从主服务器上获得数据并保持同步。
主服务器包含了所有的改变操作(写)的日志,当主服务器挂掉了,会在副本服务器上重新选举一个成为主服务器。每个复制集有一个仲裁者,它不存数据,通过心跳确认集群中节点的数量,并作为选举的仲裁。