問題タブ [timescaledb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - OSM データの保存に timesceledb を使用している場合の取り込み率の低下
私の修士論文では、タイムスケールと postgis を組み合わせることで、OSM データに対する PostgreSQL データベースのパフォーマンスが向上することを証明する課題があります。ヨーロッパの OSM データ (1 億行の CSV ファイル) を含むデータセットを用意しました。従来の postgresql データベースでそのデータの COPY を開始すると、取り込み速度は約 200k 行/秒です。タイムスケール ハイパーテーブル内でコピーすると、取り込み速度が 100k 行/秒未満になります。その結果は期待されていません。私の質問は、なぜそれが起こっているのですか? 何か設定する必要がありますか?おそらく問題は、2006 年から 2019 年までの osm タイムスタンプの不均一性です。
従来の postgresql テーブルに保存する場合:
timescaledb テーブルに保存する場合:
従来の postgresql での保存時のパフォーマンス:
タイムスケール ハイパーテーブルに保存する際のパフォーマンス:
postgresql - エンジニアリング データの Timescaledb スキーマを設計する方法
私が働いているエンジニアリング会社のプロジェクトでは、Timescaledb を利用して実験結果を保存したいと考えています。最高の読み取りパフォーマンスを実現する db スキーマを見つけようとしています。私のユースケースでは、いくつかの実験のためにいくつかのセンサーログを収集します。各実験の時間は 0 から始まります。初心者の考えから、いくつかのオプションがあると思います。
1- 各実験には独自のテーブルがあります。テーブルには、使用されるセンサーの数と同じ数の列があります。きっと、これはひどい解決策です。
2- 各センサーには独自のテーブルがあります。値と実験を識別する ID の 2 つの列を持つことを考えています。テーブル名はセンサーの名前になります。このテーブルでは、各実験時間が 0 から始まるため、多くの時間重複があります。
これらのソリューションのいずれかが実際にうまくいくかどうかはわかりません。どのようなスキーマを使用すればよいですか?
前もって感謝します、
グイド
Update1: これは、私が現在テストしているスキーマです。
約 10 回のテスト (100Hz で記録された数百のセンサー) からデータをロードした後、Ch_Values テーブルには既に 1 億 8000 万行があり、クエリは非常に遅くなります。ch_index、run_index、および time にインデックスを追加したところ、指数関数的に改善されました。これはたったの〜10回のテストです。実際には、データベースには何百ものテストが含まれます。これらのデータを効率的に保存する方法について何か提案はありますか?
timescaledb - TimescaleDB で適切な時間チャンクを選択する
ほとんどの場合、データがプッシュされるシステムでms
は、使用するタイムバケットの最適なサイズはどれくらいですか?
通常、クエリはデータのサブセットのみに対して作成され (キーによって異なります)、数分から数時間に及びます。