<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rebecca Tao</title>
    <description>The latest articles on DEV Community by Rebecca Tao (@rebecca_tao_651f5198fd9ea).</description>
    <link>https://dev.to/rebecca_tao_651f5198fd9ea</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2317209%2Fe00d3f0e-8dad-463d-9668-e7b1f9dfcf06.jpg</url>
      <title>DEV Community: Rebecca Tao</title>
      <link>https://dev.to/rebecca_tao_651f5198fd9ea</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rebecca_tao_651f5198fd9ea"/>
    <language>en</language>
    <item>
      <title>InfluxDB 3 Core vs. 1.8: Query Performance and Compatibility Tested</title>
      <dc:creator>Rebecca Tao</dc:creator>
      <pubDate>Wed, 12 Mar 2025 08:14:15 +0000</pubDate>
      <link>https://dev.to/rebecca_tao_651f5198fd9ea/influxdb-3-core-vs-18-query-performance-and-compatibility-tested-5dce</link>
      <guid>https://dev.to/rebecca_tao_651f5198fd9ea/influxdb-3-core-vs-18-query-performance-and-compatibility-tested-5dce</guid>
      <description>&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;TSBS testing demonstrates that for the vast majority of queries, &lt;strong&gt;InfluxDB 3 Core returns results more slowly&lt;/strong&gt; than InfluxDB 1.8, up to 48x slower in the DevOps use case and 30x slower in the IoT use case.&lt;/li&gt;
&lt;li&gt;In the IoT use case, six of the twelve InfluxQL test queries could not be executed in Influx 3 Core due to incompatibility. These queries ran normally on InfluxDB 1.8, indicating that InfluxDB 3 Core’s support for InfluxQL is still limited.&lt;/li&gt;
&lt;li&gt;When testing the larger TSBS dataset (4,000 devices with 10 metrics each), InfluxDB 3 Core &lt;strong&gt;could not perform at high concurrency&lt;/strong&gt; and required reducing the number of workers to three or fewer.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Following our &lt;a href="https://tdengine.com/influxdb-3-performance-comparison/" rel="noopener noreferrer"&gt;data ingestion testing&lt;/a&gt; of InfluxDB 3 Core published last week, we decided to compare the query performance of InfluxDB 3 Core with InfluxDB 1.8. Once again, we used the Time Series Benchmark Suite (TSBS) to ensure a level playing field for all database platforms. Because InfluxDB 3 Core supports InfluxQL, the TSBS query set for InfluxDB 1.8 should be able to run in the latest alpha without modification. However, during our testing, we found that InfluxQL compatibility is not complete.&lt;/p&gt;

&lt;p&gt;InfluxData has &lt;a href="https://docs.influxdata.com/influxdb3/core/reference/influxql/feature-support/" rel="noopener noreferrer"&gt;listed in their documentation&lt;/a&gt; a number of InfluxQL features that are not yet supported in the latest alpha. Even taking these into consideration, we were unable to obtain results for several TSBS queries due to errors, whereas all queries return results normally in InfluxDB 1.8. Additionally, the queries that did return in InfluxDB 3 Core showed significantly lower performance compared with InfluxDB 1.8.&lt;/p&gt;

&lt;h2&gt;
  
  
  DevOps Use Case
&lt;/h2&gt;

&lt;p&gt;As an initial performance comparison, we took the TSBS DevOps data from the smallest scenario of 100 devices and ran each query 4,000 times with 8 workers, obtaining the average response time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5mq4nfc4wkzuj7ami3p2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5mq4nfc4wkzuj7ami3p2.jpg" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F431yg1dlxk0uqndqkvqu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F431yg1dlxk0uqndqkvqu.jpg" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx8jdx2hz1ok863r9nqsy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx8jdx2hz1ok863r9nqsy.jpg" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiiq9zh4pe3lv4dobst84.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiiq9zh4pe3lv4dobst84.png" alt="Image description" width="800" height="865"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwhuubbbiim4pq1c6ew3a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwhuubbbiim4pq1c6ew3a.png" alt="Image description" width="800" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can see that InfluxDB 3 Core outperformed InfluxDB 1.8 in only two categories, double-groupby-all and high-cpu-all. For the other queries, it ranged from 1.6x slower in double-groupby-5 to 48x slower in lastpoint.&lt;/p&gt;

