集合空间

概念

集合空间(CollectionSpace)是数据库中存放集合的物理对象。任何一个集合必须属于一个且仅一个集合空间。

集合空间名最大长度 127 字节,为 UTF-8 编码。一个集合空间中可以包含不超过 4096 个集合;每个数据节点可以包含不超过 16384 个集合空间。

每一个集合空间在数据节点均对应一个文件,文件名格式为“<集合空间名>.1”。

数据页

集合空间将文件划分为若干个固定大小的数据页(Page),在创建集合空间时用户可以指定数据页大小,且创建后不可更改。

每个数据节点中,单个集合空间可以访问 128M 个数据页。因此对应不同数据页大小,单分区中集合空间容量上限为:

数据页大小(字节)集合空间最大容量(GB)
4096512
81921024
163842048
327684096
655368192

Note:

  • 集合空间的数据页大小由创建集合空间时的属性 PageSize 指定
  • 更多集合空间的属性请参考 Sdb.createCS()

数据块

一个或多个数据页组成数据块。集合空间中的每个集合由零个或以上的数据块构成,每个数据块的大小由用户数据长度自动调整。集合中的文档不可跨多个数据块存放。

集合空间中的数据块存放方式如下图所示:

集合空间的数据块

图中显示了一个集合空间中的三个集合,分别用不同的颜色代表。每个集合所对应的数据存放在各自的数据页中。一个或多个数据页可以组成一个数据块,每个数据块中的数据连续,且文档不能跨越多个数据块。