/// 建立域,省去手工管理切分的麻烦,假如有三个数据组
db.createDomain("myDomain", ['datagroup1', 'datagroup2', 'datagroup3'], {AutoSplit:true} )
/// 建立cs,关联到域上
db.createCS('stormstore', {Domain:"myDomain"})
/// 建立主表
db.stormstore.createCL("main", {ShardingKey:{"time":-1}, IsMainCL:true})
/// 建立水平分区的子表,类型为hash分区.
/// 如果cl中不指定autosplit,则取域中的配置。我们在域中打开了autosplit。
/// 所以只要是分区的表都是自动切分。
db.stormstore.createCL("cl2015031201", {ShardingKey:{"_id":1}, ShardingType:"hash"})
/// attach cl
cl.attachCL("stormstore.cl2015031201",{LowBound:{time:2015031201},UpBound:{time:2015031202}})
/// 如果有按照时间精确查询的需求,创建一个索引. 已经attach进去的子表中会自动创建这个索引。
db.stormstore.mian.createIndex("time", {time:-1})
这样就能保证同一时间插入的记录分散到不同数据组上了。
手动敲的命令,可以看一下思路。