&lt;p&gt;Considering the cardinality improvements already evident in InfluxDB 3 Core, we increased the scale of the comparison from 100 devices to 4,000 devices to see whether the new version would perform better in a larger-scale scenario. However, at this point we began to encounter an error: InfluxDB began to reject HTTP requests, though it did not crash, and nothing was written to its logs. The error is shown as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlxrygxduin87ofik4a9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlxrygxduin87ofik4a9.png" alt="Image description" width="800" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To resolve this issue, we had to reduce the number of workers to three or even two. Most of the more complex queries were affected: double-groupby-1, double-groupby-5, double-groupby-all, high-cpu-all, groupby-orderby-limit, and lastpoint.&lt;/p&gt;
&lt;h2&gt;
  
  
  IoT Use Case
&lt;/h2&gt;

&lt;p&gt;We then moved to the TSBS IoT use case, which is more complex but more representative of the time-series data that TDengine users typically manage. Unfortunately, six of the twelve queries failed to run in InfluxDB 3 Core.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9768o272dbuf9k1lqiki.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9768o272dbuf9k1lqiki.jpg" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25hgdwgins59st9p3npi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25hgdwgins59st9p3npi.jpg" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvwf6ttvd57sl8459kqvo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvwf6ttvd57sl8459kqvo.png" alt="Image description" width="800" height="778"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Note: Entries listed as — indicate that the query failed or returned no results.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;InfluxDB 3 Core outperformed InfluxDB 1.8 in only one category, breakdown-frequency. For the other categories that returned results, it ranged from 1.1x slower in avg-load to 30x slower in last-loc.&lt;/p&gt;

&lt;p&gt;The six queries that failed were stationary-trucks, long-driving-sessions, long-daily-sessions, avg-daily-driving-duration, avg-daily-driving-session, and daily-activity. Of these, the latter three queries were not compatible with the InfluxQL implementation in InfluxDB 3 Core. As an example, the avg-daily-driving-duration query returned the following error.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxk2wrjdi7kdy67re5v6l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxk2wrjdi7kdy67re5v6l.png" alt="Image description" width="800" height="121"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Similar errors occurred for avg-daily-driving-session and daily-activity. As an experiment, we modified the InfluxQL queries and were able to get them to run in InfluxDB 3 Core with some effort, demonstrating that the InfluxQL API is not fully compatible with InfluxDB 1.8.&lt;/p&gt;

&lt;p&gt;In addition, the stationary-trucks, long-driving-sessions, and long-daily-sessions queries returned empty result sets. The queries all returned very quickly but did not contain any results. At this time, we have not been able to update these queries for InfluxDB 3 Core.&lt;/p&gt;

&lt;p&gt;Furthermore, when we increased the size of the query dataset to 4,000 devices, we also had to reduce the number of workers as described in the DevOps scenario. The affected queries were last-loc, high-load, avg-vs-projected-fuel-consumption, avg-daily-driving-session, avg-load, and breakdown-frequency.&lt;/p&gt;
&lt;h2&gt;
  
  
  Try for Yourself
&lt;/h2&gt;

&lt;p&gt;To automate the testing process and enable our users to compare databases using TSBS, we have developed a script that you can run on your own machine. On an Ubuntu 22 machine, clone the enh/add-influxdb3.0 branch of our TSBS fork to the /usr/local/src directory. Then open the scripts/tsdbComp directory and run the tsbs_test.sh --help command as the root user.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo -s
git clone https://github.com/taosdata/tsbs
cd tsbs
git checkout enh/add-influxdb3.0
cd scripts/tsdbComp
./tsbs_test.sh --help
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This describes the scenarios that you can test and the configuration options available to you. Note that for performance reasons, a machine with 4 cores and 8 GB of RAM is required to use this script.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;TSBS testing shows that InfluxDB 3 Core is still inferior to InfluxDB 1.8 in terms of query performance. More importantly, InfluxQL compatibility is still an issue for InfluxDB 3 Core. In addition, as queries in InfluxDB 3 Core are limited to 72 hours, many of the typical time-series use cases, such as those in TSBS, will be difficult or impossible to implement. As InfluxDB 3 Core is still in the public alpha phase, we are sure that its performance and compatibility will be improved in later releases. However, we advise open-source users to be wary of upgrading for the time being.&lt;/p&gt;

