HTHou commented on a change in pull request #2601: URL: https://github.com/apache/iotdb/pull/2601#discussion_r579568912
########## File path: docs/UserGuide/Comparison/TSDB-Comparison.md ########## @@ -284,101 +284,91 @@ It is somehow right. But, if you consider the performance, you may change your m #### quick review -Given a workload: - * Write: -10 clients write data concurrently. The number of storage group is 50. There are 1000 devices and each device has 100 measurements (i.e.,, 100K time series totally). -The data type is float and IoTDB uses RLE encoding and Snappy compression. -IoTDB uses batch insertion API and the batch size is 100 (write 100 data points per write API call). +We test the performance of writing from two aspects: *batch size* and *client num*. The number of storage group is 10. There are 1000 devices and each device has 100 measurements(i.e.,, 100K time series total). * Read: -50 clients read data concurrently. Each client just read data from 1 device with 10 measurements in one storage group. +10 clients read data concurrently. The number of storage group is 10. There are 10 devices and each device has 10 measurements (i.e.,, 100 time series total). +The data type is *double*, encoding type is *GORILLA* -IoTDB is v0.9.0. +The IoTDB version is v0.11.1. **Write performance**: -We write 112GB data totally. +* batch size: + +10 clients write data concurrently. +IoTDB uses batch insertion API and the batch size is distributed from 1ms to 1min (write N data points per write API call). The write throughput (points/second) is: - -<span id = "exp1"> <center>Figure 1. Write throughput (points/second) IoTDB v0.9</center></span> + +<span id = "exp1"> <center>Figure 1. Batch Size with Write throughput (points/second) IoTDB v0.11.1</center></span> + +The write delay (ms) is: -The disk occupation is: + +<center>Figure 2. Batch Size with Write Delay (ms) IoTDB v0.11.1</center> - -<center>Figure 2. Disk occupation(GB) IoTDB v0.9</center> +* client num: + +client num is distributed from 1 to 50. +IoTDB uses batch insertion API and the batch size is 100 (write 100 data points per write API call). + +The write throughput (points/second) is: + + +<center>Figure 3. Client Num with Write Throughput (points/second) IoTDB v0.11.1</center> **Query performance** - -<center>Figure 3. Aggregation query time cost(ms) IoTDB v0.9</center> + +<center>Figure 4. Raw data query 1 col time cost(ms) IoTDB v0.11.1</center> + + +<center>Figure 6. Aggregation query time cost(ms) IoTDB v0.11.1</center> + + +<center>Figure 7. Downsampling query time cost(ms) IoTDB v0.11.1</center> + + +<center>Figure 8. Latest query time cost(ms) IoTDB v0.11.1</center> We can see that IoTDB outperforms others. #### More details We provide a benchmarking tool, called IoTDB-benchamrk (https://github.com/thulab/iotdb-benchmark, you may have to use the dev branch to compile it), -it supports IoTDB, InfluxDB, KairosDB, TimescaleDB, OpenTSDB. We have a [article](https://arxiv.org/abs/1901.08304) for comparing these systems using the benchmark tool. +it supports IoTDB, InfluxDB, KairosDB, TimescaleDB, OpenTSDB. We have an [article](https://arxiv.org/abs/1901.08304) for comparing these systems using the benchmark tool. When we publish the article, IoTDB just entered Apache incubator, so we deleted the performance of IoTDB in that article. But after comparison, some results are presented here. -- **IoTDB: 0.8.0**. (notice: **IoTDB v0.9 outperforms than v0.8**, the result will be updated once experiments on v0.9 are finished) -- InfluxDB: 1.5.1. -- OpenTSDB: 2.3.1 (HBase 1.2.8) -- KairosDB: 1.2.1 (Cassandra 3.11.3) -- TimescaleDB: 1.0.0 (PostgreSQL 10.5) - All TSDB run on the same server one by one. Review comment: ```suggestion ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
