v1.0.0-beta.1
Release date: November 11, 2025
π¨ Breaking changesβ
- refactor(pipeline)!: change dispatch table name format by @paomian in #6901
- feat!: improve
greptime_identitypipeline behavior by @waynexia in #6932 - refactor!: add
enable_read_cacheconfig to support disable read cache explicitly by @zyy17 in #6834 - refactor!: remove pb_value to json conversion, keep json output consistent by @sunng87 in #7063
- refactor!: unify the API of getting total cpu and memory by @zyy17 in #7049
- refactor!: add a
opentelemetry_traces_operationstable to aggregate(service_name, span_name, span_kind)to improve query performance by @zyy17 in #7144 - feat(metric)!: enable sparse primary key encoding by default by @WenyXu in #7195
π Highlightsβ
Dashboard v0.11.7 Releasedβ
- Metrics UI optimization: separated table and chart tabs, independent instant/range queries, support for time picker and multi-value display.
- Timezone optimization: support for timezone validation and local storage persistence.
- Flow management: UI for flow task CRUD operations.
Bulk Memtableβ
For scenarios with high cardinality primary keys, this release introduces experimental Bulk Memtable and a new data organization format (flat format). Both must be used together. Bulk Memtable offers lower memory usage when dealing with high cardinality primary keys. When primary key cardinality exceeds two million, memory usage can be reduced by more than 75%. Currently, Bulk Memtable performs better with larger write batch sizes, and we recommend setting batch sizes to 1024 rows or more when using Bulk Memtable. Additionally, the new data organization format provides better query performance in high cardinality scenarios compared to the original format.
Users can enable the new data format and Bulk Memtable by specifying sst_format as flat when creating tables.
CREATE TABLE flat_format_table(
request_id STRING,
content STRING,
greptime_timestamp TIMESTAMP TIME INDEX,
PRIMARY KEY (request_id))
WITH ('sst_format' = 'flat');
Additionally, for tables using the old format, you can switch to the flat format and Bulk Memtable using an ALTER statement.
ALTER TABLE old_format_table SET 'sst_format' = 'flat';
Tables using the flat format cannot be converted back to the old format. We will gradually switch the default format to the new format in future releases.
Independent Index File Cachingβ
This release implements independent local caching for index files on object storage, allowing index files to be cached in local disk cache as much as possible, reducing the probability of accessing object storage during index queries. By default, the database allocates 20% of disk cache space to index files. Users can adjust this ratio by setting the index_cache_percent parameter.
In previous versions, when users increased the local disk cache size, only newly generated data files could enter the local write cache, providing limited improvement for querying historical data. In this version, the database loads index files from object storage to local storage in the background after startup, reducing the time required for historical data queries.
Read-Write Permission Control Modeβ
This release introduces permission mode support for the static user provider, implementing read-write access control with support for read-only, write-only, and read-write permissions. This enhancement enables administrators to create users with specific access levels, improving security and data governance.
The static user provider now accepts the format username:permission_mode=password, where the optional permission_mode can be:
rw(read-write): Full access to read and write operationsro(read-only): Restricted to read operations onlywo(write-only): Restricted to write operations only
Examples:
# Read-write user (default, backward compatible)
greptime_user=greptime_pwd
# Or explicitly specified
greptime_user:rw=greptime_pwd
# Read-only user
greptime_user:ro=greptime_pwd
# Write-only user
greptime_user:wo=greptime_pwd
This feature is fully backward compatible with the old format - users without an explicitly specified permission mode default to read-write access (rw).
TQL Supports Value Aliasingβ
TQL now supports AS aliases for clearer column names and easier SQL integration.
TQL EVAL (0, 30, '10s') http_requests_total AS requests;
New objbench Subcommand (Datanode)β
This release adds the greptime datanode objbench subcommand for conducting read/write performance benchmarks on specified SST files in object storage. This tool can be used to analyze storage layer performance, troubleshoot slow queries or I/O latency issues, and supports generating flame graphs for deeper performance diagnostics.
Main Features
- Perform read/write performance tests on individual SST files
- Support detailed output (-v/--verbose)
- Support generating SVG flame graphs (--pprof-file)
- Can load datanode configuration files (--config)
# Basic test
greptime datanode objbench --config datanode.toml --source <path>.parquet
# Generate flame graph
greptime datanode objbench --config datanode.toml --source <path>.parquet --pprof-file flamegraph.svg