</description>
      <category>database</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Building Real-Time Dashboards with Grafana</title>
      <dc:creator>Rebecca Tao</dc:creator>
      <pubDate>Mon, 10 Mar 2025 17:22:21 +0000</pubDate>
      <link>https://dev.to/rebecca_tao_651f5198fd9ea/building-real-time-dashboards-with-grafana-36pl</link>
      <guid>https://dev.to/rebecca_tao_651f5198fd9ea/building-real-time-dashboards-with-grafana-36pl</guid>
      <description>&lt;p&gt;Time-series data is everywhere, from monitoring industrial sensors and tracking financial markets to logging system performance and analyzing user behavior. However, raw data alone isn’t always useful. Effective visualization helps uncover patterns, detect anomalies, and drive better decisions. This is where Grafana, an open-source analytics and monitoring tool, shines. In this article, we’ll explore how to use Grafana to visualize time-series data and make the most of its powerful features.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Grafana for Time-Series Data?
&lt;/h2&gt;

&lt;p&gt;Grafana is one of the most popular visualization tools for time-series data, thanks to its versatility, real-time monitoring capabilities, and compatibility with various databases. Here’s why it stands out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Supports Multiple Data Sources:&lt;/strong&gt; Works seamlessly with time-series databases like TDengine, InfluxDB, Prometheus, and TimescaleDB, as well as relational databases like PostgreSQL and MySQL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customizable Dashboards:&lt;/strong&gt; Provides a flexible dashboard interface with multiple visualization options, such as line charts, heatmaps, and histograms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time and Historical Data Analysis:&lt;/strong&gt; Allows users to explore both real-time streaming data and historical trends for deeper insights.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alerting System:&lt;/strong&gt; Enables setting up alerts based on specific conditions, ensuring timely responses to critical events.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plugins and Extensibility:&lt;/strong&gt; Offers a wide range of plugins for additional features and integrations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Real-World Use Cases
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Industrial IoT Monitoring
&lt;/h3&gt;

&lt;p&gt;Companies use Grafana to visualize &lt;strong&gt;sensor data from thousands of IoT devices&lt;/strong&gt;, tracking metrics like temperature, pressure, and power consumption.&lt;/p&gt;

&lt;h3&gt;
  
  
  Financial Market Data
&lt;/h3&gt;

&lt;p&gt;Traders and analysts use Grafana to track &lt;strong&gt;stock prices, market trends, and portfolio performance&lt;/strong&gt; with real-time updates.&lt;/p&gt;

&lt;h3&gt;
  
  
  IT Infrastructure Observability
&lt;/h3&gt;

&lt;p&gt;Organizations monitor &lt;strong&gt;server uptime, CPU utilization, and database performance&lt;/strong&gt; to prevent downtime and optimize resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Grafana is a powerful tool for visualizing and monitoring time-series data, enabling businesses and engineers to gain deep insights into trends and anomalies. Whether you’re tracking system performance, analyzing IoT data, or monitoring financial markets, Grafana provides the flexibility and real-time capabilities needed for effective decision-making.&lt;/p&gt;

&lt;p&gt;If you’re working with time-series data, &lt;strong&gt;integrating Grafana with TDengine&lt;/strong&gt; can further enhance performance, providing high-speed queries and optimized storage tailored for massive time-series datasets.&lt;/p&gt;

&lt;p&gt;Ready to take your data visualization to the next level? Set up Grafana today and start exploring the hidden insights in your time-series data!&lt;/p&gt;

</description>
      <category>grafana</category>
      <category>database</category>
    </item>
    <item>
      <title>TDengine Achieves 10x Compression vs. Elasticsearch for Smart Vehicle Solution Provider</title>
      <dc:creator>Rebecca Tao</dc:creator>
      <pubDate>Fri, 07 Mar 2025 08:59:43 +0000</pubDate>
      <link>https://dev.to/rebecca_tao_651f5198fd9ea/tdengine-achieves-10x-compression-vs-elasticsearch-for-smart-vehicle-solution-provider-1lkd</link>
      <guid>https://dev.to/rebecca_tao_651f5198fd9ea/tdengine-achieves-10x-compression-vs-elasticsearch-for-smart-vehicle-solution-provider-1lkd</guid>
      <description>&lt;p&gt;A smart vehicle solutions provider had developed a system for their tire products. As the scale of data within the system continued to grow, the overall business response speed and stability of the system became pain points for their internal and external customers. To improve performance with large-scale data, the project team responsible for the system decided to replace Elasticsearch with TDengine. This article provides a comprehensive analysis of how the system was transformed by the introduction of TDengine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Background
&lt;/h2&gt;

