This is the interface for the FeatureIndex backend,
when FeatureIndex uses non-clustered index (ie data and data index are separate).
It offers a generic contract,
in order to allow different implementation
on how the data is actually stored
(eg.
Records information about queries,
in order to be able to tell to a DataCache if the data requested
are already known, or else what data should be asked for to the source DataStore.