You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@iotdb.apache.org by Trevor Hart <tr...@ope.nz> on 2022/06/06 00:46:03 UTC

JDBC vs Java API

Hello Team



Does anyone have any published benchmark results of JDBC vs the Java API?



Firstly Im aware of https://github.com/thulab/iotdb-benchmark but I dont see any published results for the various API methods.



I currently use JDBC for my non-realtime ingestion of data and while Ive never encountered any bottle necks I am aware that the documentation says that JDBC is not recommended for high velocity data.



Ive done some very basic ingestions benchmarking tests of inserting 1 million rows and the Java API is around 2x faster. Is this the typical improvement between JDBC and Java API?



For my simplistic test I am inserting 1 millions rows of timestamp & incrementing row id eg  insert into root.sg1.d1(timestamp,s1) values(${DateTime.Now}, ${n})



With JDBC I get around 6000 rows per second.



With the Java native API I get around 12000 rows per second using session.executeNonQueryStatement.



I assume insertTablets and insertRecord(s) would be even faster?



Thanks

Trevor Hart

Re: JDBC vs Java API

Posted by Xiangdong Huang <sa...@gmail.com>.
Qingxin's chart shows the performance difference clearly.
In most case,    insertTablet  > insertRecords > insertRecord > JDBC.

-----------------------------------
Xiangdong Huang
School of Software, Tsinghua University

 黄向东
清华大学 软件学院


冯 庆新 <qi...@hotmail.com> 于2022年6月6日周一 08:57写道:

> Hello Trevor Hart
>
> Can you access this web link:
> http://111.202.73.147:13000/d/5ZvuEYE7z/atm-biao-zhun-da-qi-ya-huan-jing?orgId=1&viewPanel=26
> Is this one ok?
>
> Config items in benchmark:
> DB_SWITCH=IoTDB-013-JDBC  / SESSION_BY_TABLET / SESSION_BY_RECORDS /
> SESSION_BY_RECORD
> GROUP_NUMBER=10
> LOOP=1000
> DEVICE_NUMBER=50
> SENSOR_NUMBER=500
> BATCH_SIZE_PER_WRITE=100
> POINT_STEP=1000
> OP_INTERVAL=0
> IS_OUT_OF_ORDER=false
>
> B.R
> qingxin.feng
>
>
> 发件人: Trevor Hart<ma...@ope.nz>
> 发送时间: 2022年6月6日 8:46
> 收件人: dev<ma...@iotdb.apache.org>
> 主题: JDBC vs Java API
>
> Hello Team
>
>
>
> Does anyone have any published benchmark results of JDBC vs the Java API?
>
>
>
> Firstly Im aware of https://github.com/thulab/iotdb-benchmark but I dont
> see any published results for the various API methods.
>
>
>
> I currently use JDBC for my non-realtime ingestion of data and while Ive
> never encountered any bottle necks I am aware that the documentation says
> that JDBC is not recommended for high velocity data.
>
>
>
> Ive done some very basic ingestions benchmarking tests of inserting 1
> million rows and the Java API is around 2x faster. Is this the typical
> improvement between JDBC and Java API?
>
>
>
> For my simplistic test I am inserting 1 millions rows of timestamp &
> incrementing row id eg  insert into root.sg1.d1(timestamp,s1)
> values(${DateTime.Now}, ${n})
>
>
>
> With JDBC I get around 6000 rows per second.
>
>
>
> With the Java native API I get around 12000 rows per second using
> session.executeNonQueryStatement.
>
>
>
> I assume insertTablets and insertRecord(s) would be even faster?
>
>
>
> Thanks
>
> Trevor Hart
>
>

回复: JDBC vs Java API

Posted by 冯 庆新 <qi...@hotmail.com>.
Hello Trevor Hart

Can you access this web link: http://111.202.73.147:13000/d/5ZvuEYE7z/atm-biao-zhun-da-qi-ya-huan-jing?orgId=1&viewPanel=26
Is this one ok?

Config items in benchmark:
DB_SWITCH=IoTDB-013-JDBC  / SESSION_BY_TABLET / SESSION_BY_RECORDS / SESSION_BY_RECORD
GROUP_NUMBER=10
LOOP=1000
DEVICE_NUMBER=50
SENSOR_NUMBER=500
BATCH_SIZE_PER_WRITE=100
POINT_STEP=1000
OP_INTERVAL=0
IS_OUT_OF_ORDER=false

B.R
qingxin.feng


发件人: Trevor Hart<ma...@ope.nz>
发送时间: 2022年6月6日 8:46
收件人: dev<ma...@iotdb.apache.org>
主题: JDBC vs Java API

Hello Team



Does anyone have any published benchmark results of JDBC vs the Java API?



Firstly Im aware of https://github.com/thulab/iotdb-benchmark but I dont see any published results for the various API methods.



I currently use JDBC for my non-realtime ingestion of data and while Ive never encountered any bottle necks I am aware that the documentation says that JDBC is not recommended for high velocity data.



Ive done some very basic ingestions benchmarking tests of inserting 1 million rows and the Java API is around 2x faster. Is this the typical improvement between JDBC and Java API?



For my simplistic test I am inserting 1 millions rows of timestamp & incrementing row id eg  insert into root.sg1.d1(timestamp,s1) values(${DateTime.Now}, ${n})



With JDBC I get around 6000 rows per second.



With the Java native API I get around 12000 rows per second using session.executeNonQueryStatement.



I assume insertTablets and insertRecord(s) would be even faster?



Thanks

Trevor Hart