Tian Jiang created IOTDB-1410:
---------------------------------

             Summary: Adaptive TimeIndex
                 Key: IOTDB-1410
                 URL: https://issues.apache.org/jira/browse/IOTDB-1410
             Project: Apache IoTDB
          Issue Type: Improvement
          Components: Core/Engine
            Reporter: Tian Jiang


TimeIndex is a map from a prefix path to a timestamp, which serves two purposes 
in IoTDB: 1. it works as a borderline between seq and unseq data (it is not 
actually applied but it is an ideal data structure for this job); 2. it records 
the time range of data in a TsFile (in TsFileResource).

Currently, we have two implementations of TimeIndex: DeviceTimeIndex, which 
takes the deviceId (time-series path excluding the last level) of time-series 
as keys; FileTimeIndex, which uses the storage group name as keys (as SG names 
can be inferred from the context, it does not really record them). And we are 
planning to have SeriesTimeIndex, whose key is the full path of timeseries.

Either solution is a non-dynamic one that has its own limitations. When there 
are too many devices or time-series, DeviceTimeIndex and SeriesTimeIndex become 
infeasible as the number of keys is enormous and the index will be too 
memory-consuming. While when using FileTimeIndex, the files cannot be 
efficiently filtered when time series are distributed unevenly.

The ideal solution should be able to restrain the memory footprint to a given 
budget while maximizing the filtering ability of the structure.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to