集合
概念
集合 (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()
其他相关
在分布式集群中,集合一般需要结合数据分区使用。详情请参考数据分区章节,以了解更多内容。