我嘗試從我的SCADA系統向CrateDB(4年,多個CSV文件,大約87GB,幾十億個數據點/行)加載一堆數據。時間序列插入性能
寫入數據目前很慢。我怎樣才能提高插入行的速度?我使用crate JDBC驅動程序,並且我已經使用JDBC批量插入。
在我的系統只能加載每秒約1500個值(8GB RAM,4GB堆,與5x7k磁盤RAID 10)
在同一臺機器InfluxDB能夠加載(使用相同的客戶端程序,但不包含JDBC)約每秒值!
我不希望80kHz與箱子,但希望超過1.5kHz,20kHz是可以接受的。加載數據需要幾天或幾周的時間。
我的數據庫表看起來像這樣:
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)
);
我試圖刪除主鍵,但沒關係。我使用多個線程(4到16,沒有區別)在8k大塊(一個大塊= 8096行)中寫入數據。
對於線程我使用JDBC連接池org.apache.commons.dbcp2.BasicDataSource;
如何提高CrateDB的寫入速度?
我只使用單個節點和最新的docker pull進行測試。我在同一臺機器上嘗試了Elasticsearch,達到了15kHz左右。 COPY FROM,謝謝,聽起來不錯,希望有時間做這個測試。 –