SCADAシステムからCrateDB(4年、複数のCSVファイル、約87GB、数十億のデータポイント/行)にデータの束をロードしようとしました。timeseries insert performance
現在、データの書き込みは遅いです。行を挿入する速度をどのように改善できますか?私はcrate JDBCドライバを使用しており、すでにJDBCの一括挿入を使用しています。私のシステムで
私だけInfluxDBと同じマシン上秒あたり約1500の値(8ギガバイトのRAM、4ギガバイトのヒープ、5x7kディスクとRAID 10)
をロードすることができ、同じで(ロードすることが可能ですクライアントプログラムですが、JDBCでは使用できません) 1秒あたりの値!
私はクレートでは80kHzは期待していませんが、うまくいけば1.5kHz以上、20kHzでもかまいません。データの読み込みには数日から数週間かかります。
私のDBテーブルは以下のようになります。
CREATE TABLE EVENTHISTORY (
tag string NOT NULL,
ts TIMESTAMP NOT NULL,
value_number double INDEX OFF,
value_string string INDEX OFF,
value_timestamp TIMESTAMP INDEX OFF,
status long INDEX OFF,
manager integer INDEX OFF,
user_ integer INDEX OFF,
primary key (tag, ts)
);
私は、主キーを削除しようとしたが、それは問題ではありません。
私は、8kバルク(1バルク= 8096行)でデータを書き込むために、複数のスレッド(4〜16、違いなし)を使用します。
私はJDBC接続プールorg.apache.commons.dbcp2.BasicDataSourceを使用します。
CrateDBの書き込み速度を向上させるにはどうすればよいですか?
私はちょうど1つのノードを使用し、最後のドッカーはテストのために引っ張ります。私は同じマシンでElasticsearchで同じことを試し、約15kHzを達成しました。 COPY FROM、ありがとう、良い音、そのテストを行う時間を見つけることを願っています。 –