&lt;p&gt;Over the past two years, the system had been integrated with a smart rental system as well as the fleet management system of a major domestic logistics firm. With this expansion, Elasticsearch was no longer able to meet users’ data demands. The team began researching alternative data management platforms and in the end chose to deploy a specialized time-series database.&lt;/p&gt;

&lt;p&gt;After conducting various evaluations, TDengine was ultimately selected as the time-series database for the smart tire system. The main reasons mentioned are listed as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Business Suitability:&lt;/strong&gt; TDengine is designed and optimized for industrial use cases like IoT and connected cars.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operational Costs:&lt;/strong&gt; TDengine Enterprise includes 24/7 technical support for operations and maintenance, significantly reducing operational costs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Compression:&lt;/strong&gt; TDengine’s columnar storage architecture enables a high data compression ratio. Compared with Elasticsearch, real-world tests showed that TDengine achieved a compression ratio of over 1:10, cutting disk storage costs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High Read/Write Performance:&lt;/strong&gt; TDengine has excellent write performance for time-series data. Tests with a three-node high-performance cloud disk setup achieved a write speed of 300,000 data points per second. Its read performance is also outstanding, with query speeds 10 times faster than Elasticsearch for the same volume of time-series data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low Resource Consumption &amp;amp; High Availability:&lt;/strong&gt; TDengine has low server resource usage and offers high availability and stability. It supports user-defined functions (UDFs) for algorithm integration and various built-in mathematical functions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cold &amp;amp; Hot Data Separation:&lt;/strong&gt; TDengine supports tiered storage, automatically migrating historical data to lower-cost storage media, further reducing enterprise data storage expenses.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  System Architecture &amp;amp; Implementation Insights
&lt;/h2&gt;

&lt;p&gt;The current project uses TDengine Enterprise 3.1.1.11 in a three-node cluster, with each node configured with a 16-core CPU, 64 GB of RAM, and 3 TB of high-performance cloud storage. Below is a simplified data flow architecture:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvpa8jretp9wrc59savta.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvpa8jretp9wrc59savta.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Edge gateways collect metrics such as tire temperature, pressure, and leakage status at set intervals (in seconds). After initial data integration and threshold comparison at the edge, the edge gateway sends data to the cloud gateway at three-minute intervals (or in seconds during alert conditions) via TCP and a proprietary protocol.&lt;/p&gt;

&lt;p&gt;After passing through the cloud gateway, real-time streaming data undergoes decoding, real-time analysis, alert pushing, and data integration before being batch-written into TDengine. Data is presorted before ingestion to ensure sequential writes and reduce data fragmentation.&lt;/p&gt;

&lt;p&gt;TDengine’s “one table per device” model was adopted for data storage, and the database for vehicle tire temperature and pressure data was configured as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data retention period:&lt;/strong&gt; 180 days&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File partitioning:&lt;/strong&gt; 1-day intervals&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data differentiation:&lt;/strong&gt; Timestamp-based distinction for multiple tire positions on the same vehicle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally, by leveraging TDengine’s built-in functions and user-defined functions, real-time stream processing was implemented for time-series algorithms (e.g., real-time temperature situational awareness) to improve warning efficiency, reduce false alarms, and enhance responsiveness.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance &amp;amp; Transformation Results
&lt;/h2&gt;

&lt;p&gt;Since going live, the project has been running stably with a steady resource consumption rate. Compared with Elasticsearch, TDengine has demonstrated significant advantages in storing time-series data:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disk Usage:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Elasticsearch:&lt;/strong&gt; Uses Lucene for JSON-based storage, leading to low compression and high disk usage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;TDengine:&lt;/strong&gt; Columnar storage ensures high compression, achieving a 10x reduction in disk usage compared to Elasticsearch.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Memory Usage (64 GB per node):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Elasticsearch:&lt;/strong&gt; Each of the 4 nodes used more than 54 GB of memory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0jiw1siysigfdb977hhd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0jiw1siysigfdb977hhd.jpg" alt="Image description" width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TDengine:&lt;/strong&gt; Each of the 3 nodes used only about 4 GB of memory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvg2o6wr5aonr2n1p5ite.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvg2o6wr5aonr2n1p5ite.jpg" alt="Image description" width="800" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Other advantages of TDengine include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;High Read/Write Performance:&lt;/strong&gt; Extremely fast sequential write speeds and highly efficient time-range queries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complex Time-Series Computation:&lt;/strong&gt; The UDF feature allows real-time stream computing for tire temperature trends and other complex time-series analytics without affecting overall system stability or latency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Subscription Services:&lt;/strong&gt; Using TDengine’s data subscription feature, data is seamlessly transferred to a cloud compute platform for near real-time visualization and modeling.
Additionally, third-party platforms can leverage TDengine’s data subscription feature for seamless data integration, facilitating data exchange with logistics companies, vehicle manufacturers, and public transportation providers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Visualization &amp;amp; Future Prospects
&lt;/h2&gt;

