MongoDB实现分片技术,减轻存储压力(mongodb分片机制)

MongoDB分片技术是一种数据库分布存储技术,它可以将一个collection的内容自动划分到N个分片上,让它们都独立地提供访问服务从而获得提升性能的效果。

MongoDB的分片是一种将不同的document集合拆分到不同的物理服务器上的技术,它可以将大型集合拆分到多个物理服务器上,且每个物理服务器上的document都是不相关的。MongoDB分片技术可以优化系统性能,减轻存储压力。

分片集群是由以下四类节点组成:shard、config、router和mongos。shard是由单独的MongoDB服务器构成的物理服务器集,用于承载或存储数据;config服务器是存储副本集配置和元数据的服务器,是一套存储集群数据的元数据信息;router是用于将查询请求路由到正确的shard上,相当于数据库中的proxies。

Mongo.db分片技术分为逻辑分片、物理分片和查询分片,逻辑分片是把数据集划分到不同的shard上,物理分片是把数据拆分到不同的物理服务器上,查询分片是把数据请求分发到不同的shard上。MongoDB分片的实现主要包括在用户端和服务节点之间的路由配置以及shard的配置:

// 在用户端使用Mongos执行

//User:{

connections:[ip1,ip2,ip3] // 连接mongos列表

database:db1 // 数据库名

collection:col1 // 集合名

query: // MongoDB查询语句

}

// 执行分片

Mongos.shard(User,shardIps)

// shardIps数组是物理分片后的

shardIps:[ip1,ip2,ip3,ip4…..]

实现MongoDB分片技术后,数据库的查询性能会明显更高,数据库的总存储量也会减少,分片的数据存储在不同的服务器上,使之份数更加确保。MongoDB分片技术能够解决单机性能、容量和可用性的限制,提高数据库的性能,减轻存储压力,使得企业能够充分利用廉价的机器资源,节省更多的经费,即使企业没有大量的资源也可以轻松实现大规模微服务。


数据运维技术 » MongoDB实现分片技术,减轻存储压力(mongodb分片机制)