Uploaded image for project: 'Apache IoTDB'
  1. Apache IoTDB
  2. IOTDB-1236

Improve jdbc performance for creating timeseries in cluster module

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Core/Cluster

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tanxinyu Xinyu Tan
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: