We are excited to announce the release of the version 1.3.1 of TimechoDB, based on Apache IoTDB. This update brings a host of new features and system optimizations.
New Features & Improvements
Added scripts for easy cluster startup and shutdown (
start-all/stop-all.sh
andstart-all/stop-all.bat
)Introduced scripts for one-click collecting instance information (
collect-info.sh
andcollect-info.bat
)Fill
clause now supports setting a timeout threshold for filling, ensuring no filling occurs beyond the specified time thresholdSQL queries now support querying cluster activation information
Tiered storage now includes transmission rate control during migration
Simplified time range specification for data synchronization, now the start and end times can be set directly
Data synchronization now supports SSL transmission protocol (iotdb-thrift-ssl-sink plugin)
Enhanced system observability (added dispersion monitoring for cluster nodes and observable distributed task scheduling framework)
Optimized default output strategy of logs
Improved memory control for
load TsFile
, covering the entire processRest-API (version 2) now returns column types
Bug Fixes
Fixed issues with
group by month
when precision is not in millisecondsFixed anomalies with
group by month
whenduration
contains multiple unitsAddressed problems with
limit
andoffset
not being pushed down when there is anorder by
clauseCorrected anomalies in scenarios involving combinitions of
group by month
+align by device
+limit
Resolved deserialization errors during IoT protocol synchronization
Handled concurrent exceptions during
delete timeseries
Fixed issues with
group by level
not executing correctly for view sequencesAddressed potential metadata creation failure due to increased
election timeout
Feature Spotlight: Fill Clause Supports Setting Fill Timeout Threshold - No Filling Beyond Time Threshold
The Fill
clause is a clause used in queries, allowing for filling of null values in time series data using specified strategies (e.g., forward filling, constant filling, or linear filling). In real-world IoTDB scenarios, some users consider data to be irrelevant if the time interval between the current value and the previous value exceeds a certain threshold. Therefore, we have extended the functionality of the Fill
clause to support setting a timeout range. If the time interval exceeds this range, no filling will occur even if there are previous values available.
Taking the scenario below as an example, the user has set the timeout duration as 2 minutes. The intervals between the timestamps of rows 2 & 3 and that of the previous value (row 1) were less than 2 minuts, thus, filling with previous data point is necessary. The timestamps of the values in rows 4 and 5, however, had a delay of more than 2 minutes, therefore, no forward filling shall be excuted.
This scenario refers to the fill clause fill(previous, 2m)
the IoTDB fill statement FILL(PREVIOUS, 2m) can be used, and the resulting filled data would appear as shown.
SQL Statements
fillClause
: FILL LR_BRACKET (LINEAR | PREVIOUS | constant) (COMMA interval=DURATION_LITERAL)? RR_BRACKET
DURATION_LITERAL
: (INTEGER_LITERAL+ (Y|M O|W|D|H|M|S|M S|U S|N S))+
;