1. 为什么使用分片
当MongoDB存储海量的数据时,一台机器可能不足以存储数据也不足以提供可接受的读写吞吐量。这时,我们就可以通过在多台机器上分割数据,使得数据库系统能存储和处理更多的数据。
2. MongoDB分片集群三个主要组件:
(1)Shard:用于存储实际的数据块,实际生产环境中一个shard server角色可由几台机器组个一个relica set承担,防止主机单点故障
(2)Config Server:mongod实例,存储了整个 ClusterMetadata,其中包括 chunk信息。
(3)Query Routers:前端路由,客户端由此接入,且让整个集群看上去像单一数据库,前端应用可以透明使用。