SYSCOLLECTIONS 集合

所属集合空间

SYSCAT

概念

SYSCAT.SYSCOLLECTIONS 集合中包含了该集群中所有的用户集合信息。每个用户集合保存为一个文档。

每个文档包含以下字段:

字段名类型描述
Name字符串集合的完整名,为<集合空间>.<集合名>形式。
Version整数集合的版本号,由1起始,每次对该集合的元数据变更会造成版本号+1。
IsMainCL布尔型表示集合是否为垂直分区中的主表。
MainCLName字符串指示集合在垂直分区中的主表。
ReplSize整数最小复制组,确保任何写操作必须被复制到至少指定数量的节点后返回成功。
ShardingKey对象分区键,在分区集合中存在。对象包含一个或多个字段,字段名为分区字段名,数值为1或者-1,代表对该列正向或逆向排序。
ShardingType字符串分区类型,在分区集合中存在。分区类型有:范围分区(Range)和散列分区(Hash)两种。
Partition整数散列分区的分区大小值,必须为2的幂。
CataInfo数组集合所在的逻辑节点信息:
在单分区集合中,该数组仅包含一个元素,代表该集合所在的分区组。
在多分区集合中,该数组中包含一个或多个元素,代表该集合中的每一个取值范围所在的分区组。每个取值范围包括 LowBound 与UpBound,代表其下限与上限,闭合关系为左闭右开。
在主表集合中,该数组中包含一个或多个元素,代表该集合中的每一个取值范围所在的子表。每个取值范围包括 LowBound 与UpBound,代表其下限与上限,闭合关系为左闭右开。
Attribute整数集合的内部属性掩码
AttributeDesc字符串集合的内部属性掩码描述
CompressionType整数压缩算法类型掩码
CompressionTypeDesc字符串压缩算法类型掩码描述
EnsureShardingIndex布尔型标识集合是否自动使用ShardingKey包含的字段创建名字为”$shard”的索引

示例

一个典型的单分区集合信息如下:

  1. { "Name" : "test.foo", "Version" : 1, "CataInfo" : [ { "GroupID" : 1000 } ] }

一个典型的多分区集合信息如下:

  1. {
  2. "Name" : "foo.test",
  3. "Version" : 1,
  4. "ShardingKey" : { "Field1" : 1, "Field2" : -1 },
  5. "ShardingType" : "range" ,
  6. "ReplSize": 3,
  7. "Attribute": 0,
  8. "AttributeDesc": "",
  9. "CataInfo" :
  10. [
  11. {
  12. "GroupID" : 1000,
  13. "LowBound" : { "" : MinKey, "" : MaxKey },
  14. "UpBound" : { "" : MaxKey, "" : MinKey }
  15. }
  16. ]
  17. }