&lt;p&gt;In the field of vehicle tire temperature and pressure monitoring, the completeness, real-time performance, interactivity, and flexibility of displayed information are crucial. TDengine’s efficient query capabilities and easy-to-use SQL syntax enable seamless implementation of these requirements. TDengine has increased performance and reduced costs at this company, and they have also used its integrations to built a dashboard displaying various vehicle alert events, supporting fleet operators in making data-driven decisions.&lt;/p&gt;

</description>
      <category>database</category>
      <category>elasticsearch</category>
    </item>
    <item>
      <title>InfluxDB 3.0 vs 1.8: A Surprising Decline in Ingestion Speed</title>
      <dc:creator>Rebecca Tao</dc:creator>
      <pubDate>Thu, 06 Mar 2025 01:25:57 +0000</pubDate>
      <link>https://dev.to/rebecca_tao_651f5198fd9ea/influxdb-30-vs-18-a-surprising-decline-in-ingestion-speed-4mh6</link>
      <guid>https://dev.to/rebecca_tao_651f5198fd9ea/influxdb-30-vs-18-a-surprising-decline-in-ingestion-speed-4mh6</guid>
      <description>&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;TSBS testing demonstrates that for datasets with fewer than 1 million devices, InfluxDB OSS 3.0 actually &lt;strong&gt;ingests data more slowly&lt;/strong&gt; than InfluxDB OSS 1.8.&lt;/li&gt;
&lt;li&gt;For datasets of 1 million or more devices, InfluxDB OSS 3.0’s data ingestion performance is faster than InfluxDB OSS 1.8.&lt;/li&gt;
&lt;li&gt;InfluxDB OSS 3.0’s data ingestion &lt;strong&gt;interfaces are not consistent&lt;/strong&gt; with InfluxDB 1.8, meaning that users cannot migrate smoothly.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;When InfluxDB 3.0 was released to enterprise customers back in 2023, it was claimed to be a major performance improvement over previous versions. At the time, InfluxData published a &lt;a href="https://www.influxdata.com/resources/influxdb-3-0-vs-oss/" rel="noopener noreferrer"&gt;benchmark report&lt;/a&gt; comparing the new enterprise version with InfluxDB OSS 1.8, which showed great results across the board for InfluxDB 3.0.&lt;/p&gt;

&lt;p&gt;We wanted to try it for ourselves, but we’re not enterprise customers — so like the rest of you, we had to wait for &lt;strong&gt;a year and a half&lt;/strong&gt; till InfluxDB OSS 3.0 finally came out this January. And although the current release is admittedly just a “public alpha,” we still had high hopes for its performance. Considering that InfluxData rearchitected their entire product for the second time, causing great frustration to existing users hoping for a smooth upgrade process, and even deprecating their Flux language, they must have been able to produce amazing results. Otherwise, it would hardly be worth upgrading, right?&lt;/p&gt;

&lt;h2&gt;
  
  
  Putting InfluxDB to the Test
&lt;/h2&gt;

&lt;p&gt;To prove how much better InfluxDB 3.0 performs, we decided to compare it against InfluxDB 1.8 using the &lt;a href="https://github.com/timescale/tsbs" rel="noopener noreferrer"&gt;Time Series Benchmark Suite (TSBS)&lt;/a&gt; originally developed by InfluxData and now maintained, to some extent, by Timescale. Because InfluxDB 3.0 supports InfluxQL and InfluxDB’s line protocol, in theory the test suite for 1.8 should be able to run on the new public alpha. In fact, we did run into several compatibility issues during the testing process and had to find workarounds; this is discussed in the Methodology section below.&lt;/p&gt;

