• mongodb分片(七)


    1.插入负载技术分片架构图


    2.片键的概念和用处
    看下面这个普通的集合和分片后的结果


    3.什么时候用到分片呢?
    3.1机器的磁盘空间不足
    3.2单个的mongoDB服务器已经不能满足大量的插入操作
    3.3想通过把大数据放到内存中来提高性能
    4.分片步骤
    4.1创建一个配置服务器
    4.2创建路由服务器,并且连接配置服务器
    路由器是调用mongos命令
    4.3添加2个分片数据库
    8081和8082
    4.5利用路由为集群添加分片(允许本地访问)
    db.runCommand({addshard:"127.0.0.1:8081",allowLocal:true})
    db.runCommand({addshard:"127.0.0.1:8081",allowLocal:true})
    切记之前不能使用任何数据库语句


    4.6打开数据分片功能,为数据库foobar打开分片功能
    db.runCommand({"enablesharding":"foobar"})


    4.7对集合进行分片
    db.runCommand({"shardcollection":"foobar.bar","key":{"_id":1}})


    4.8利用大数据量进行测试 (800000条)


    5.查看配置库对于分片服务器的配置存储
    db.printShardingStatus()
    6.查看集群对bar的自动分片机制配置信息
    mongos> db.shards.find()
    { "_id" : "shard0000", "host" : "127.0.0.1:8081" }
    { "_id" : "shard0001", "host" : "127.0.0.1:8082" }
    7.保险起见的配置服务器集群


    8.分片与副本集一起使用

    function add(){
     var i = 0;
     for(;i<200000;i++){
       db.bar.insert({"age":i+10,"name":"jim"})
     }
    }
    
    function add2(){
     var i = 0;
     for(;i<200000;i++){
       db.bar.insert({"age":12,"name":"tom"+i})
     }
    }
    
    function add3(){
     var i = 0;
     for(;i<200000;i++){
       db.bar.insert({"age":12,"name":"lili"+i})
     }
    }
    
    //查看状态
    db.printShardingStatus()

    mongod --config 分片数据库_01.conf

    dbpath = D:sortwaremongod38081
    port = 8081
    bind_ip = 127.0.0.1

    mongo 127.0.0.1:8081/admin

    mongod --config 分片数据库_02.conf

    dbpath = D:sortwaremongod38082
    port = 8082
    bind_ip = 127.0.0.1

    mongo 127.0.0.1:8082/admin

    mongos --port 1000 --configdb 127.0.0.1:2000

    mongo 127.0.0.1:1000/admin

    mongod --config 配置服务器.conf

    dbpath = D:sortwaremongod3config
    port = 2000
    bind_ip = 127.0.0.1

    mongod --config 分片数据库_01.conf

    dbpath = D:softwareMongoDBDATA8801
    port = 8081
    bind_ip = 127.0.0.1

    mongo 127.0.0.1:8081/admin

    mongod --config 分片数据库_02.conf

    dbpath = D:softwareMongoDBDATA88082
    port = 8082
    bind_ip = 127.0.0.1

    mongo 127.0.0.1:8082/admin

    mongos --port 1000 --configdb 127.0.0.1:2000

    mongo 127.0.0.1:1000/admin

    mongod --config 配置服务器.conf

    dbpath = D:softwareMongoDBDATA8config
    port = 2000
    bind_ip = 127.0.0.1

  • 相关阅读:
    idea 导入(非maven)web项目并发布到tomcat服务器
    EasyUI-combotree 下拉树 数据回显时默认选中
    千万级别数据量mysql优化策略
    MySQL忘记密码,或:root密码重置报错:mysqladmin: connect to server at 'localhost' failed的解决方案
    centOS 6.5下升级mysql,从5.1升级到5.7
    查看mysql数据库版本方法总结
    【转】App开发者必备的运营、原型、UI设计工具整理
    APP原型设计工具,哪家强?转自知乎
    数据库为什么要分库分表
    20180925-1 每周例行报告
  • 原文地址:https://www.cnblogs.com/ecollab/p/7536315.html
Copyright © 2020-2023  润新知