資料與儲存 2026 年 5 月 9 日

2026-05-09 — ClickHouse 26.4 COUNT DISTINCT 15x 加速、DuckCon #7 阿姆斯特丹議程

primary=https://clickhouse.com/blog/clickhouse-release-26-04 primary=https://duckdb.org/2026/05/08/announcing-duckcon7.html

ClickHouse 26.4 發布:COUNT DISTINCT 提速 15 倍、SQL 標準相容性大幅擴充

ClickHouse Blog · 2026-05-08

ClickHouse 26.4 於 2026 年 5 月 8 日發布,帶來 39 項新特性、45 項效能最佳化與 238 個 bug fix。本版本的兩個主軸是 SQL 標準相容性提升與高核心數機器上的 COUNT DISTINCT 加速,後者在部分場景達到 3–15 倍加速比。

效能改進

COUNT DISTINCT 加速依賴 uniqExact 函式的執行期改寫。原有實作在高核心數機器上會生成大量短命執行緒,每次統計都承擔執行緒初始化成本;新實作透過減少執行緒生成次數並改為單次 hash table 合併,在 64 核以上機器上的加速效果最為顯著,實測最高達 15 倍。

文字索引(Text Index)對 LIKE 查詢的加速同樣值得注意:對使用 splitByNonAlpha tokenizer 的 inverted index,LIKE/ILIKE 模式現在可透過字典掃描而非全欄掃描執行,減少約 3 倍的資料處理量

SQL 標準相容性

  • VALUES 作為 Table Expression:允許在 FROM 子句直接使用 VALUES((1,'Alice'),(2,'Bob')) AS t(id, name),支援欄位命名,與 PostgreSQL/DuckDB 語法一致
  • EXTRACT 擴充:新增 PostgreSQL 相容的時間單位,包含 EPOCHDOWCENTURYMILLENNIUM
  • SET TIME ZONE:標準 SQL 語法支援時區設定,補充既有的 ClickHouse 設定方式
  • NATURAL JOIN:依同名欄位自動等值連接,無需明確指定 ON 條件
  • 複合 INTERVAL 字面量:如 INTERVAL '1 year 2 months 3 days' 的標準寫法

EXPLAIN 與 JSON 改進

EXPLAIN PLAN pretty=1 現在以人類可讀格式輸出運算式,並顯示頂層輸出欄位與 JOIN 的 locality 資訊,使查詢計畫分析更直觀。JSONAllValues 函式新增支援,可從 JSON 欄位提取所有 leaf 值,搭配文字索引後可將 JSON 子欄位過濾的掃描量減少約 5 倍。

原始來源:ClickHouse Blog


DuckCon #7 阿姆斯特丹議程公布:Delta Lake 整合、Arrow Flight 與核心優化主題

DuckDB News · 2026-05-08

DuckDB 社群年度聚會 DuckCon #7 將於 2026 年在阿姆斯特丹舉行,官方於 5 月 8 日公布正式議程。本屆聚焦三個技術主軸:Delta Lake 生態系整合的現狀、Arrow Flight 協定支援,以及查詢執行核心的優化進展

Delta Lake 整合進展

DuckDB 的 Delta 擴充(delta extension)自去年移除實驗標籤後已進入穩定通道,DuckCon #7 將有多個議程深入探討目前的整合狀態:包含 Delta Log 的解析機制、Deletion Vector 支援,以及與 Unity Catalog 的 federation 查詢。Delta 擴充現在可在 DuckDB 內直接讀取 Delta Lake 表格,無需額外的 Spark 或 PySpark 環境。

Arrow Flight 與互通性

Arrow Flight 是 Apache Arrow 定義的高效能資料傳輸協定,以 gRPC 為傳輸層、Arrow IPC 為資料格式。DuckCon 議程包含 DuckDB 作為 Flight 客戶端與伺服器端的雙向整合演示——這意味著 DuckDB 查詢結果可以 Arrow 格式高速串流至 Polars、Ray、cuDF 等下游框架,不需要 CSV/Parquet 的中間序列化步驟。

核心優化

議程同時包含 DuckDB 核心開發團隊對查詢執行引擎的最新優化報告,預計涵蓋向量化執行(vectorized execution)的改進、SIMD 指令集的應用,以及在 Arm/Apple Silicon 平台上的效能調整。DuckDB 0.10 以來的記憶體管理重構也是預告的主題之一,針對大型 join 與 group-by 操作的記憶體溢出策略。

原始來源:DuckDB News


End of article
0
Would love your thoughts, please comment.x
()
x