Hi guys,
    Recently, I've been working on a new feature called "Multiple Directories". 
    Currently, the total data storage of one single IoTDB instance is limited 
by the total data storage of one single disk, which prevents IoTDB storage 
expansion.  Moreover, users are unable to add new disks when current disk is 
full, which is unacceptable in production environment. 
    Therefore, "Multiple Directories" intends to enable IoTDB to be configured 
with multiple directories which can be with different disks. All the 
directories is managed by a class called "Directories". When a new tsfile is 
created, IoTDB requests a new directory from "Directories", which is 
dynamically selected from all the configured directories based on the 
configured strategy.
    At present, three strategies are included:
        1. SequenceStrategy: all directories will be selected in order;
        2. MaxDiskUsableSpaceFirstStrategy: prefer the directory with the 
largest free space on the disk;
        3. MinFolderOccupiedSpaceFirstStrategy: prefer the directory where the 
disk has the smallest footprint.
        In addition, all directories with full disk will be ignored, and 
DiskSpaceInsufficientException will be thrown if all disks are full. The 
default strategy is MaxDiskUsableSpaceFirstStrategy, and users are able to add 
customized strategy by implementing DirectoryStrategy interface and set the 
full class path in the config file.

    This feature is implemented in PR#190 
https://github.com/apache/incubator-iotdb/pull/190 
<https://github.com/apache/incubator-iotdb/pull/190> , and UTs are added in 
PR#197 https://github.com/apache/incubator-iotdb/pull/197 
<https://github.com/apache/incubator-iotdb/pull/197> .

——————————————————
Dongfang Mao
maod...@mails.tsinghua.edu.cn




Reply via email to