更新时间:2024-11-29 GMT+08:00

规划IoTDB容量

IoTDB自身有多副本机制,region(schema region和data region)默认是3副本。ConfigNode上保存region和IoTDBServer的映射关系,IoTDBServer保存region数据,直接使用操作系统自身的文件系统来管理元数据和数据文件。

容量规格

  • ConfigNode容量规格

    当创建新的存储组时,IoTDB默认为该存储组分配10000个槽位,数据写入时根据写入的设备名和时间值,分配或创建一个data region并挂载在某个槽位上。所以ConfigNode的内存容量占用跟存储组个数和该存储组持续写入的时间相关。

    槽位分配相关对象

    对象大小(字节)

    TTimePartitionSlot

    4

    TSeriesPartitionSlot

    8

    TConsensusGroupId

    4

    根据上表计算可得一个ConfigNode,如果创建一个存储组,持续运行10年,大约需要0.68G内存 :

    10000(槽位) * 10(年)* 365 (分区) * (TTimePartitionSlot size + TSeriesPartitionSlot size + TConsensusGroupId size)= 0.68G

  • IoTDBServer容量规格

    IoTDB中数据以region分配在IoTDBServer上,region副本数默认是“3”,最终在IoTDBServer文件系统上表现为3个文件。上限为操作系统可存储文件个数最大值,对于Linux系统即是inode个数。