MongoDB复制集和分片

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013862108/article/details/87909107

复制集:

复制提供了两方面的好处: 高性能 和 高可用性

奇数: 应确保服务器为奇数,这样更容易选举出主服务器

复制策略:

服务器数量: 如果客户端主要是写入数据,使用大量服务器并不能带来多大好处;但有大量的写入请求,则添加更多备份服务器肯定会有很大的影响。

副本集数量:

容错: 

部署副本集:

1.  

2.  为复制集 中的每个服务器配置 replSet值。

可以在文件 mongodb.conf 中指定,也可以在命令行中指定。

mongod --port 27017  --dbpath  /srv/mongodb/db0 --replSet rs0

3. 启动副本集

shell 中运行命令 rs.initiate()

4.  对每个备份服务器执行如下命令:

rs.add()

5. 在每台服务器上使用 rs.conf()

6. 在应用程序中,为从副本集读取数据的操作指定读取首选项。将首选项设置为 primary, primaryPreferred , secondary,  secondaryPreferred 或nearest

案例todo:

分片集群:

服务组成:

分片服务器;

查询路由器 ;一个mongos 实例

配置服务器;

选择片键,要考虑的方面:

易于拆分; 随机性; 复合键 - 应尽可能使用单字段片键;

基数- cardinality - 独一无二的程度。如果是 社保号,则这个字段基数就高,通常基数较高的字段更适合用作片键。

以查询为向导:

选择分区的方法:

基于范围的分片;

基于散列的分片;

部署分片集群步骤:

1. 创建配置服务器

2. 启动查询路由器

3. 在集群中添加分片服务器

4. 对数据启用分片

5. 对集合启用分片

猜你喜欢

转载自blog.csdn.net/u013862108/article/details/87909107