ClickHouse Cloud 多階段分散式查詢執行:大型 Join 不再受限於單節點
ClickHouse Blog · 2026-05-27
ClickHouse Cloud 在 2026 年 5 月進入 multi-stage distributed query execution 實驗性私有預覽,以分散式查詢計畫取代原本以協調節點為中心的架構,解決大型 Join、高基數聚合與集群彈性三大瓶頸。
核心架構:Exchange 運算子
查詢計畫被拆分為多個平行 stage,以三種 exchange operator 在 worker 節點間移動中間結果:
- GatherExchange(N-to-1):將各 worker 輸出匯集至協調節點
- ShuffleExchange(M-to-N):依 Join 鍵或 GROUP BY 鍵對列重分區,使匹配列同駐同一 worker
- BroadcastExchange(1-to-N):將小型輸入複製至全部 worker(適合小維度表 Join)
資料移動支援兩種模式:streaming exchange(worker 間直連 TCP)或 persisted exchange(寫入共享 object storage)。
解決的三大問題
Join 擴展性:以往大型 Join 需要每個節點都建立完整的右側 hash table。現在透過 ShuffleExchange 讓匹配列集中在同一 worker,16 GB 的 Join 在 8 節點下每個 worker 只需 ~2 GB 記憶體。
高基數聚合:GROUP BY 鍵的 shuffle 讓最終聚合也可分散執行,不再集中於一個協調節點合併部分聚合結果。
集群彈性:worker 透過 shared object storage 存取表資料,stage 分配可跨任意節點,解除 capacity 與固定 shard 配置的綁定。
TPC-H Scale Factor 100 基準(8 節點)
| 查詢類型 | 加速比 | 備註 |
|---|---|---|
| Scan + Aggregation (Q01) | 7.4× | 接近線性擴展 |
| Join 密集型 (Q04) | 4.2× | — |
| Join 密集型 (Q09) | 3.4× | — |
| Join 密集型 (Q19) | 4.5× | — |
| 全 22 查詢整體 | 2.1× | 117.6s → 54.7s |
| Q02(退步) | 0.6× | 分散模式缺少 runtime filter |
目前功能仍屬實驗性私有預覽,需聯繫 ClickHouse 帳號團隊申請存取。
原始來源:ClickHouse Blog — Multi-stage distributed query execution
Lance 向量湖倉格式與 DuckDB 整合:混合搜尋效能最高快 60 倍
DuckDB Blog · 2026-05-21
DuckDB 社群發布 Lance 擴充套件的試用報告,Lance 是一套針對 AI/ML 工作負載設計的開源湖倉格式,結合檔案格式、表格格式與輕量 catalog 規格,支援向量索引、版本控制與 ACID 語意。
Lance 格式特性
Lance 採用片段式(fragment-based)佈局:資料以小型列式分塊儲存,在保持掃描效能的同時支援高效隨機存取——這是傳統列式系統難以兼顧的目標。
Schema 變更為輕量操作:新增欄位或回填資料只需寫入新檔案,無需修改既有資料。原生支援儲存嵌入(embedding)、圖片、音訊、長文本與純量元資料的多模態資料集。
DuckDB 整合後的 SQL 函數
擴充套件提供三種搜尋模式的 SQL table function:
lance_vector_search():向量相似度搜尋lance_fts():全文本檢索lance_hybrid_search():結合向量與全文的混合搜尋
效能基準(LAION 資料集,69,632 列)
測試資料集包含 CLIP embedding、圖片說明與圖片位元組:
- 向量搜尋(有索引)冷啟動:Lance 12 ms vs Parquet 761 ms(約 63 倍)
- 混合搜尋(暖快取):Lance 8 ms vs Parquet 471 ms(約 59 倍)
- 純掃描查詢:Lance 7–278 ms vs Parquet 12–1,559 ms
架構分工:DuckDB 作為 SQL 查詢引擎,Lance 提供底層儲存、索引與搜尋基礎設施,可從本地檔案無縫擴展至遠端 object storage 或 REST-based catalog。
原始來源:DuckDB Blog — Test-Driving the Lance Lakehouse Format in DuckDB
ClickHouse 推出 Managed PostgreSQL Beta:分析引擎進軍 OLTP 領域
ClickHouse Blog · 2026-05-27
ClickHouse 於 Open House 2026 會議宣布 Postgres managed by ClickHouse 進入公開 Beta,在原本的分析型資料庫之外提供受管理的 PostgreSQL 服務。這是 ClickHouse 在 Open House 2026 會議上公布的眾多產品之一,另包含 CostBench 開源基準、House Mates 合作夥伴計畫等。
定位與意義
目標場景是需要同時運行 OLTP(PostgreSQL)與即時分析(ClickHouse)的團隊,讓兩者在同一供應商基礎設施下運作,簡化資料管道設計:應用程式寫入 Postgres,ClickHouse 直接從中讀取進行分析,不需額外 ETL。
此服務補完了 ClickHouse 的「向 Postgres 靠近」策略:ClickHouse 本身自 26.x 起改善了 Postgres 協定相容性,現在直接提供受管理的 PostgreSQL 實例,進一步降低使用者需要在多個資料庫廠商間協調的複雜度。
Beta 階段具體的定價、SLA 與功能限制尚未公布。有興趣的團隊可透過 ClickHouse Cloud 主控台申請加入。
原始來源:ClickHouse Blog — Postgres managed by ClickHouse is now in beta