集合

概念

集合 (Collection) 又称为表 (Table) ,是数据库中存放记录的逻辑对象。任何一条记录属于且仅属于一个集合。集合由 <集合空间名>.<集合名> 作为唯一标示。其中集合名最大长度为 127 字节,且需为 UTF-8 编码。一个集合可以包含零条或者多条记录(上限为集合空间大小)。

属性

在集群环境下,每个集合拥有除名称外的以下属性:

属性名描述
分区键(ShardingKey)指定集合的分区键,集合中所有的记录将分区键中指定的字段作为分区信息,分别存放在所对应的分区中
分区类型(ShardingType)指定集合的分区类型:范围分区(”range”)或散列分区(”hash”)
分区数(Partition)仅当选择 hash 分区时填写,代表了 hash 分区的个数
写副本数(ReplSize)指定该集合默认的写副本数
数据压缩(Compressed)标示新集合是否开启数据压缩功能
压缩算法(CompressionType)压缩算法类型
主子表(IsMainCL)标示新集合是否为主分区集合
自动切分(AutoSplit)标示新集合是否开启自动切分功能
集合属组(Group)指定新集合将被创建到哪个复制组
$id 索引(AutoIndexId)标示新集合是否自动使用 _id 字段创建名字为 “$id” 的唯一索引
$shard 索引(EnsureShardingIndex)标示集合是否自动使用 ShardingKey 包含的字段创建名字为 “$shard” 的索引
严格数据模式(StrictDataMode)标示对该集合的操作是否开启严格数据类型模式
自增字段(AutoIncrement)自增字段

Note:

关于更多的集合属性及属性的取值,可以参考 SdbCS.createCL()

其他相关

在分布式集群中,集合一般需要结合数据分区使用。详情请参考数据分区章节,以了解更多内容。