You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "Xinyu Tan (Jira)" <ji...@apache.org> on 2021/03/16 06:42:00 UTC

[jira] [Created] (IOTDB-1236) Improve jdbc performance for creating timeseries in cluster module

Xinyu Tan created IOTDB-1236:
--------------------------------

             Summary: Improve jdbc performance for creating timeseries in cluster module
                 Key: IOTDB-1236
                 URL: https://issues.apache.org/jira/browse/IOTDB-1236
             Project: Apache IoTDB
          Issue Type: Improvement
          Components: Core/Cluster
            Reporter: Xinyu Tan


Currently, createMultiTimeseriesPlan is a little faster than createTimeseriesPlan creating an equal number of timeseries in stand-alone iotdb, as there will always be a for loop to execute the opeartions one by one in one process. But createMultiTimeseriesPlan is much faster than createTimeseriesPlan in cluster module as the former will produce only one ,two or three raftlogs according to the data groups ,but the latter will produce one raftlog for one createTimeseriesPlan, which caused a lot of unnecessary overhead. 

In current jdbc's implementation, the executeBatch function will batch transfer many statements to server to save network overhead. If one of the statements is a insert statement, we has made a optimization, which is adding it to a  insertRowsPlan and let cluster module figure out , however if the statement is a createtimeseries statement, we now will generate a createTimeseriesPlan for each statement to perform, in fact we want to use CreateMultiTimeseriesPlan to optimize the performance in cluster module.

The cluster module already has the ability to produce raftlogs according to the data groups
.so we may only need to change some code in executeBatchStatement function in TSServiceImpl.java




--
This message was sent by Atlassian Jira
(v8.3.4#803005)