1

私が働いているエンジニアリング会社のプロジェクトでは、Timescaledb を利用して実験結果を保存したいと考えています。最高の読み取りパフォーマンスを実現する db スキーマを見つけようとしています。私のユースケースでは、いくつかの実験のためにいくつかのセンサーログを収集します。各実験の時間は 0 から始まります。初心者の考えから、いくつかのオプションがあると思います。

1- 各実験には独自のテーブルがあります。テーブルには、使用されるセンサーの数と同じ数の列があります。きっと、これはひどい解決策です。

2- 各センサーには独自のテーブルがあります。値と実験を識別する ID の 2 つの列を持つことを考えています。テーブル名はセンサーの名前になります。このテーブルでは、各実験時間が 0 から始まるため、多くの時間重複があります。

これらのソリューションのいずれかが実際にうまくいくかどうかはわかりません。どのようなスキーマを使用すればよいですか?

前もって感謝します、

グイド

Update1: これは、私が現在テストしているスキーマです。 ここに画像の説明を入力

約 10 回のテスト (100Hz で記録された数百のセンサー) からデータをロードした後、Ch_Values テーブルには既に 1 億 8000 万行があり、クエリは非常に遅くなります。ch_index、run_index、および time にインデックスを追加したところ、指数関数的に改善されました。これはたったの〜10回のテストです。実際には、データベースには何百ものテストが含まれます。これらのデータを効率的に保存する方法について何か提案はありますか?

4

0 に答える 0