跳到主要内容

v0.14.0

· 阅读需 16 分钟

Release date: April 25, 2025

👍 Highlights

  • Bulk Insert: Adds support for high-performance bulk data ingestion.
  • Otel Traces: Official releases otel traces.
  • Fulltext Enhancements: Improves fulltext search with new functions (e.g., matches_term, @@ operator), backend switching, and term optimizations.
  • Flow Engine: Introduces batching mode and dual engine capability for more flexible data processing.
  • Partitioning: Supports column-wise and UUID-based partition rules for better scalability.
  • Region Management: New tools for region sync, monitoring, leader region collection, and region failover handling.
  • PromQL Engine: Enhanced query performance, range manipulation speed, and stability.
  • SQL & API Improvements: Adds REPLACE INTO, new regex and JSON features, and various compatibility fixes.
  • Performance & Reliability: Optimizations for memory, storage, and parallel computation; numerous bug fixes for stability.
  • Observability: Per-region metrics, expanded Grafana dashboards, and better profiling tools.
  • Protocol & Integration: Implements Arrow Flight "DoPut" for fast data loading; improves PostgreSQL protocol support.

Plus: Many dependency upgrades, improved config and error handling, and new contributors joined!

🖥️ Dashboard

  • Upgrade web dashboard to v0.9, supports SQL explain visualization and editor improvements.

Breaking changes

  • refactor!: Remove Value::DateTime and ValueRef::DateTime. by @linyihai in #5616
  • refactor!: make pipeline a required parameter when ingesting trace by @sunng87 in #5828

🚀 Features

🐛 Bug Fixes

🚜 Refactor

  • refactor: add pipeline concept to OTLP traces and remove OTLP over gRPC by @sunng87 in #5605
  • refactor: simplify udf by @MichaelScofield in #5617
  • refactor: rename table function to admin function by @waynexia in #5636
  • refactor: remove or deprecated existing UDAF implementation by @waynexia in #5637
  • refactor: remove cluster id field by @v0y4g3r in #5610
  • refactor(mito): move wal sync task to background by @v0y4g3r in #5677
  • refactor: update jaeger api implementation for new trace modeling by @sunng87 in #5655
  • refactor: remove trace id from primary key in opentelemetry_traces table by @zyy17 in #5733
  • refactor: make frontend instance clear by @fengys1996 in #5754
  • refactor: move list_flow_stats to ClusterInfo trait. by @WenyXu in #5774
  • refactor: remove useless partition legacy code by @v0y4g3r in #5786
  • refactor: remove useless region follower legacy code by @WenyXu in #5787
  • refactor: remove useless region follower legacy code by @WenyXu in #5795
  • refactor: skip re-taking arrays in memtable if possible by @MichaelScofield in #5779
  • refactor: remove deprecated find_unique method by @waynexia in #5790
  • refactor: remove mode option in configuration files by @fengys1996 in #5809
  • refactor: allow bloom filter search to apply and conjunction by @zhongzc in #5770
  • refactor: remove prom store write dispatch by @shuiyisong in #5812
  • refactor: remove backoff config by @WenyXu in #5808
  • refactor: add time range for jager get operations API by @zyy17 in #5791
  • refactor: improve performance for Jaeger APIs by @zyy17 in #5838
  • refactor: check and fix super import by @waynexia in #5846
  • refactor(flow): make start flownode clearer by @discord9 in #5848
  • refactor: abstract index source from fulltext index applier by @zhongzc in #5845
  • refactor: improve error code handling in status code conversion by @WenyXu in #5851
  • refactor: simplify tls key read code and add sec1 key support by @sunng87 in #5856
  • refactor: avoid empty display in errors by @MichaelScofield in #5858
  • refactor: add partition_rules_for_uuid() by @zyy17 in #5743
  • refactor: unify all dashboards and use dac tool to generate intermediate dashboards by @zyy17 in #5933
  • refactor: run_pipeline parameters by @shuiyisong in #5954

📚 Documentation

⚡ Performance

  • perf: rm coalesce batch when target_batch_size > fetch limit by @discord9 in #5658
  • perf(prom): optimize label values query by @WenyXu in #5653
  • perf: support in list in simple filter by @waynexia in #5709
  • perf: introduce simd_json for parsing ndjson by @shuiyisong in #5794
  • perf: evolve promql execution engine by @waynexia in #5691
  • perf: faster range manipulate for promql by @waynexia in #5859
  • perf: avoid duplicate computation in promql by @waynexia in #5863
  • perf: keep compiled regex in SimpleFilterEvaluator to avoid re-compiling by @evenyag in #5919
  • perf: optimize fulltext zh tokenizer for ascii-only text by @zhongzc in #5975

🧪 Testing

⚙️ Miscellaneous Tasks

Build

New Contributors

All Contributors

We would like to thank the following contributors from the GreptimeDB community:

@AntiTopQuark, @CookiePieWw, @MichaelScofield, @Pikady, @SNC123, @Wenbin1002, @WenyXu, @ZonaHex, @daviderli614, @discord9, @evenyag, @fengjiachun, @fengys1996, @killme2008, @linyihai, @paomian, @shuiyisong, @sunng87, @v0y4g3r, @waynexia, @xiaoniaoyouhuajiang, @yihong0618, @zhongzc, @zyy17