mongodb 系列~ 分片方法

一 分片方法
    1 范围分片-id,date类
定义:基数大 频率低 非单调变化
       分析:存储倾斜,查询范围数据方便
   2 Hash 分片-订单号,uuid等类
定义:应该有良好的基数或者该字段包含大量不同的值-防止出现数据倾斜
分析:存储分散,查询单条数据方便
  3 联合分片-随机值+范围值组成的联合索引
分析:适合复杂场景
二 场景问题
   1 片键一旦经过指定就不能进行更新和在线变更,而且本身为(必须为单列或者联合)唯一索引
   2 执行任何操作都要带上片键
   3 对于count(*)不准或者要执行group by操作的语句,可以采用aggreagte操作实
三 ticket
  tiket是控制mongo wt引擎最高读写并发的参数
  1 db.serverStatus().wiredTiger.concurrentTransactions 查看读写Tickets剩余可用量 默认总量为128
  2 db.adminCommand( { setParameter: 1, wiredTigerConcurrentRead/WriteTransactions: xx } ) 调节读写Tickets的总量

 

 
 
 

posted @ 2021-02-22 17:16  开心的蛋黄派  阅读(587)  评论(0)    收藏  举报