{"id":25632,"date":"2025-05-22T12:42:40","date_gmt":"2025-05-22T19:42:40","guid":{"rendered":"https:\/\/tdengine.com\/?p=25632"},"modified":"2025-11-03T08:17:27","modified_gmt":"2025-11-03T16:17:27","slug":"tdengine-oss-vs-influxdb-core-tsbs-performance-results","status":"publish","type":"post","link":"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/","title":{"rendered":"TDengine vs. InfluxDB 3: TSBS Performance Results"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #141414;color:#141414\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #141414;color:#141414\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#1_Introduction\" >1. Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#2_Methodology\" >2. Methodology<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#21_Time_Series_Benchmark_Suite_TSBS\" >2.1. Time Series Benchmark Suite (TSBS)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#22_Test_Scenarios\" >2.2. Test Scenarios<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#23_IoT_Use_Case\" >2.3. IoT Use Case<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#24_DevOps_Use_Case\" >2.4. DevOps Use Case<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#3_Test_Environment\" >3. Test Environment<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#31_Configuring_TDengine\" >3.1. Configuring TDengine<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#32_Configuring_InfluxDB\" >3.2. Configuring InfluxDB<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#4_Data_Model\" >4. Data Model<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#41_IoT_Diagnostics_Table_Schema_in_TDengine\" >4.1. IoT Diagnostics Table Schema in TDengine<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#42_IoT_Diagnostics_Table_Schema_in_InfluxDB\" >4.2. IoT Diagnostics Table Schema in InfluxDB<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#43_IoT_Readings_Table_Schema_in_TDengine\" >4.3. IoT Readings Table Schema in TDengine<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#44_IoT_Readings_Table_Schema_in_InfluxDB\" >4.4. IoT Readings Table Schema in InfluxDB<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#45_DevOps_Table_Schema_in_TDengine\" >4.5. DevOps Table Schema in TDengine<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#46_DevOps_Table_Schema_in_InfluxDB\" >4.6. DevOps Table Schema in InfluxDB<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#5_Test_Results\" >5. Test Results<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#51_Data_Ingestion\" >5.1. Data Ingestion<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#511_Ingestion_Speed\" >5.1.1. Ingestion Speed<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#512_Disk_Space_Usage\" >5.1.2. Disk Space Usage<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#513_Resource_Consumption\" >5.1.3. Resource Consumption<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#52_Query_Performance\" >5.2. Query Performance<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#6_Analysis\" >6. Analysis<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#7_Reproducing_These_Results\" >7. Reproducing These Results<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/tdengine.com\/tdengine-oss-vs-influxdb-core-tsbs-performance-results\/#8_Conclusion\" >8. Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n\n<h2 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"1_Introduction\"><\/span>1. Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The sheer volume and complex nature of time-series data have given rise to the purpose-built <a href=\"https:\/\/tdengine.com\/what-is-a-time-series-database\/\">time-series database<\/a> (TSDB). While performance is crucial for all databases, the size and complexity of time-series data make speed, precision, and scalability especially important.<\/p>\n\n\n\n<p>The performance of your TSDB doesn\u2019t just impact your ability to ingest, store, and analyze large amounts of data; it directly affects your <a href=\"https:\/\/tdengine.com\/reduce-tco\/\">total cost of ownership<\/a> (TCO). Better ingestion rates, query response times, and compression ratios mean your system consumes fewer resources to process the same amount of data.<\/p>\n\n\n\n<p>To demonstrate TDengine\u2019s high performance, we evaluated the platform against the latest InfluxDB 3 Core. This benchmark report shows that TDengine achieves superior performance across different real-world time-series datasets, namely:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>6.0x to 20.7x faster data ingestion<\/strong><\/li>\n\n\n\n<li><strong>2.3x to 25.8x higher compression ratios<\/strong><\/li>\n\n\n\n<li><strong>7.6x to 321.6x shorter query response times<\/strong><\/li>\n<\/ul>\n\n\n\n<h2 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"2_Methodology\"><\/span>2. Methodology<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To ensure complete transparency and reproducibility, all test code and procedures are publicly available on <a href=\"https:\/\/github.com\/taosdata\/tsbs\" rel=\"noopener\">GitHub<\/a>. The testing scenarios are taken from the independent and open-source TSBS framework.<\/p>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"21_Time_Series_Benchmark_Suite_TSBS\"><\/span>2.1. Time Series Benchmark Suite (TSBS)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><a href=\"https:\/\/github.com\/timescale\/tsbs\" rel=\"noopener\">Time Series Benchmark Suite (TSBS)<\/a> is an open-source performance testing platform for time-series data. Originally developed by InfluxData and now maintained by Timescale, the TSBS framework includes data generation and ingestion, query processing, and automated result aggregation for IoT and DevOps use cases. It has been used by a number of database providers, including InfluxData, <a href=\"https:\/\/www.timescale.com\/blog\/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877\" rel=\"noopener\">Timescale<\/a>, <a href=\"https:\/\/questdb.com\/blog\/2024\/02\/26\/questdb-versus-influxdb\/https:\/\/questdb.com\/blog\/2024\/02\/26\/questdb-versus-influxdb\/\" rel=\"noopener\">QuestDB<\/a>, <a href=\"https:\/\/altinity.com\/blog\/clickhouse-continues-to-crush-time-series\" rel=\"noopener\">ClickHouse<\/a>, <a href=\"https:\/\/valyala.medium.com\/high-cardinality-tsdb-benchmarks-victoriametrics-vs-timescaledb-vs-influxdb-13e6ee64dd6b\" rel=\"noopener\">VictoriaMetrics<\/a>, and <a href=\"https:\/\/redis.io\/blog\/redistimeseries-version-1-2-benchmarks\/\" rel=\"noopener\">Redis<\/a> as a benchmarking tool for performance testing.<\/p>\n\n\n\n<p>TSBS currently includes two use cases, one simulating server monitoring in a data center (referred to as the DevOps use case) and another simulating fleet management for a logistics enterprise (referred to as the IoT use case). These use cases are described in detail in the following sections. In this report, both use cases in the TSBS framework were used to assess the performance of TDengine and InfluxDB in an objective, accurate, and verifiable manner.<\/p>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"22_Test_Scenarios\"><\/span>2.2. Test Scenarios<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>TSBS does not define standard test scenarios but allows the user to generate desired scenarios by inputting the use case, pseudo-random number generator (PRNG) seed, number of devices, time range of test data, interval between data points, and database system. TSBS generates test data randomly but in a deterministic manner such that inputting the same seed will generate the same set of data each time. The scenarios used in this report follow <a href=\"https:\/\/www.timescale.com\/blog\/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877\" rel=\"noopener\">Timescale<\/a> with the exception that the time ranges have been adjusted.<\/p>\n\n\n\n<table id=\"tablepress-84\" class=\"tablepress tablepress-id-84\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><th class=\"column-2\">Scenario 1<\/th><th class=\"column-3\">Scenario 2<\/th><th class=\"column-4\">Scenario 3<\/th><th class=\"column-5\">Scenario 4<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Devices<\/td><td class=\"column-2\">100<\/td><td class=\"column-3\">4,000<\/td><td class=\"column-4\">100,000<\/td><td class=\"column-5\">1 million<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Duration<\/td><td class=\"column-2\">2 days<\/td><td class=\"column-3\">2 days<\/td><td class=\"column-4\">3 hours<\/td><td class=\"column-5\">3 minutes<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Interval<\/td><td class=\"column-2\">10 seconds<\/td><td class=\"column-3\">10 seconds<\/td><td class=\"column-4\">10 seconds<\/td><td class=\"column-5\">10 seconds<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Rows per device (IoT)<\/td><td class=\"column-2\">15,549<\/td><td class=\"column-3\">15,558<\/td><td class=\"column-4\">972<\/td><td class=\"column-5\">16<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Total rows (IoT)<\/td><td class=\"column-2\">3,109,944<\/td><td class=\"column-3\">124,466,978<\/td><td class=\"column-4\">194,487,997<\/td><td class=\"column-5\">32,414,619<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">Rows per device (DevOps)<\/td><td class=\"column-2\">17,280<\/td><td class=\"column-3\">17,280<\/td><td class=\"column-4\">1,080<\/td><td class=\"column-5\">18<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">Total rows (DevOps)<\/td><td class=\"column-2\">1,728,000<\/td><td class=\"column-3\">69,120,000<\/td><td class=\"column-4\">108,000,000<\/td><td class=\"column-5\">18,000,000<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-84 from cache -->\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"23_IoT_Use_Case\"><\/span>2.3. IoT Use Case<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The IoT use case simulates the data generated by a group of trucks operated by a logistics company. The diagnostics data for these trucks includes one nanosecond-level timestamp, three metrics, and eight tags. The readings data for the trucks includes one nanosecond-level timestamp, seven metrics, and eight tags. The generated datasets may include out-of-order or missing data, intended to simulate scenarios in which trucks may be offline for some time.<\/p>\n\n\n\n<p>A sample data record is described in the following figures.<\/p>\n\n\n\n<figure class=\"gb-element-bcafd30a\">\n<img decoding=\"async\" width=\"647\" height=\"274\" class=\"gb-media-676ad8b1\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-1-1.png?strip=all&sharp=1\" title=\"iot-dp-1\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-1-1.png?strip=all&amp;sharp=1 647w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-1-1-300x127.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-1-1.png?strip=all&amp;sharp=1&amp;w=129 129w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-1-1.png?strip=all&amp;sharp=1&amp;w=388 388w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-1-1.png?strip=all&amp;sharp=1&amp;w=517 517w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-1-1.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 647px) 100vw, 647px\" \/>\n\n\n\n<figcaption class=\"gb-text\">Sample diagnostics data point in the IoT use case<\/figcaption>\n<\/figure>\n\n\n\n<figure class=\"gb-element-903d42a4\">\n<img decoding=\"async\" width=\"648\" height=\"337\" class=\"gb-media-401a1e9d\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-2.png?strip=all&sharp=1\" title=\"iot-dp-2\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-2.png?strip=all&amp;sharp=1 648w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-2-300x156.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-2.png?strip=all&amp;sharp=1&amp;w=129 129w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-2.png?strip=all&amp;sharp=1&amp;w=388 388w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-2.png?strip=all&amp;sharp=1&amp;w=518 518w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dp-2.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 648px) 100vw, 648px\" \/>\n\n\n\n<figcaption class=\"gb-text\">Sample readings data point in the IoT use case<\/figcaption>\n<\/figure>\n\n\n\n<p>The metrics in these tables are randomly generated within the following ranges:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>fuel_state: floating-point number between 0 and 1.0<\/li>\n\n\n\n<li>current_load: floating-point number between 0 and 5000.0<\/li>\n\n\n\n<li>status: integer 0 or 1<\/li>\n\n\n\n<li>latitude: floating-point number between &#8211;90.0 and 90.0<\/li>\n\n\n\n<li>longitude: floating-point number between &#8211;180.0 and 180.0<\/li>\n\n\n\n<li>elevation: floating-point number between 0 and 5000.0<\/li>\n\n\n\n<li>velocity: floating-point number between 0 and 100<\/li>\n\n\n\n<li>heading: floating-point number between 0 and 360.0<\/li>\n\n\n\n<li>grade: floating-point number between 0 and 100.0<\/li>\n\n\n\n<li>fuel_consumption: floating-point number between 0 and 50<\/li>\n<\/ul>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"24_DevOps_Use_Case\"><\/span>2.4. DevOps Use Case<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Note that the CPU-only subset of the DevOps use case was selected in this report. This use case simulates the data generated by CPU monitoring, recording 10 metrics and 10 tags per CPU with a nanosecond-precision timestamp. The generated datasets do not include null or out-of-order data.<\/p>\n\n\n\n<p>A sample data record is described in the following figure.<\/p>\n\n\n\n<figure class=\"gb-element-ccb597a5\">\n<img decoding=\"async\" width=\"694\" height=\"339\" class=\"gb-media-5992a42d\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dp-1.png?strip=all&sharp=1\" title=\"devops-dp\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dp-1.png?strip=all&amp;sharp=1 694w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dp-1-300x147.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dp-1.png?strip=all&amp;sharp=1&amp;w=138 138w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dp-1.png?strip=all&amp;sharp=1&amp;w=416 416w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dp-1.png?strip=all&amp;sharp=1&amp;w=555 555w\" sizes=\"(max-width: 694px) 100vw, 694px\" \/>\n\n\n\n<p class=\"gb-text\">Sample readings data point in the IoT use case<\/p>\n<\/figure>\n\n\n\n<p>The metrics in this table are all randomly generated floating-point numbers ranging from 0 to 100.<\/p>\n\n\n\n<h2 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"3_Test_Environment\"><\/span>3. Test Environment<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>All tests described in this report were run on servers with the following specifications located in Amazon Web Services (AWS):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CPU: Intel\u00ae Xeon\u00ae CPU E5-2650 v3 @ 2.30GHz (40 cores)<\/li>\n\n\n\n<li>Memory: 251 GB of DDR4 synchronous registered (buffered) RAM at 2133 MT\/s<\/li>\n\n\n\n<li>Operating system: Ubuntu 22.04 LTS<\/li>\n<\/ul>\n\n\n\n<p>The following versions of TDengine and InfluxDB were tested:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TDengine OSS 3.3.6.3, gitinfo b6a63a76f552b4afb467eb970043471ffa8acfda<\/li>\n\n\n\n<li>InfluxDB Core 3.0.0, revision 3b602eead2bb27aee74fb3cfc45f6be806d3b836<\/li>\n<\/ul>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"31_Configuring_TDengine\"><\/span>3.1. Configuring TDengine<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The TDengine server was configured with six vgroups. The default values were retained for all other parameters.<\/p>\n\n\n\n<p>For the TSBS IoT dataset used in this evaluation, one supertable was created for readings and another for diagnostics. Then one subtable was created in each supertable for each vehicle. The value of the name tag for each truck is also used as the name of the subtable, with the prefix <code class=\"\" data-line=\"\">d<\/code> for the diagnostics supertable and <code class=\"\" data-line=\"\">r<\/code> for the readings supertable.<\/p>\n\n\n\n<p>For the DevOps CPU-only dataset used in this evaluation, one supertable was created for all CPUs. A subtable was then created for each CPU. The value of the hostname tag for each CPU is also used as the name of the subtable.<\/p>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"32_Configuring_InfluxDB\"><\/span>3.2. Configuring InfluxDB<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The InfluxDB server was started as follows:<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">influxdb3 serve --node-id=local01 --object-store=file --data-dir \/data\/influx --http-bind=0.0.0.0:8081<\/code><\/pre>\n\n\n\n<p>This specifies that Parquet files are stored on the filesystem instead of in memory. The default values were retained for all other parameters.<\/p>\n\n\n\n<p>Data was then generated using the standard settings in the TSBS framework:<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">tsbs_generate_data --use-case=&quot;iot&quot; --seed=123 --scale=4000 --timestamp-start=&quot;2016-01-01T00:00:00Z&quot; --timestamp-end=&quot;2016-01-01T01:00:00Z&quot; --log-interval=&quot;10s&quot; --format=&quot;influx&quot; &gt; \/data\/influx\/influxdb_iot.out<\/code><\/pre>\n\n\n\n<h2 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"4_Data_Model\"><\/span>4. Data Model<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"41_IoT_Diagnostics_Table_Schema_in_TDengine\"><\/span>4.1. IoT Diagnostics Table Schema in TDengine<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"gb-element-5c8d4a21\">\n<img decoding=\"async\" width=\"746\" height=\"398\" class=\"gb-media-0403ef32\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-1.png?strip=all&sharp=1\" title=\"iot-dm-1\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-1.png?strip=all&amp;sharp=1 746w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-1-300x160.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-1.png?strip=all&amp;sharp=1&amp;w=149 149w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-1.png?strip=all&amp;sharp=1&amp;w=447 447w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-1.png?strip=all&amp;sharp=1&amp;w=596 596w\" sizes=\"(max-width: 746px) 100vw, 746px\" \/>\n<\/figure>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"42_IoT_Diagnostics_Table_Schema_in_InfluxDB\"><\/span>4.2. IoT Diagnostics Table Schema in InfluxDB<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"gb-element-deddb9fc\">\n<img decoding=\"async\" width=\"492\" height=\"368\" class=\"gb-media-91b85e2e\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-2.png?strip=all&sharp=1\" title=\"iot-dm-2\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-2.png?strip=all&amp;sharp=1 492w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-2-300x224.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-2.png?strip=all&amp;sharp=1&amp;w=98 98w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-2.png?strip=all&amp;sharp=1&amp;w=196 196w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-2.png?strip=all&amp;sharp=1&amp;w=393 393w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/>\n<\/figure>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"43_IoT_Readings_Table_Schema_in_TDengine\"><\/span>4.3. IoT Readings Table Schema in TDengine<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"gb-element-81b66396\">\n<img decoding=\"async\" width=\"736\" height=\"532\" class=\"gb-media-0390b286\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-3-upd.png?strip=all&sharp=1\" title=\"iot-dm-3-upd\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-3-upd.png?strip=all&amp;sharp=1 736w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-3-upd-300x217.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-3-upd.png?strip=all&amp;sharp=1&amp;w=147 147w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-3-upd.png?strip=all&amp;sharp=1&amp;w=441 441w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-3-upd.png?strip=all&amp;sharp=1&amp;w=588 588w\" sizes=\"(max-width: 736px) 100vw, 736px\" \/>\n<\/figure>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"44_IoT_Readings_Table_Schema_in_InfluxDB\"><\/span>4.4. IoT Readings Table Schema in InfluxDB<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"gb-element-2fa1bb77\">\n<img decoding=\"async\" width=\"486\" height=\"484\" class=\"gb-media-0f88e777\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-4-1.png?strip=all&sharp=1\" title=\"iot-dm-4\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-4-1.png?strip=all&amp;sharp=1 486w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-4-1-300x300.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-4-1-150x150.png?strip=all&amp;sharp=1 150w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-4-1.png?strip=all&amp;sharp=1&amp;w=97 97w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-dm-4-1.png?strip=all&amp;sharp=1&amp;w=388 388w\" sizes=\"(max-width: 486px) 100vw, 486px\" \/>\n<\/figure>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"45_DevOps_Table_Schema_in_TDengine\"><\/span>4.5. DevOps Table Schema in TDengine<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"gb-element-54a4ffde\">\n<img decoding=\"async\" width=\"737\" height=\"670\" class=\"gb-media-9f3b256b\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-1.png?strip=all&sharp=1\" title=\"devops-dm-1\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-1.png?strip=all&amp;sharp=1 737w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-1-300x273.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-1.png?strip=all&amp;sharp=1&amp;w=147 147w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-1.png?strip=all&amp;sharp=1&amp;w=442 442w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-1.png?strip=all&amp;sharp=1&amp;w=589 589w\" sizes=\"(max-width: 737px) 100vw, 737px\" \/>\n<\/figure>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"46_DevOps_Table_Schema_in_InfluxDB\"><\/span>4.6. DevOps Table Schema in InfluxDB<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"gb-element-9a95bbb8\">\n<img decoding=\"async\" width=\"437\" height=\"621\" class=\"gb-media-8dc7e3ac\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-2-1.png?strip=all&sharp=1\" title=\"devops-dm-2\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-2-1.png?strip=all&amp;sharp=1 437w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-2-1-211x300.png?strip=all&amp;sharp=1 211w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-2-1.png?strip=all&amp;sharp=1&amp;w=87 87w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-2-1.png?strip=all&amp;sharp=1&amp;w=262 262w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-dm-2-1.png?strip=all&amp;sharp=1&amp;w=349 349w\" sizes=\"(max-width: 437px) 100vw, 437px\" \/>\n<\/figure>\n\n\n\n<h2 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"5_Test_Results\"><\/span>5. Test Results<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"51_Data_Ingestion\"><\/span>5.1. Data Ingestion<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Time-series databases need to ingest massive amounts of data, and TDengine achieves the fastest ingestion speeds across all TSBS scenarios, ranging from to 6.0 to 20.7 times the speed of InfluxDB Core. At the same time, TDengine delivers compression ratios 2.3x to 25.8x superior to InfluxDB while using fewer system resources.<\/p>\n\n\n\n<h4 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"511_Ingestion_Speed\"><\/span>5.1.1. Ingestion Speed<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<figure class=\"gb-element-c17aab7c\">\n<img decoding=\"async\" width=\"2641\" height=\"1485\" class=\"gb-media-7e62c8dd\" alt=\"\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot.png?strip=all&sharp=1\" title=\"newtsbs-ing-iot\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot.png?strip=all&amp;sharp=1 2641w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot-300x169.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot-1024x576.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot-768x432.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot-1536x864.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot-2048x1152.png?strip=all&amp;sharp=1 2048w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot.png?strip=all&amp;sharp=1&amp;w=528 528w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot.png?strip=all&amp;sharp=1&amp;w=2112 2112w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot.png?strip=all&amp;sharp=1&amp;w=450 450w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-iot.png?strip=all&amp;sharp=1&amp;w=1920 1920w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n\n\n\n<figcaption class=\"gb-text\">Ingestion speed for IoT use case (higher is better)<\/figcaption>\n<\/figure>\n\n\n\n<table id=\"tablepress-93\" class=\"tablepress tablepress-id-93\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><th class=\"column-2\">InfluxDB Core<\/th><th class=\"column-3\">TDengine OSS<\/th><th class=\"column-4\">TDengine vs. InfluxDB<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">100 devices<\/td><td class=\"column-2\">947,584.19<\/td><td class=\"column-3\">10,739,729.15<\/td><td class=\"column-4\">1133.38%<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">4,000 devices<\/td><td class=\"column-2\">941,861.15<\/td><td class=\"column-3\">8,717,632.78<\/td><td class=\"column-4\">925.58%<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">100,000 devices<\/td><td class=\"column-2\">878,718.80<\/td><td class=\"column-3\">6,693,731.34<\/td><td class=\"column-4\">761.76%<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">1 million devices<\/td><td class=\"column-2\">722,307.80<\/td><td class=\"column-3\">4,365,177.36<\/td><td class=\"column-4\">604.34%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-93 from cache -->\n\n\n<figure class=\"gb-element-9d40e3d1\">\n<img decoding=\"async\" width=\"1920\" height=\"1080\" class=\"gb-media-53a239a7\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-devops.png?strip=all&sharp=1\" alt=\"\" title=\"newtsbs-ing-devops\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-devops.png?strip=all&amp;sharp=1 1920w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-devops-300x169.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-devops-1024x576.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-devops-768x432.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-devops-1536x864.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-devops.png?strip=all&amp;sharp=1&amp;w=384 384w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-devops.png?strip=all&amp;sharp=1&amp;w=1152 1152w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-ing-devops.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n\n\n\n<figcaption class=\"gb-text\">Ingestion speed for DevOps use case (higher is better)<\/figcaption>\n<\/figure>\n\n\n\n<table id=\"tablepress-94\" class=\"tablepress tablepress-id-94\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><th class=\"column-2\">InfluxDB Core<\/th><th class=\"column-3\">TDengine OSS<\/th><th class=\"column-4\">TDengine vs. InfluxDB<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">100 devices<\/td><td class=\"column-2\">784,327.27<\/td><td class=\"column-3\">16,244,510.83<\/td><td class=\"column-4\">2071.14%<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">4,000 devices<\/td><td class=\"column-2\">663,338.35<\/td><td class=\"column-3\">12,230,268.82<\/td><td class=\"column-4\">1843.75%<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">100,000 devices<\/td><td class=\"column-2\">633,864.23<\/td><td class=\"column-3\">11,257,054.78<\/td><td class=\"column-4\">1775.94%<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">1 million devices<\/td><td class=\"column-2\">644,847.67<\/td><td class=\"column-3\">7,841,434.32<\/td><td class=\"column-4\">1216.01%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-94 from cache -->\n\n\n<h4 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"512_Disk_Space_Usage\"><\/span>5.1.2. Disk Space Usage<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<figure class=\"gb-element-912c079e\">\n<img decoding=\"async\" width=\"2641\" height=\"1485\" class=\"gb-media-b392bc3f\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest.png?strip=all&sharp=1\" title=\"iot-comp-latest\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest.png?strip=all&amp;sharp=1 2641w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest-300x169.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest-1024x576.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest-768x432.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest-1536x864.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest-2048x1152.png?strip=all&amp;sharp=1 2048w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest.png?strip=all&amp;sharp=1&amp;w=528 528w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest.png?strip=all&amp;sharp=1&amp;w=2112 2112w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest.png?strip=all&amp;sharp=1&amp;w=450 450w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/iot-comp-latest.png?strip=all&amp;sharp=1&amp;w=1920 1920w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n\n\n\n<figcaption class=\"gb-text\">Disk space occupied for IoT use case scenarios (lower is better)<\/figcaption>\n<\/figure>\n\n\n\n<table id=\"tablepress-82\" class=\"tablepress tablepress-id-82\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><th class=\"column-2\">InfluxDB Core<\/th><th class=\"column-3\">TDengine OSS<\/th><th class=\"column-4\">InfluxDB vs. TDengine<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">100 devices<\/td><td class=\"column-2\">349 MB<\/td><td class=\"column-3\">47 MB<\/td><td class=\"column-4\">742.55%<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">4,000 devices<\/td><td class=\"column-2\">7424 MB<\/td><td class=\"column-3\">1846 MB<\/td><td class=\"column-4\">402.17%<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">100,000 devices<\/td><td class=\"column-2\">15929 MB<\/td><td class=\"column-3\">3146 MB<\/td><td class=\"column-4\">506.33%<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">1 million devices<\/td><td class=\"column-2\">3318 MB<\/td><td class=\"column-3\">1423 MB<\/td><td class=\"column-4\">233.17%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-82 from cache -->\n\n\n<figure class=\"gb-element-559af616\">\n<img decoding=\"async\" width=\"1920\" height=\"1080\" class=\"gb-media-5a741816\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-comp-latest.png?strip=all&sharp=1\" title=\"devops-comp-latest\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-comp-latest.png?strip=all&amp;sharp=1 1920w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-comp-latest-300x169.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-comp-latest-1024x576.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-comp-latest-768x432.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-comp-latest-1536x864.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-comp-latest.png?strip=all&amp;sharp=1&amp;w=384 384w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-comp-latest.png?strip=all&amp;sharp=1&amp;w=1152 1152w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/devops-comp-latest.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n\n\n\n<figcaption class=\"gb-text\">Disk space occupied for DevOps use case scenarios (lower is better)<\/figcaption>\n<\/figure>\n\n\n\n<table id=\"tablepress-83\" class=\"tablepress tablepress-id-83\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><th class=\"column-2\">InfluxDB Core<\/th><th class=\"column-3\">TDengine OSS<\/th><th class=\"column-4\">InfluxDB vs. TDengine<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">100 devices<\/td><td class=\"column-2\">194 MB<\/td><td class=\"column-3\">8 MB<\/td><td class=\"column-4\">2425.00%<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">4,000 devices<\/td><td class=\"column-2\">7909 MB<\/td><td class=\"column-3\">306 MB<\/td><td class=\"column-4\">2584.64%<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">100,000 devices<\/td><td class=\"column-2\">7591 MB<\/td><td class=\"column-3\">720 MB<\/td><td class=\"column-4\">1054.31%<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">1 million devices<\/td><td class=\"column-2\">1858 MB<\/td><td class=\"column-3\">706 MB<\/td><td class=\"column-4\">263.17%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-83 from cache -->\n\n\n<p>TDengine required less disk space to store the TSBS datasets in all scenarios and use cases. Its compression performance ranged from 2.3 times to 25.8 times better than InfluxDB with significantly higher efficiency in the 100,000 devices and smaller-scale categories.<\/p>\n\n\n\n<p class=\"gb-text\">Compression ratios for each database were calculated based on the raw and compressed data sizes.<\/p>\n\n\n\n<table id=\"tablepress-86\" class=\"tablepress tablepress-id-86\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><th class=\"column-2\">Raw Data<\/th><th class=\"column-3\">InfluxDB<\/th><th class=\"column-4\">TDengine<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">IoT Scenario 1<\/td><td class=\"column-2\">1,381 MB<\/td><td class=\"column-3\">3.96:1<\/td><td class=\"column-4\">29.38:1<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">IoT Scenario 2<\/td><td class=\"column-2\">55,263 MB<\/td><td class=\"column-3\">7.44:1<\/td><td class=\"column-4\">29.94:1<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">IoT Scenario 3<\/td><td class=\"column-2\">86,353 MB<\/td><td class=\"column-3\">5.42:1<\/td><td class=\"column-4\">27.45:1<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">IoT Scenario 4<\/td><td class=\"column-2\">14,392 MB<\/td><td class=\"column-3\">4.34:1<\/td><td class=\"column-4\">10.11:1<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">DevOps Scenario 1<\/td><td class=\"column-2\">670 MB<\/td><td class=\"column-3\">3.46:1<\/td><td class=\"column-4\">83.81:1<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">DevOps Scenario 2<\/td><td class=\"column-2\">26,819 MB <\/td><td class=\"column-3\">3.39:1<\/td><td class=\"column-4\">87.64:1<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">DevOps Scenario 3<\/td><td class=\"column-2\">41,904 MB<\/td><td class=\"column-3\">5.52:1<\/td><td class=\"column-4\">58.20:1<\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\">DevOps Scenario 4<\/td><td class=\"column-2\">6,984 MB<\/td><td class=\"column-3\">3.76:1<\/td><td class=\"column-4\">9.89:1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-86 from cache -->\n\n\n<p>InfluxDB achieved compression ratios from 3.39:1 to 7.44:1 while TDengine&#8217;s compression performance ranges from 9.89:1 to 87.64:1. TDengine was especially effective at compressing the integer metrics in the DevOps scenario.<\/p>\n\n\n\n<h4 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"513_Resource_Consumption\"><\/span>5.1.3. Resource Consumption<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<figure class=\"gb-element-219ff4c6\">\n<img decoding=\"async\" width=\"1104\" height=\"604\" class=\"gb-media-4f68fa3d\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/05-iot-cpu.png?strip=all&sharp=1\" title=\"05-iot-cpu\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/05-iot-cpu.png?strip=all&amp;sharp=1 1104w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/05-iot-cpu-300x164.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/05-iot-cpu-1024x560.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/05-iot-cpu-768x420.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/05-iot-cpu.png?strip=all&amp;sharp=1&amp;w=220 220w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/05-iot-cpu.png?strip=all&amp;sharp=1&amp;w=441 441w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/05-iot-cpu.png?strip=all&amp;sharp=1&amp;w=662 662w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/05-iot-cpu.png?strip=all&amp;sharp=1&amp;w=883 883w\" sizes=\"(max-width: 1104px) 100vw, 1104px\" \/>\n\n\n\n<figcaption class=\"gb-text\">CPU usage during ingestion and compression of the IoT dataset in Scenario 3<\/figcaption>\n<\/figure>\n\n\n\n<figure class=\"gb-element-a41dec6a\">\n<img decoding=\"async\" width=\"1104\" height=\"606\" class=\"gb-media-214a1b7d\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/06-iot-mem.png?strip=all&sharp=1\" title=\"06-iot-mem\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/06-iot-mem.png?strip=all&amp;sharp=1 1104w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/06-iot-mem-300x165.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/06-iot-mem-1024x562.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/06-iot-mem-768x422.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/06-iot-mem.png?strip=all&amp;sharp=1&amp;w=220 220w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/06-iot-mem.png?strip=all&amp;sharp=1&amp;w=441 441w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/06-iot-mem.png?strip=all&amp;sharp=1&amp;w=662 662w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/06-iot-mem.png?strip=all&amp;sharp=1&amp;w=883 883w\" sizes=\"(max-width: 1104px) 100vw, 1104px\" \/>\n\n\n\n<figcaption class=\"gb-text\">Memory usage during ingestion and compression of the IoT dataset in Scenario 3<\/figcaption>\n<\/figure>\n\n\n\n<figure class=\"gb-element-58f6b978\">\n<img decoding=\"async\" width=\"552\" height=\"303\" class=\"gb-media-ef5718af\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/03-devops-cpu.png?strip=all&sharp=1\" title=\"03-devops-cpu\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/03-devops-cpu.png?strip=all&amp;sharp=1 552w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/03-devops-cpu-300x165.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/03-devops-cpu.png?strip=all&amp;sharp=1&amp;w=110 110w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/03-devops-cpu.png?strip=all&amp;sharp=1&amp;w=220 220w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/03-devops-cpu.png?strip=all&amp;sharp=1&amp;w=441 441w\" sizes=\"(max-width: 552px) 100vw, 552px\" \/>\n\n\n\n<figcaption class=\"gb-text\">CPU usage during ingestion and compression of the DevOps dataset in Scenario 3<\/figcaption>\n<\/figure>\n\n\n\n<figure class=\"gb-element-31a0346c\">\n<img decoding=\"async\" width=\"552\" height=\"303\" class=\"gb-media-5cd8806d\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/04-devops-mem.png?strip=all&sharp=1\" title=\"04-devops-mem\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/04-devops-mem.png?strip=all&amp;sharp=1 552w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/04-devops-mem-300x165.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/04-devops-mem.png?strip=all&amp;sharp=1&amp;w=110 110w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/04-devops-mem.png?strip=all&amp;sharp=1&amp;w=220 220w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/04-devops-mem.png?strip=all&amp;sharp=1&amp;w=441 441w\" sizes=\"(max-width: 552px) 100vw, 552px\" \/>\n\n\n\n<figcaption class=\"gb-text\">Memory usage during ingestion and compression of the DevOps dataset in Scenario 3<\/figcaption>\n<\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>During ingestion and compression, InfluxDB used between 15% and 20% of CPU resources and 12 GB to 23 GB of memory.<\/li>\n\n\n\n<li>CPU and memory resources were mostly used at a consistent rate throughout the ingestion and compression period.<\/li>\n\n\n\n<li>In both use cases, InfluxDB experienced a spike to over 40% CPU and 29 GB of memory when beginning to process the ingested data.<\/li>\n\n\n\n<li>TDengine had higher average usage at 40% CPU and 42 GB of memory in the IoT use case and 28% CPU and 34 GB of memory in the DevOps use case.<\/li>\n\n\n\n<li>TDengine&#8217;s <strong>total resource usage was significantly lower<\/strong> because all ingestion and processing was completed within five minutes, whereas <strong>InfluxDB took almost 30 minutes<\/strong> to ingest and process the same dataset.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"52_Query_Performance\"><\/span>5.2. Query Performance<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>As performance can differ based on a number of factors, the TSBS framework covers a wide range of query types. TDengine provided the fastest query response across all scenarios, confirming that organizations dependent on real-time analytics are best served with this purpose-built platform.<\/p>\n\n\n\n<figure class=\"gb-element-137eb35f\">\n<img decoding=\"async\" width=\"1920\" height=\"1080\" class=\"gb-media-90f37982\" alt=\"\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev1.png?strip=all&sharp=1\" title=\"newtsbs-que-dev1\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev1.png?strip=all&amp;sharp=1 1920w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev1-300x169.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev1-1024x576.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev1-768x432.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev1-1536x864.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev1.png?strip=all&amp;sharp=1&amp;w=384 384w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev1.png?strip=all&amp;sharp=1&amp;w=1152 1152w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev1.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n\n\n\n<img decoding=\"async\" width=\"1920\" height=\"1080\" class=\"gb-media-4adb2b5b\" alt=\"\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev2.png?strip=all&sharp=1\" title=\"newtsbs-que-dev2\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev2.png?strip=all&amp;sharp=1 1920w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev2-300x169.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev2-1024x576.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev2-768x432.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev2-1536x864.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev2.png?strip=all&amp;sharp=1&amp;w=384 384w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev2.png?strip=all&amp;sharp=1&amp;w=1152 1152w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev2.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n\n\n\n<figcaption class=\"gb-text\">Average query response time for IoT use case (lower is better)<\/figcaption>\n<\/figure>\n\n\n\n<table id=\"tablepress-95\" class=\"tablepress tablepress-id-95\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><th class=\"column-2\">InfluxDB Core<\/th><th class=\"column-3\">TDengine OSS<\/th><th class=\"column-4\">TDengine vs. InfluxDB<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">last-loc<\/td><td class=\"column-2\">363.15<\/td><td class=\"column-3\">2.37<\/td><td class=\"column-4\">15322.78%<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">low-fuel<\/td><td class=\"column-2\">270.75<\/td><td class=\"column-3\">13.30<\/td><td class=\"column-4\">2035.71%<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">high-load<\/td><td class=\"column-2\">343.14<\/td><td class=\"column-3\">2.38<\/td><td class=\"column-4\">14417.65%<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">stationary-trucks<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">7.48<\/td><td class=\"column-4\"><\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">long-driving-sessions<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">9.29<\/td><td class=\"column-4\"><\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">long-daily-sessions<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">18.70<\/td><td class=\"column-4\"><\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">avg-vs-projected<br \/>\n-fuel-consumption<\/td><td class=\"column-2\">989.96<\/td><td class=\"column-3\">101.51<\/td><td class=\"column-4\">975.23%<\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\">avg-daily<br \/>\n-driving-duration<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">82.54<\/td><td class=\"column-4\"><\/td>\n<\/tr>\n<tr class=\"row-10\">\n\t<td class=\"column-1\">avg-daily<br \/>\n-driving-session<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">57.31<\/td><td class=\"column-4\"><\/td>\n<\/tr>\n<tr class=\"row-11\">\n\t<td class=\"column-1\">avg-load<\/td><td class=\"column-2\">4007.83<\/td><td class=\"column-3\">12.46<\/td><td class=\"column-4\">32165.57%<\/td>\n<\/tr>\n<tr class=\"row-12\">\n\t<td class=\"column-1\">daily-activity<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">63.39<\/td><td class=\"column-4\"><\/td>\n<\/tr>\n<tr class=\"row-13\">\n\t<td class=\"column-1\">breakdown-frequency<\/td><td class=\"column-2\">1217.71<\/td><td class=\"column-3\">124.28<\/td><td class=\"column-4\">979.81%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-95 from cache -->\n\n\n<figure class=\"gb-element-93f5f14a\">\n<img decoding=\"async\" width=\"1920\" height=\"1080\" class=\"gb-media-953068fe\" alt=\"\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev3.png?strip=all&sharp=1\" title=\"newtsbs-que-dev3\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev3.png?strip=all&amp;sharp=1 1920w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev3-300x169.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev3-1024x576.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev3-768x432.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev3-1536x864.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev3.png?strip=all&amp;sharp=1&amp;w=384 384w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev3.png?strip=all&amp;sharp=1&amp;w=1152 1152w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-dev3.png?strip=all&amp;sharp=1&amp;w=450 450w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n\n\n\n<img decoding=\"async\" width=\"2642\" height=\"1485\" class=\"gb-media-dc286b64\" alt=\"\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1.png?strip=all&sharp=1\" title=\"newtsbs-que-iot1\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1.png?strip=all&amp;sharp=1 2642w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1-300x169.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1-1024x576.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1-768x432.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1-1536x863.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1-2048x1151.png?strip=all&amp;sharp=1 2048w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1.png?strip=all&amp;sharp=1&amp;w=528 528w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1.png?strip=all&amp;sharp=1&amp;w=2113 2113w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1.png?strip=all&amp;sharp=1&amp;w=450 450w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot1.png?strip=all&amp;sharp=1&amp;w=1920 1920w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n\n\n\n<img decoding=\"async\" width=\"2614\" height=\"1485\" class=\"gb-media-d6a44be4\" alt=\"\" src=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot2.png?strip=all&sharp=1\" title=\"newtsbs-que-iot2\" srcset=\"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot2.png?strip=all&amp;sharp=1 2614w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot2-300x170.png?strip=all&amp;sharp=1 300w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot2-1024x582.png?strip=all&amp;sharp=1 1024w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot2-768x436.png?strip=all&amp;sharp=1 768w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot2-1536x873.png?strip=all&amp;sharp=1 1536w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot2-2048x1163.png?strip=all&amp;sharp=1 2048w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot2.png?strip=all&amp;sharp=1&amp;w=522 522w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot2.png?strip=all&amp;sharp=1&amp;w=450 450w, https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/newtsbs-que-iot2.png?strip=all&amp;sharp=1&amp;w=1920 1920w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\n\n\n\n<figcaption class=\"gb-text\">Average query response time for DevOps use case (lower is better)<\/figcaption>\n<\/figure>\n\n\n\n<table id=\"tablepress-96\" class=\"tablepress tablepress-id-96\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><th class=\"column-2\">InfluxDB Core<\/th><th class=\"column-3\">TDengine OSS<\/th><th class=\"column-4\">TDengine vs. InfluxDB<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">single-groupby-1-1-1<\/td><td class=\"column-2\">34.17<\/td><td class=\"column-3\">1.91<\/td><td class=\"column-4\">1789.01%<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">single-groupby-1-1-12<\/td><td class=\"column-2\">259.48<\/td><td class=\"column-3\">3.50<\/td><td class=\"column-4\">7413.71%<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">single-groupby-1-8-1<\/td><td class=\"column-2\">36.60<\/td><td class=\"column-3\">2.89<\/td><td class=\"column-4\">1266.44%<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">single-groupby-5-1-1<\/td><td class=\"column-2\">38.14<\/td><td class=\"column-3\">2.29<\/td><td class=\"column-4\">1665.50%<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">single-groupby-5-1-12<\/td><td class=\"column-2\">282.74<\/td><td class=\"column-3\">5.02<\/td><td class=\"column-4\">5632.27%<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">single-groupby-5-8-1<\/td><td class=\"column-2\">41.31<\/td><td class=\"column-3\">4.01<\/td><td class=\"column-4\">1030.17%<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">cpu-max-all-1<\/td><td class=\"column-2\">197.98<\/td><td class=\"column-3\">2.83<\/td><td class=\"column-4\">6995.76%<\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\">cpu-max-all-8<\/td><td class=\"column-2\">207.62<\/td><td class=\"column-3\">6.20<\/td><td class=\"column-4\">3348.71%<\/td>\n<\/tr>\n<tr class=\"row-10\">\n\t<td class=\"column-1\">double-groupby-1<\/td><td class=\"column-2\">455.93<\/td><td class=\"column-3\">21.67<\/td><td class=\"column-4\">2103.97%<\/td>\n<\/tr>\n<tr class=\"row-11\">\n\t<td class=\"column-1\">double-groupby-5<\/td><td class=\"column-2\">486.04<\/td><td class=\"column-3\">40.40<\/td><td class=\"column-4\">1203.07%<\/td>\n<\/tr>\n<tr class=\"row-12\">\n\t<td class=\"column-1\">double-groupby-all<\/td><td class=\"column-2\">521.14<\/td><td class=\"column-3\">61.73<\/td><td class=\"column-4\">844.22%<\/td>\n<\/tr>\n<tr class=\"row-13\">\n\t<td class=\"column-1\">high-cpu-1<\/td><td class=\"column-2\">556.82<\/td><td class=\"column-3\">3.43<\/td><td class=\"column-4\">16233.82%<\/td>\n<\/tr>\n<tr class=\"row-14\">\n\t<td class=\"column-1\">high-cpu-all<\/td><td class=\"column-2\">843.93<\/td><td class=\"column-3\">108.75<\/td><td class=\"column-4\">776.03%<\/td>\n<\/tr>\n<tr class=\"row-15\">\n\t<td class=\"column-1\">groupby-orderby-limit<\/td><td class=\"column-2\">709.87<\/td><td class=\"column-3\">10.74<\/td><td class=\"column-4\">6609.59%<\/td>\n<\/tr>\n<tr class=\"row-16\">\n\t<td class=\"column-1\">lastpoint<\/td><td class=\"column-2\">1876.74<\/td><td class=\"column-3\">9.34<\/td><td class=\"column-4\">20093.58%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-96 from cache -->\n\n\n<p>TDengine returned results for all simpler queries in under 20 milliseconds, while InfluxDB 3 Core was at least 10x slower. More complex queries allowed TDengine to show off its processing power, reaching 66x the performance of InfluxDB 3 Core in the groupby-orderby-limit scenario. This demonstrates that TDengine is best prepared to handle the most performance-intensive queries without slowing down.&nbsp;<\/p>\n\n\n\n<p>Notably, six of the twelve IoT query sets failed to run at all in InfluxDB 3 Core, either throwing an error or returning no results. This indicates that InfluxQL compatibility is still an issue for InfluxDB 3, and it is hoped that more complete results can be obtained once this is resolved.<\/p>\n\n\n\n<h2 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"6_Analysis\"><\/span>6. Analysis<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>With version 3.0, InfluxDB uses the <a href=\"https:\/\/parquet.apache.org\/\" rel=\"noopener\">Apache Parquet<\/a> file format for storing data. Parquet includes a range of built-in <a href=\"https:\/\/parquet.apache.org\/docs\/file-format\/data-pages\/encodings\/\" rel=\"noopener\">encoding<\/a> and <a href=\"https:\/\/parquet.apache.org\/docs\/file-format\/data-pages\/compression\/\" rel=\"noopener\">compression<\/a> options, but these are not configurable through InfluxDB. The specific encoding and compression algorithms used by InfluxDB for each column in this test are therefore not known.<\/p>\n\n\n\n<p>TDengine&#8217;s <a href=\"https:\/\/docs.tdengine.com\/tdengine-reference\/sql-manual\/manage-data-compression\/\">encoding and compression options<\/a> are configurable on a per-column basis. The default values are determined based on the data type of the column and have been optimized to provide the best compression performance for that data type. In this test, the default values have been used for all columns.<\/p>\n\n\n\n<p>It is possible that TDengine&#8217;s superior compression performance in this test is due to more optimal default values for encoding and compression algorithms or more optimal implementation of those algorithms, but the algorithms available are similar in TDengine and Parquet.<\/p>\n\n\n\n<p>TDengine&#8217;s &#8220;one table per device&#8221; design likely played a larger role in improving compression performance. In this design, one table is created for each device, ensuring that each block of data contains the records for a single table. This ensures that similar data is stored together and can greatly increase compressibility in many time-series scenarios where adjacent values differ only by a small amount.<\/p>\n\n\n\n<p>The drawback of this model is that when datasets contain a small amount of data from a large number of devices, there is significant storage overhead caused by table creation. This is reflected in the results for Scenario 4, including 1 million devices with fewer than 20 records each, which had lower compression performance compared with the scenarios including a larger number of records per device.<\/p>\n\n\n\n<h2 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"7_Reproducing_These_Results\"><\/span>7. Reproducing These Results<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>We encourage you to verify these results and have developed a script with which you can run TSBS tests on your own machine. On an Ubuntu 22 machine, clone our TSBS fork to the <code class=\"\" data-line=\"\">\/usr\/local\/src<\/code> directory. Then open the <code class=\"\" data-line=\"\">scripts\/tsdbComp<\/code> directory and run the <code class=\"\" data-line=\"\">tsbs_test.sh --help<\/code> command as the root user.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\">sudo -s\ngit clone https:\/\/github.com\/taosdata\/tsbs\ncd tsbs\ngit checkout enh\/add-influxdb3.0\ncd scripts\/tsdbComp\n.\/tsbs_test.sh --help<\/code><\/pre>\n\n\n\n<p>This describes the scenarios that you can test and the configuration options available to you.<\/p>\n\n\n\n<p>Note that performance testing by nature requires machines with adequate hardware.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you would like to run the full test suite for the DevOps or IoT use case, use a server with at least 24 cores, 128 GB of RAM, and 500 GB of disk space.<\/li>\n\n\n\n<li>If you prefer to run the tests on a personal computer or smaller virtual machine, select the <code class=\"\" data-line=\"\">cputest<\/code> or <code class=\"\" data-line=\"\">iottest<\/code> scenarios. These scenarios run a subset of TSBS that can return results within 45 minutes on most computers. For these scenarios, a machine with 4 cores, 8 GB of RAM, and 40 GB of disk space is required.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"gb-text\"><span class=\"ez-toc-section\" id=\"8_Conclusion\"><\/span>8. Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Across all key test metrics for ingestion and querying, TDengine clearly emerges as the highest-performing time series database.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ingestion:<\/strong> Although InfluxDB 3 Core\u2019s performance is more stable than older versions when handling larger datasets, its ingestion rates still lag behind modern time-series databases like TDengine.<\/li>\n\n\n\n<li><strong>Queries:<\/strong> TDengine has the fastest query response time across all scenarios. InfluxDB Core returned results significantly slower than TDengine in all scenarios and failed to run several IoT queries due to incompatibility.<\/li>\n<\/ul>\n\n\n\n<p>The performance advantages shown by this evaluation indicate that TDengine excels at time-series data processing, especially with larger datasets and more complex queries. These advantages, combined with its <a href=\"https:\/\/tdengine.com\/comprehensive-solution\/\">comprehensive feature set<\/a> and ease of use, make TDengine the best option for growing enterprises to scale their data pipelines.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The performance advantages shown by this evaluation indicate that TDengine excels at time-series data processing, especially with larger datasets and more complex queries.<\/p>\n","protected":false},"author":127,"featured_media":25635,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[265],"tags":[],"ppma_author":[261],"class_list":["post-25632","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-influxdb"],"authors":[{"term_id":261,"user_id":127,"is_guest":0,"slug":"jfan","display_name":"Jim Fan","avatar_url":"https:\/\/eujqw4hwudm.exactdn.com\/wp-content\/uploads\/jfan-profile-new.jpg?strip=all&#038;sharp=1&#038;resize=96%2C96","1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/posts\/25632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/users\/127"}],"replies":[{"embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/comments?post=25632"}],"version-history":[{"count":14,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/posts\/25632\/revisions"}],"predecessor-version":[{"id":29471,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/posts\/25632\/revisions\/29471"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/media\/25635"}],"wp:attachment":[{"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/media?parent=25632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/categories?post=25632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/tags?post=25632"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/tdengine.com\/wp-json\/wp\/v2\/ppma_author?post=25632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}