> db.pushCS.createCL("cmmobi_push_userinfo", {ShardingKey: {"PRODUCTID":-1, "USERID":-1, "DEVID":-1}, ShardingType:"hash"})
> db.pushCS.cmmobi_push_userinfo.createIndex("CREATETS", {CREATETS:1})
> db.pushCS.cmmobi_push_userinfo.createIndex("KEY", {"PRODUCTID":-1, "USERID":-1, "DEVID":-1})
这是这个集合的索引表:
我的分区键是{"PRODUCTID":-1,"USERID":-1,"DEVID":-1},分区类型是hash
区间分布是:
|
| [ - ] group2
[table=98%]
[tr][td=50%]下界 |
| {"PRODUCTID":0} |
[/td][/tr]
[tr][td=6,1][ - ] group3
[/td][/tr]
[tr][td=6,1][ - ] group1
[/td][/tr]
[/table]
group1,group2,group3是采用单副本,相互独立的结点。
> db.pushCS.cmmobi_push_userinfo.insert({PRODUCTID:"p1", USERID:"u1", DEVID:"d1", CREATETS:"1431394607001"})
我插入一条数据后,是如何分区的,是把这三个字段拼接成一个大字符串再做hash还是什么其他策略。
我怎么查看该记录落在哪一个分区中?
另外,再问一个问题:
编目节点中包含4个集合空间,SYSCAT又包含4个系统集合,例如其中之一是 SYSCOLLECTIONS
我怎么查看和修改这些集合?