• SYSCOLLECTIONS 集合
    • 所属集合空间
    • 概念
      • 示例

    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. }