创建逻辑域:db.createDomain("company_domain", [ "group1", "group2", "group3" ], { AutoSplit: true } );
创建集合空间:db.createCS("company", { Domain: "company_domain" } );
创建集合:db.company.createCL("employee", { "ShardingKey": { "_id": 1 }, "ShardingType": "hash", "ReplSize": -1, "Compressed": true, "CompressionType": "lzw", "AutoSplit": true, "EnsureShardingIndex": false } );
写入1000条数据:
for (var i = 0; i < 1000; i++)
{
db.company.employee.insert( { empno: i, ename: "TEST", age: 20 } );
}
数据备份
全量备份:db.backup( { Name: "cluster_backup", Path: "/tmp/%g", Overwrite: true, Description: "full backup" } );
增量备份:db.backup( { Name: "cluster_backup", Path: "/tmp/%g", EnsureInc: true } );
查看备份信息:db.listBackup( { Path: "/tmp" } );
数据恢复
全量恢复:
停止全部节点:sdbstop -t all
执行全量恢复:
sdbrestore -p /tmp/SYSCatalogGroup/ -n cluster_backup -b 0 -i 0
sdbrestore -p /tmp/group1/ -n cluster_backup -b 0 -i 0
sdbrestore -p /tmp/group2/ -n cluster_backup -b 0 -i 0
sdbrestore -p /tmp/group3/ -n cluster_backup -b 0 -i 0
启动节点:sdbstart -t all
增量恢复:
停止全部节点:sdbstop -t all
增量恢复操作:
sdbrestore -p /tmp/group1/ -n cluster_backup -b -1
sdbrestore -p /tmp/group2/ -n cluster_backup -b -1
sdbrestore -p /tmp/group3/ -n cluster_backup -b -1
启动节点:sdbstart -t all