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') 则大幅提升效率。

  • 相关阅读:
    Zabbix5 Frame 嵌套
    Zabbix5 对接 SAML 协议 SSO
    CentOS7 安装 Nexus
    CentOS7 安装 SonarQube
    GitLab 后台修改用户密码
    GitLab 查看版本号
    GitLab Admin Area 500 Error
    Linux 安装 PostgreSQL
    Liger ui grid 参数
    vue.js 是一个怪东西
  • 原文地址:https://www.cnblogs.com/svennee/p/4080839.html
Copyright © 2011-2022 走看看