&lt;p&gt;We wanted to use TSBS because it would give more comprehensive results than the somewhat simplistic benchmarks run by &lt;a href="https://questdb.com/blog/influxdb3-core-alpha-benchmarks-and-caveats/" rel="noopener noreferrer"&gt;QuestDB&lt;/a&gt; and also be a fair comparison on an open and well-established framework. &lt;strong&gt;The results, however, were surprising.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;TSBS includes two use cases, a DevOps scenario involving CPU monitoring, and an IoT scenario involving vehicle tracking. For this comparison, we used TSBS to generate the data for both use cases and ingest it into InfluxDB 3 0.1.0 revision v2.5.0-14345, InfluxDB OSS 1.8, and TDengine OSS 3.3.5.8. The following tables show the data ingestion performance of each system in metrics per second.&lt;/p&gt;

&lt;h2&gt;
  
  
  TSBS DevOps Use Case
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjqf2e3rxrr7brooz95g9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjqf2e3rxrr7brooz95g9.jpg" alt="Image description" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7mtv0j56ji0iol73lad.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7mtv0j56ji0iol73lad.jpg" alt="Image description" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  TSBS IoT Use Case
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzexa4m8dgblf76gs30c3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzexa4m8dgblf76gs30c3.jpg" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff1t9w69vbtictuu9un7m.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff1t9w69vbtictuu9un7m.jpg" alt="Image description" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the largest-scale datasets, ingestion performance increased by 5.4x in DevOps and 4.9x in IoT — a &lt;strong&gt;far cry from the “45x better write throughput”&lt;/strong&gt; that InfluxData’s benchmark report claims for InfluxDB 3.0 Enterprise. More alarmingly, in the three datasets with 100,000 devices or fewer, &lt;strong&gt;InfluxDB 1.8 actually outperformed InfluxDB 3.0.&lt;/strong&gt; We can see that for data ingestion, the claimed performance improvements in InfluxDB 3.0 are either limited to enterprise customers or do not hold up against independent testing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2407rxv564z9cmr7a9x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2407rxv564z9cmr7a9x.jpg" alt="Image description" width="756" height="275"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.influxdata.com/blog/influxdb-3-0-is-2.5x-45x-faster-compared-to-influxdb-open-source/" rel="noopener noreferrer"&gt;InfluxData’s claims from their website&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Although InfluxDB 3.0 has been rebuilt from the ground up, its ingestion performance still cannot match a modern time-series database like TDengine. The test results show that TDengine‘s ingestion was between 4.4x and 11.3x faster than InfluxDB 3.0, and between 3.1x and 22.8x faster than InfluxDB 1.8.&lt;/p&gt;

&lt;h2&gt;
  
  
  Methodology
&lt;/h2&gt;

&lt;p&gt;All testing was performed on a 40-core machine with 256 GB of RAM. While this is slightly smaller than the machine used in InfluxDB’s benchmark report and larger than the machine used by QuestDB, we do not believe that upgrading or downgrading hardware would affect the overall trends in performance.&lt;/p&gt;

&lt;p&gt;Because TSBS has not been updated to support InfluxDB 3.0, we were forced to make certain modifications to enable testing. In the interest of fairness, we tried to limit our modifications as much as possible, but the following issues needed to be addressed:&lt;/p&gt;

&lt;p&gt;1.The commands to show, create, and delete databases used in TSBS for InfluxDB 1.8 were not operational in InfluxDB 3.0. Instead, we used the InfluxDB v3 API as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GET /api/v3/configure/database to show databases&lt;/li&gt;
&lt;li&gt;POST /api/v3/configure/database to create databases&lt;/li&gt;
&lt;li&gt;DELETE /api/v3/configure/database to delete databases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2.With more than one worker, InfluxDB 3.0 would experience failures to write data and throw the error Invalid write response (status 409): catalog update error: table already exists. To avoid this, we modified TSBS to retry writes that failed due to this error, instead of exiting. We used the /api/v3/write_lp interface to write data to InfluxDB 3.0.&lt;/p&gt;

&lt;p&gt;You can review all modifications on our &lt;a href="https://github.com/taosdata/tsbs/tree/enh/add-influxdb3.0" rel="noopener noreferrer"&gt;fork of TSBS&lt;/a&gt; and also run the test suite yourself using our scripts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;While the newly redesigned InfluxDB 3.0 promises much, when it comes to ingestion, at least for open-source users, it fails to deliver. Comprehensive testing demonstrates that its ingestion performance is only somewhat superior to InfluxDB 1.8 for the largest datasets that most users will never encounter, and even falls behind for sites that include fewer than a million devices. Although the currently released version is a public alpha not ready for production, after more than a year, we have to ask: is this the best that InfluxData can offer to the open-source community?&lt;/p&gt;

