创建时间系列容器

通过使用 TSContainerCreate 过程创建容器。

请参阅 TSContainerCreate 过程以获取 TSContainerCreate 的完整描述。TSContainerCreate 过程使用容器名称、数据库空间名称、时间系列类型名称、容器大小和增长增量大小的参数。想要使用的数据库空间必须已经存在。请参阅《GBase 8s 管理员指南》以获取有关数据库空间的更多信息。

以下示例在 containerdbs 空间中为时间系列类型 stock_bar 创建名为 new_cont 的容器:
execute procedure TSContainerCreate('new_cont', 'containerdbs','stock_bar', 0, 0);

同一个容器可以包含多个时间系列,但这些时间系列必须具有相同的类型(规则或不规则)。

可以使用 SetContainerName 函数将时间系列复制到新容器(请参阅 SetContainerName 函数)。

设置容器的大小

使用 TSContainerCreate 函数的 container_size 参数设置容器的初始大小。要确定容器的初始大小,请将以下两个估计值相加:
  • 初始装入的时间系列数据量(缺省大小 16 KB 对于许多时间系列应用程序来说太小)
  • 考虑到用于管理容器的系统开销,额外需要的估计值的 2% 到 15%

容器大小的唯一限制是数据库空间中允许的最大空间量,当前为 32 GB。一个数据库空间中的所有容器占用的总空间不能超过这个总量。

设置容器增长增量

使用 TSContainerCreate 函数的 container_grow 参数设置容器可以增长的增量大小。应该确定初始容器大小,以最大程度减少表增长所需要的附加扩展数据块数。应该计算容器增长大小,以分配有限数量的附加扩展数据块。容器增长增量的缺省值是 16 KB。

最大程度地提高性能

为了实现最佳性能:
  • 每个磁盘仅使用一个容器。
  • 如果可能,将更新限制为每个容器一个用户。
  • 将每个容器放入不同的数据库空间。(不这样做将导致一个写程序一直等待另一个写程序完成)。

表可以包含存储在不同容器中的 TimeSeries 列。这可提高包含多个 TimeSeries 列的表的性能,例如,当容器位于不同的磁盘上时。