1.student表和class表均采用多维分区模式(水平+垂直);
2.创建的数据表中student是snappy压缩,class是lzw压缩;
第一步:创建域
db.createDomain("testdomain3",["datagroup1","datagroup2","datagroup3"],{AutoSplit:true});
第二步:查看所有域
db.listDomains()
第三步:创建student表(使用snappy压缩)
//创建集合空间
db.createCS("pratice3",{Domain:"testdomain3"})
//创建主表
db.pratice3.createCL("student",{IsMainCL:true,ShardingKey:{sid:1},ShardingType:"range",Compressed:true,CompressionType:"snappy"})
//创建子表
db.pratice3.createCL("student1",{ShardingType:"hash",ShardingKey:{sid:1},Compressed:true,CompressionType:"snappy"});
db.pratice3.createCL("student2",{ShardingType:"hash",ShardingKey:{sid:1},Compressed:true,CompressionType:"snappy"});
db.pratice3.createCL("student3",{ShardingType:"hash",ShardingKey:{sid:1},Compressed:true,CompressionType:"snappy"});
//在主表下挂载子分区集合
db.pratice3.student.attachCL("pratice3.student1",{LowBound:{sid:1},UpBound:{sid:500}});
db.pratice3.student.attachCL("pratice3.student2",{LowBound:{sid:501},UpBound:{sid:1000}});
db.pratice3.student.attachCL("pratice3.student3",{LowBound:{sid:1001},UpBound:{sid:1500}});
第四步:创建class表(使用lzw压缩)
//创建主表(采用lzw压缩)
db.pratice3.createCL("class",{IsMainCL:true,ShardingKey:{cid:1},ShardingType:"range",Compressed:true,CompressionType:"lzw"});
//创建子表(采用lzw压缩)
db.pratice3.createCL("class1",{ShardingType:"hash",ShardingKey:{cid:1},Compressed:true,CompressionType:"lzw"});
db.pratice3.createCL("class2",{ShardingType:"hash",ShardingKey:{cid:1},Compressed:true,CompressionType:"lzw"});
db.pratice3.createCL("class3",{ShardingType:"hash",ShardingKey:{cid:1},Compressed:true,CompressionType:"lzw"});
//在主表下挂载子分区集合
db.pratice3.class.attachCL("pratice3.class1",{LowBound:{cid:1},UpBound:{cid:500}});
db.pratice3.class.attachCL("pratice3.class2",{LowBound:{cid:501},UpBound:{cid:1000}});
db.pratice3.class.attachCL("pratice3.class3",{LowBound:{cid:1001},UpBound:{cid:1500}});