TimechoDB v1.3.2 Released: Introducing Explain Analyze and UDAF Custom Aggregation Framework

We are thrilled to announce the official release of TimechoDB v1.3.2, based on Apache IoTDB!

TimechoDB is an enterprise-level product designed to meet the rigorous demands of modern data management. Version 1.3.2 introduces a host of new features, including an "explain analyze" statement for detailed SQL query analysis, a user-defined aggregate function (UDAF) framework, automatic data deletion upon reaching disk space thresholds, metadata synchronization, data point statistics for specified paths, and import/export SQL scripts. Additionally, our cluster management tool now supports rolling upgrades and plugin uploads across the entire cluster. This release also brings comprehensive enhancements to database monitoring, performance, and stability.

Key Features

Storage Module

  • Improved insertRecords Interface Performance: Enhanced the write performance of the insertRecords interface.

  • SpaceTL Feature: Automatically deletes data when disk space reaches a set threshold.

Query Module

  • Explain Analyze Statement: Monitors the execution time of each stage of a single SQL query.

  • UDAF Framework: Allows users to define custom aggregate functions.

  • New Envelope Demodulation Analysis in UDF.

  • MaxBy/MinBy Functions: Retrieve the timestamp of the maximum/minimum values.

  • Improved Value Filtering Query Performance.

Data Synchronization

  • Wildcard Path Matching: Supports metadata synchronization, including time series, related attributes, and permissions.

Stream Processing

  • Alter Pipe Statement: Allows hot updates to Pipe tasks with plugins.

System Module

  • Data Point Statistics: Includes statistics for data imported via load TsFile.

Scripts and Tools

  • Local Upgrade Backup Tool: Backs up existing data using hard links.

  • Export-Data/Import-Data Scripts: Supports exporting data as CSV, TsFile, or SQL statements.

  • Windows Environment Support: Distinguishes ConfigNode, DataNode, and CLI through window names.

...

Feature Spotlight: Explain Analyze Statement

Introduction

Query analysis helps users understand the execution mechanism and performance bottlenecks of queries, leading to optimization and performance improvement. This not only affects the execution efficiency but also directly impacts user experience and resource utilization. TimechoDB's new query analysis statement, Explain Analyze, is designed for effective query analysis.

Explain Analyze allows users to preview the execution plan of a query SQL, showing how TimechoDB organizes data retrieval and processing. It also includes performance analysis, fully executing the SQL and displaying the time and resource consumption during the query execution process. This provides detailed information for users to understand query details and perform optimizations.

SQL Syntax

Syntax:

EXPLAIN ANALYZE [VERBOSE] <SELECT_STATEMENT>

Example Usage:

explain analyze select column2 from root.explain.analyze.data order by column1;

Returned Results:

+-------------------------------------------------------------------------------------------------+
|                                                                                  Explain Analyze|
+-------------------------------------------------------------------------------------------------+
|Analyze Cost: 1.739 ms                                                                           |
|Fetch Partition Cost: 0.940 ms                                                                   |
|Fetch Schema Cost: 0.066 ms                                                                      |
|Logical Plan Cost: 0.000 ms                                                                      |
|Logical Optimization Cost: 0.000 ms                                                              |
|Distribution Plan Cost: 0.000 ms                                                                 |
|Fragment Instances Count: 1                                                                      |
|                                                                                                 |
|FRAGMENT-INSTANCE[Id: 20240315_115800_00030_1.2.0][IP: 127.0.0.1][DataRegion: 4][State: FINISHED]|
|  Total Wall Time: 25 ms                                                                         |
|  Cost of initDataQuerySource: 0.175 ms                                                          |
|  Seq File(unclosed): 0, Seq File(closed): 1                                                     |
|  UnSeq File(unclosed): 0, UnSeq File(closed): 0                                                 |
|  ready queued time: 0.280 ms, blocked queued time: 2.456 ms                                     |
|    [PlanNodeId 10]: IdentitySinkNode(IdentitySinkOperator)                                      |
|        CPU Time: 0.780 ms                                                                       |
|        output: 1 rows                                                                           |
|        HasNext() Called Count: 3                                                                |
|        Next() Called Count: 2                                                                   |
|        Estimated Memory Size: : 1245184                                                         |
|      [PlanNodeId 5]: TransformNode(TransformOperator)                                           |
|          CPU Time: 0.764 ms                                                                     |
|          output: 1 rows                                                                         |
|          HasNext() Called Count: 3                                                              |
|          Next() Called Count: 2                                                                 |
|          Estimated Memory Size: : 1245184                                                       |
|          ......                                                                                 |
+-------------------------------------------------------------------------------------------------+

For more detailed information, please refer to the user manual.

Contact us for a free trial of TimechoDB v1.3.2!