H5TB APIを使用して、(等距離ではない)時系列をhdf5ファイルのテーブルとして保存します。フォーマットは次のようになります。
time channel1 channel2
0.0 x x
1.0 x x
2.0 x x
次のような「詳細データ」の挿入もあります。
time channel1 channel2
0.0 x x
1.0 x x
1.2 x x
1.4 x x
1.6 x x
1.8 x x
2.0 x x
ここで、データを別のデータ形式で保存したいので、次のように hdf5 ファイルを「クエリ」します。
select ch1 where time > 1.6 && time < 3.0
このクエリを実行する方法をいくつか考えました。
- B-Tree インデックスと呼ばれる機能が組み込まれています。これをデータの索引付けに使用できますか?
- 時間チャネルでバイナリ検索を実行してから、チャネル値を読み取る必要があります
- 私は自分でインデックスを作成します (詳細が挿入されるたびに更新します)。ここで使用するのに最適なアルゴリズムは何ですか?
インデックスの主な動機は、クエリの応答を高速にすることです。
ここで何を提案しますか?