zoukankan      html  css  js  c++  java
  • mongoDB 使用总结

    http://blog.chinaunix.net/space.php?uid=22270773&do=blog&id=19935171. 如果无特别用途,建议:表名,字段名 全部用小写字母。

    2.  尽可能的缩短字段名的长度,必要的时候,可以考虑建立一个key 与实际意义的map表,

        尽量降低key 的长度。

    3. mongodb 单表最大索引数 为64个,这个是提示性建议。索引的指导原则,与mysqloracle 一致,

       尽量减少索引的数目,所有的排序字段应该都有索引,索引尽可能小, 所以这个再开发设计阶

       段,要做好规划。

    4. mongodb 不像mysql oracle 那么可以方便的添加字段,如果添加字段且带有default 值,

       需要全部数据都要修改,这也是设计阶段需要考虑的事情,   这个问题的另外一种解法是应用

       代码里做一次判断。

    5. 对于做数据库使用的Mongodb(做缓存使用的可以不做密码验证)

    6. 注意碎片问题,经测试,同数量数据纯写入和存在update delete的,后者费空间较多;

       所以要观察faults等值判断是否需要做碎片整理;

       整理方法暂时发现有:dump-restorerepair对单点库或主从库,会影响服务。

       对于replset 方式部署的,可以采用轮换的方式,其中一台库下线,铲除数据,从新从集群中作全同步。

    经过测试,repair 方式比较慢,采取dump-restore 或者重新同步的方式速度可以接受。

    Master-Slave 方式部署的,就相当于从库重做+一次主从切换。

    7. 数据源连接方式,使用连接池模式,尽量减少认证带来的性能额外消耗

    建议采用标准的uri 连接方式: mongodb://user:passwd@host:port,host:port/db

    8. Mongodb日志量比较大,正常情况下只需要开启-v或以下,并做日志回滚删除。

    ongodb -v 日志适合在开发环境的调试线上部署 不建议采用这个参数,

    目前线上部署的情况,-v 日志一天也会有几个G的日志量,去掉这个参数,

    跟数据查询相关的操作就不会记日志了,数据库的内部的重要操作还是会写日志的。

    9. mongodb的索引每次也是只能用到一个索引,对数据的查询不会“并发”执行

    例如: db.tab.find({'id'=1,'name'=2})  如果‘id’,‘name' 列上分别有索引

    对查询效率提升意义不大,如果索引为('id','name') 则大幅提升效率。

  • 相关阅读:
    跨域
    redis安装
    iframe操作
    element-ui 合并相邻的相同行 span-method
    函数实现 a?.b?.c?.d
    git 使用流程 命令
    svg用作背景图
    js中的位运算符 ,按位操作符
    二十三种设计模式[23]
    二十三种设计模式[22]
  • 原文地址:https://www.cnblogs.com/svennee/p/4080839.html
Copyright © 2011-2022 走看看