&lt;p&gt;With the difficulty of upgrading existing deployments to InfluxDB 3.0, open-source users need to decide whether it’s worth the trouble. &lt;strong&gt;If ingestion performance has been a bottleneck for you, it’s clear that, at least for now, upgrading to 3.0 is not a solution.&lt;/strong&gt; Instead, consider a time-series database like TDengine that respects its community by consistently releasing high-performance, full-featured software that is available to everyone.&lt;/p&gt;

</description>
      <category>database</category>
      <category>opensource</category>
    </item>
    <item>
      <title>InfluxDB 3.0 vs 1.8: A Surprising Decline in Ingestion Speed</title>
      <dc:creator>Rebecca Tao</dc:creator>
      <pubDate>Thu, 06 Mar 2025 01:25:57 +0000</pubDate>
      <link>https://dev.to/rebecca_tao_651f5198fd9ea/influxdb-30-vs-18-a-surprising-decline-in-ingestion-speed-15m6</link>
      <guid>https://dev.to/rebecca_tao_651f5198fd9ea/influxdb-30-vs-18-a-surprising-decline-in-ingestion-speed-15m6</guid>
      <description>&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;TSBS testing demonstrates that for datasets with fewer than 1 million devices, InfluxDB OSS 3.0 actually &lt;strong&gt;ingests data more slowly&lt;/strong&gt; than InfluxDB OSS 1.8.&lt;/li&gt;
&lt;li&gt;For datasets of 1 million or more devices, InfluxDB OSS 3.0’s data ingestion performance is faster than InfluxDB OSS 1.8.&lt;/li&gt;
&lt;li&gt;InfluxDB OSS 3.0’s data ingestion &lt;strong&gt;interfaces are not consistent&lt;/strong&gt; with InfluxDB 1.8, meaning that users cannot migrate smoothly.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;When InfluxDB 3.0 was released to enterprise customers back in 2023, it was claimed to be a major performance improvement over previous versions. At the time, InfluxData published a &lt;a href="https://www.influxdata.com/resources/influxdb-3-0-vs-oss/" rel="noopener noreferrer"&gt;benchmark report&lt;/a&gt; comparing the new enterprise version with InfluxDB OSS 1.8, which showed great results across the board for InfluxDB 3.0.&lt;/p&gt;

&lt;p&gt;We wanted to try it for ourselves, but we’re not enterprise customers — so like the rest of you, we had to wait for &lt;strong&gt;a year and a half&lt;/strong&gt; till InfluxDB OSS 3.0 finally came out this January. And although the current release is admittedly just a “public alpha,” we still had high hopes for its performance. Considering that InfluxData rearchitected their entire product for the second time, causing great frustration to existing users hoping for a smooth upgrade process, and even deprecating their Flux language, they must have been able to produce amazing results. Otherwise, it would hardly be worth upgrading, right?&lt;/p&gt;

&lt;h2&gt;
  
  
  Putting InfluxDB to the Test
&lt;/h2&gt;

&lt;p&gt;To prove how much better InfluxDB 3.0 performs, we decided to compare it against InfluxDB 1.8 using the &lt;a href="https://github.com/timescale/tsbs" rel="noopener noreferrer"&gt;Time Series Benchmark Suite (TSBS)&lt;/a&gt; originally developed by InfluxData and now maintained, to some extent, by Timescale. Because InfluxDB 3.0 supports InfluxQL and InfluxDB’s line protocol, in theory the test suite for 1.8 should be able to run on the new public alpha. In fact, we did run into several compatibility issues during the testing process and had to find workarounds; this is discussed in the Methodology section below.&lt;/p&gt;

&lt;p&gt;We wanted to use TSBS because it would give more comprehensive results than the somewhat simplistic benchmarks run by &lt;a href="https://questdb.com/blog/influxdb3-core-alpha-benchmarks-and-caveats/" rel="noopener noreferrer"&gt;QuestDB&lt;/a&gt; and also be a fair comparison on an open and well-established framework. &lt;strong&gt;The results, however, were surprising.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;TSBS includes two use cases, a DevOps scenario involving CPU monitoring, and an IoT scenario involving vehicle tracking. For this comparison, we used TSBS to generate the data for both use cases and ingest it into InfluxDB 3 0.1.0 revision v2.5.0-14345, InfluxDB OSS 1.8, and TDengine OSS 3.3.5.8. The following tables show the data ingestion performance of each system in metrics per second.&lt;/p&gt;

