集合(Collection)又称为表(Table),是数据库中存放记录的逻辑对象。任何一条记录属于且仅属于一个集合。集合由“<集合空间名>.<集合名>”作为唯一标示,其中集合名最大长度为 127 字节,且需为 UTF-8 编码。一个集合可以包含零条或者多条记录(上限为集合空间大小)。
在集群环境下,每个集合拥有除名称外的以下属性:
| 属性名 | 描述 | 
|---|---|
| 分区键(ShardingKey) | 指定集合的分区键,集合中所有的记录将分区键中指定的字段作为分区信息,分别存放在所对应的分区中 | 
| 分区类型(ShardingType) | 指定集合的分区类型:范围分区(range)或散列分区(hash) | 
| 分区数(Partition) | 仅当选择散列分区时填写,代表了散列分区的个数 | 
| 写副本数(ReplSize) | 指定该集合默认的写副本数 | 
| 数据压缩(Compressed) | 指定新集合是否开启数据压缩功能 | 
| 压缩算法(CompressionType) | 压缩算法类型 | 
| 主子表(IsMainCL) | 指定新集合是否为主分区集合 | 
| 自动切分(AutoSplit) | 指定新集合是否开启自动切分功能 | 
| 集合属组(Group) | 指定新集合将被创建到哪个复制组 | 
| $id 索引(AutoIndexId) | 指定新集合是否自动使用 _id 字段创建名字为"$id"的唯一索引 | 
| $shard 索引(EnsureShardingIndex) | 指定集合是否自动使用 ShardingKey 包含的字段创建名字为"$shard"的索引 | 
| 严格数据模式(StrictDataMode) | 指定对该集合的操作是否开启严格数据类型模式 | 
| 自增字段(AutoIncrement) | 自增字段 | 
Note:
关于集合属性及属性的取值可参考 SdbCS.createCL()。
在分布式集群中,集合一般需要结合数据分区使用,详情可参考数据分区章节。
