
# 规划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（年）\* 53 (分区) \* （TTimePartitionSlot size + TSeriesPartitionSlot size + TConsensusGroupId size）= 0.68G
  
- IoTDBServer容量规格 IoTDB中数据以region分配在IoTDBServer上，region副本数默认是"3"，最终在IoTDBServer文件系统上表现为3个文件。上限为操作系统可存储文件个数最大值，对于Linux系统即是inode个数。
  
 