&lt;h2&gt;
  
  
  TSBS DevOps Use Case
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjqf2e3rxrr7brooz95g9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjqf2e3rxrr7brooz95g9.jpg" alt="Image description" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7mtv0j56ji0iol73lad.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7mtv0j56ji0iol73lad.jpg" alt="Image description" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  TSBS IoT Use Case
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzexa4m8dgblf76gs30c3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzexa4m8dgblf76gs30c3.jpg" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff1t9w69vbtictuu9un7m.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff1t9w69vbtictuu9un7m.jpg" alt="Image description" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the largest-scale datasets, ingestion performance increased by 5.4x in DevOps and 4.9x in IoT — a &lt;strong&gt;far cry from the “45x better write throughput”&lt;/strong&gt; that InfluxData’s benchmark report claims for InfluxDB 3.0 Enterprise. More alarmingly, in the three datasets with 100,000 devices or fewer, &lt;strong&gt;InfluxDB 1.8 actually outperformed InfluxDB 3.0.&lt;/strong&gt; We can see that for data ingestion, the claimed performance improvements in InfluxDB 3.0 are either limited to enterprise customers or do not hold up against independent testing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2407rxv564z9cmr7a9x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2407rxv564z9cmr7a9x.jpg" alt="Image description" width="756" height="275"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.influxdata.com/blog/influxdb-3-0-is-2.5x-45x-faster-compared-to-influxdb-open-source/" rel="noopener noreferrer"&gt;InfluxData’s claims from their website&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Although InfluxDB 3.0 has been rebuilt from the ground up, its ingestion performance still cannot match a modern time-series database like TDengine. The test results show that TDengine‘s ingestion was between 4.4x and 11.3x faster than InfluxDB 3.0, and between 3.1x and 22.8x faster than InfluxDB 1.8.&lt;/p&gt;

&lt;h2&gt;
  
  
  Methodology
&lt;/h2&gt;

&lt;p&gt;All testing was performed on a 40-core machine with 256 GB of RAM. While this is slightly smaller than the machine used in InfluxDB’s benchmark report and larger than the machine used by QuestDB, we do not believe that upgrading or downgrading hardware would affect the overall trends in performance.&lt;/p&gt;

&lt;p&gt;Because TSBS has not been updated to support InfluxDB 3.0, we were forced to make certain modifications to enable testing. In the interest of fairness, we tried to limit our modifications as much as possible, but the following issues needed to be addressed:&lt;/p&gt;

&lt;p&gt;1.The commands to show, create, and delete databases used in TSBS for InfluxDB 1.8 were not operational in InfluxDB 3.0. Instead, we used the InfluxDB v3 API as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GET /api/v3/configure/database to show databases&lt;/li&gt;
&lt;li&gt;POST /api/v3/configure/database to create databases&lt;/li&gt;
&lt;li&gt;DELETE /api/v3/configure/database to delete databases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2.With more than one worker, InfluxDB 3.0 would experience failures to write data and throw the error Invalid write response (status 409): catalog update error: table already exists. To avoid this, we modified TSBS to retry writes that failed due to this error, instead of exiting. We used the /api/v3/write_lp interface to write data to InfluxDB 3.0.&lt;/p&gt;

&lt;p&gt;You can review all modifications on our &lt;a href="https://github.com/taosdata/tsbs/tree/enh/add-influxdb3.0" rel="noopener noreferrer"&gt;fork of TSBS&lt;/a&gt; and also run the test suite yourself using our scripts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;While the newly redesigned InfluxDB 3.0 promises much, when it comes to ingestion, at least for open-source users, it fails to deliver. Comprehensive testing demonstrates that its ingestion performance is only somewhat superior to InfluxDB 1.8 for the largest datasets that most users will never encounter, and even falls behind for sites that include fewer than a million devices. Although the currently released version is a public alpha not ready for production, after more than a year, we have to ask: is this the best that InfluxData can offer to the open-source community?&lt;/p&gt;

&lt;p&gt;With the difficulty of upgrading existing deployments to InfluxDB 3.0, open-source users need to decide whether it’s worth the trouble. &lt;strong&gt;If ingestion performance has been a bottleneck for you, it’s clear that, at least for now, upgrading to 3.0 is not a solution.&lt;/strong&gt; Instead, consider a time-series database like TDengine that respects its community by consistently releasing high-performance, full-featured software that is available to everyone.&lt;/p&gt;

</description>
      <category>database</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
