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)